diff options
Diffstat (limited to 'ironic/tests/db/sqlalchemy/test_migrations.py')
-rw-r--r-- | ironic/tests/db/sqlalchemy/test_migrations.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/ironic/tests/db/sqlalchemy/test_migrations.py b/ironic/tests/db/sqlalchemy/test_migrations.py index 1e70bd2fd..24d8af2ea 100644 --- a/ironic/tests/db/sqlalchemy/test_migrations.py +++ b/ironic/tests/db/sqlalchemy/test_migrations.py @@ -707,3 +707,22 @@ class TestMigrations(BaseMigrationTestCase, WalkVersionsMixin): conductor.insert().execute, {'hostname': None}) # FIXME: add check for postgres + + def _pre_upgrade_013(self, engine): + nodes = db_utils.get_table(engine, 'nodes') + col_names = set(column.name for column in nodes.c) + + self.assertFalse('last_error' in col_names) + return col_names + + def _check_013(self, engine, col_names_pre): + nodes = db_utils.get_table(engine, 'nodes') + col_names = set(column.name for column in nodes.c) + + # didn't lose any columns in the migration + self.assertEqual(col_names_pre, col_names.intersection(col_names_pre)) + + # only added one 'last_error' column + self.assertEqual(len(col_names_pre), len(col_names) - 1) + self.assertTrue(isinstance(nodes.c['last_error'].type, + getattr(sqlalchemy.types, 'Text'))) |