summaryrefslogtreecommitdiffstats
path: root/tests/test_sql_upgrade.py
diff options
context:
space:
mode:
authorJustin Shepherd <jshepher@rackspace.com>2012-11-26 17:37:02 +0000
committerAdam Young <ayoung@redhat.com>2012-12-05 17:18:54 -0500
commit0ea864b26e6e2e9be44785af61fd90a9b13b5265 (patch)
treea4d2a532087b2aeb3bf1192e5b920e07a6399cdd /tests/test_sql_upgrade.py
parent38c7e46a640a94da4da89a39a5a1ea9c081f1eb5 (diff)
downloadkeystone-0ea864b26e6e2e9be44785af61fd90a9b13b5265.tar.gz
keystone-0ea864b26e6e2e9be44785af61fd90a9b13b5265.tar.xz
keystone-0ea864b26e6e2e9be44785af61fd90a9b13b5265.zip
Adding downgrade steps for migration scripts.
Also updated test_sql_upgrade to check the actions from 007_add_domain_tables. Fixes: bug #1081167 Change-Id: I194c7de9ae8a3bb8f2f9f37d3a91f4fac2fe2913
Diffstat (limited to 'tests/test_sql_upgrade.py')
-rw-r--r--tests/test_sql_upgrade.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/test_sql_upgrade.py b/tests/test_sql_upgrade.py
index 6ade77f7..fac9986f 100644
--- a/tests/test_sql_upgrade.py
+++ b/tests/test_sql_upgrade.py
@@ -124,6 +124,30 @@ class SqlUpgradeTests(test.TestCase):
self._migrate(self.repo_path, 9)
self._migrate(self.repo_path, 7, False)
+ def test_downgrade_to_0(self):
+ self._migrate(self.repo_path, 9)
+ self._migrate(self.repo_path, 0, False)
+ for table_name in ["user", "token", "role", "user_tenant_membership",
+ "metadata"]:
+ self.assertTableDoesNotExist(table_name)
+
+ def test_upgrade_6_to_7(self):
+ self._migrate(self.repo_path, 6)
+ self.assertEqual(self.schema.version, 6, "DB is at version 6")
+ self.assertTableDoesNotExist('credential')
+ self.assertTableDoesNotExist('domain')
+ self.assertTableDoesNotExist('user_domain_metadata')
+ self._migrate(self.repo_path, 7)
+ self.assertEqual(self.schema.version, 7, "DB is at version 7")
+ self.assertTableExists('credential')
+ self.assertTableColumns('credential', ['id', 'user_id', 'project_id',
+ 'blob', 'type', 'extra'])
+ self.assertTableExists('domain')
+ self.assertTableColumns('domain', ['id', 'name', 'extra'])
+ self.assertTableExists('user_domain_metadata')
+ self.assertTableColumns('user_domain_metadata',
+ ['user_id', 'domain_id', 'data'])
+
def populate_user_table(self):
for user in default_fixtures.USERS:
extra = copy.deepcopy(user)