summaryrefslogtreecommitdiffstats
path: root/tests/test_sql_upgrade.py
diff options
context:
space:
mode:
authorDolph Mathews <dolph.mathews@gmail.com>2012-08-29 02:57:38 -0500
committerDolph Mathews <dolph.mathews@gmail.com>2012-11-19 14:50:26 -0600
commit827fc4c731189352a58390b464ea4efb5141461b (patch)
tree1d04e355ca7091c4a98d8c704c860dc17a68ab7c /tests/test_sql_upgrade.py
parent71692f7805b62329f7367a120700b6ed050b20b4 (diff)
downloadkeystone-827fc4c731189352a58390b464ea4efb5141461b.tar.gz
keystone-827fc4c731189352a58390b464ea4efb5141461b.tar.xz
keystone-827fc4c731189352a58390b464ea4efb5141461b.zip
v3 Policies
- v3 policy (bp rbac-keystone-api) - v3 policy tests (bug 1023935) - v3 policy implementation (bug 1023939) Change-Id: I163fbb67726c295fe9ed09b68cd18d2273345d29
Diffstat (limited to 'tests/test_sql_upgrade.py')
-rw-r--r--tests/test_sql_upgrade.py32
1 files changed, 25 insertions, 7 deletions
diff --git a/tests/test_sql_upgrade.py b/tests/test_sql_upgrade.py
index f314a5bc..9b67fd5f 100644
--- a/tests/test_sql_upgrade.py
+++ b/tests/test_sql_upgrade.py
@@ -50,8 +50,7 @@ class SqlUpgradeTests(test.TestCase):
super(SqlUpgradeTests, self).tearDown()
def test_blank_db_to_start(self):
- self.assertFalse(self.is_user_table_created(),
- "User should not be defined yet")
+ self.assertTableDoesNotExist('user')
def test_start_version_0(self):
version = migration.db_version()
@@ -66,7 +65,7 @@ class SqlUpgradeTests(test.TestCase):
def test_upgrade_0_to_1(self):
self.assertEqual(self.schema.version, 0, "DB is at version 0")
self._migrate(self.repo_path, 1)
- self.assertEqual(self.schema.version, 1, "DB is at version 0")
+ self.assertEqual(self.schema.version, 1, "DB is at version 1")
self.assertTableColumns("user", ["id", "name", "extra"])
self.assertTableColumns("tenant", ["id", "name", "extra"])
self.assertTableColumns("role", ["id", "name"])
@@ -75,6 +74,16 @@ class SqlUpgradeTests(test.TestCase):
self.assertTableColumns("metadata", ["user_id", "tenant_id", "data"])
self.populate_user_table()
+ def test_upgrade_5_to_6(self):
+ self._migrate(self.repo_path, 5)
+ self.assertEqual(self.schema.version, 5)
+ self.assertTableDoesNotExist('policy')
+
+ self._migrate(self.repo_path, 6)
+ self.assertEqual(self.schema.version, 6)
+ self.assertTableExists('policy')
+ self.assertTableColumns('policy', ['id', 'type', 'blob', 'extra'])
+
def populate_user_table(self):
for user in default_fixtures.USERS:
extra = copy.deepcopy(user)
@@ -92,12 +101,21 @@ class SqlUpgradeTests(test.TestCase):
s = sqlalchemy.select([table])
return s
- def is_user_table_created(self):
+ def assertTableExists(self, table_name):
+ """Asserts that a given table exists can be selected by name."""
try:
- self.select_table("user")
- return True
+ self.select_table(table_name)
except sqlalchemy.exc.NoSuchTableError:
- return False
+ raise AssertionError('Table "%s" does not exist' % table_name)
+
+ def assertTableDoesNotExist(self, table_name):
+ """Asserts that a given table exists cannot be selected by name."""
+ try:
+ self.assertTableExists(table_name)
+ except AssertionError:
+ pass
+ else:
+ raise AssertionError('Table "%s" already exists' % table_name)
def _migrate(self, repository, version):
upgrade = True