summaryrefslogtreecommitdiff
path: root/ironic/tests/db/sqlalchemy/test_migrations.py
diff options
context:
space:
mode:
Diffstat (limited to 'ironic/tests/db/sqlalchemy/test_migrations.py')
-rw-r--r--ironic/tests/db/sqlalchemy/test_migrations.py19
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')))