diff options
Diffstat (limited to 'tests/unit/test_database.py')
-rw-r--r-- | tests/unit/test_database.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/unit/test_database.py b/tests/unit/test_database.py index 60f7eea37..3453f9f72 100644 --- a/tests/unit/test_database.py +++ b/tests/unit/test_database.py @@ -106,6 +106,7 @@ class TestMysqlDatabase(DBBaseTestCase): connection.exec_driver_sql(f"drop table {table}") connection.exec_driver_sql("set foreign_key_checks=1") + self.connection.force_migrations = True self.connection._migrate('c57e9e76b812') with self.connection.engine.begin() as connection: connection.exec_driver_sql( @@ -122,6 +123,49 @@ class TestMysqlDatabase(DBBaseTestCase): "select result from zuul_buildset")] self.assertEqual(results, ['SUCCESS', 'MERGE_CONFLICT']) + def test_migration_c7467b642498(self): + with self.connection.engine.begin() as connection: + connection.exec_driver_sql("set foreign_key_checks=0") + for table in connection.exec_driver_sql("show tables"): + table = table[0] + connection.exec_driver_sql(f"drop table {table}") + connection.exec_driver_sql("set foreign_key_checks=1") + + self.connection.force_migrations = True + self.connection._migrate('4647def24b32') + with self.connection.engine.begin() as connection: + connection.exec_driver_sql( + "insert into zuul_buildset (result) values ('SUCCESS')") + connection.exec_driver_sql( + "insert into zuul_buildset (result, first_build_start_time) " + "values ('SUCCESS', '2022-05-01 12:34:56')") + connection.exec_driver_sql( + "insert into zuul_buildset (result, last_build_end_time) " + "values ('SUCCESS', '2022-05-02 12:34:56')") + connection.exec_driver_sql( + "insert into zuul_buildset (result, event_timestamp) " + "values ('SUCCESS', '2022-05-03 12:34:56')") + connection.exec_driver_sql( + "insert into zuul_buildset (result, " + "first_build_start_time, " + "last_build_end_time, " + "event_timestamp)" + "values ('SUCCESS', " + "'2022-05-11 12:34:56', " + "'2022-05-12 12:34:56', " + "'2022-05-13 12:34:56')") + + self.connection._migrate() + with self.connection.engine.begin() as connection: + results = [str(r[0]) for r in connection.exec_driver_sql( + "select updated from zuul_buildset")] + self.assertEqual(results, + ['1970-01-01 00:00:00', + '2022-05-01 12:34:56', + '2022-05-02 12:34:56', + '2022-05-03 12:34:56', + '2022-05-13 12:34:56']) + def test_buildsets(self): tenant = 'tenant1', buildset_uuid = 'deadbeef' |