diff options
author | Dolph Mathews <dolph.mathews@gmail.com> | 2013-04-10 10:04:16 -0500 |
---|---|---|
committer | Dolph Mathews <dolph.mathews@gmail.com> | 2013-04-11 16:59:59 -0500 |
commit | 61629c30ae4bc5326bcf6cc6ffeb516473130097 (patch) | |
tree | 26b3e457711f4d3305a4fb1e41d91a8b5791d8f3 /tests/test_sql_upgrade.py | |
parent | cbac77110ee1d7b9abc5a23f973dab27e8b32015 (diff) | |
download | keystone-61629c30ae4bc5326bcf6cc6ffeb516473130097.tar.gz keystone-61629c30ae4bc5326bcf6cc6ffeb516473130097.tar.xz keystone-61629c30ae4bc5326bcf6cc6ffeb516473130097.zip |
Use is_enabled() in folsom->grizzly upgrade (bug 1167421)
Change-Id: Iddc10167c94deacec07cab7ec9316849263fb462
Diffstat (limited to 'tests/test_sql_upgrade.py')
-rw-r--r-- | tests/test_sql_upgrade.py | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/tests/test_sql_upgrade.py b/tests/test_sql_upgrade.py index b3d601f6..e4eab098 100644 --- a/tests/test_sql_upgrade.py +++ b/tests/test_sql_upgrade.py @@ -155,6 +155,86 @@ class SqlUpgradeTests(test.TestCase): session.commit() session.close() + def test_normalized_enabled_states(self): + self.upgrade(8) + + users = { + 'bool_enabled_user': { + 'id': uuid.uuid4().hex, + 'name': uuid.uuid4().hex, + 'password': uuid.uuid4().hex, + 'extra': json.dumps({'enabled': True})}, + 'bool_disabled_user': { + 'id': uuid.uuid4().hex, + 'name': uuid.uuid4().hex, + 'password': uuid.uuid4().hex, + 'extra': json.dumps({'enabled': False})}, + 'str_enabled_user': { + 'id': uuid.uuid4().hex, + 'name': uuid.uuid4().hex, + 'password': uuid.uuid4().hex, + 'extra': json.dumps({'enabled': 'True'})}, + 'str_disabled_user': { + 'id': uuid.uuid4().hex, + 'name': uuid.uuid4().hex, + 'password': uuid.uuid4().hex, + 'extra': json.dumps({'enabled': 'False'})}, + 'int_enabled_user': { + 'id': uuid.uuid4().hex, + 'name': uuid.uuid4().hex, + 'password': uuid.uuid4().hex, + 'extra': json.dumps({'enabled': 1})}, + 'int_disabled_user': { + 'id': uuid.uuid4().hex, + 'name': uuid.uuid4().hex, + 'password': uuid.uuid4().hex, + 'extra': json.dumps({'enabled': 0})}, + 'null_enabled_user': { + 'id': uuid.uuid4().hex, + 'name': uuid.uuid4().hex, + 'password': uuid.uuid4().hex, + 'extra': json.dumps({'enabled': None})}, + 'unset_enabled_user': { + 'id': uuid.uuid4().hex, + 'name': uuid.uuid4().hex, + 'password': uuid.uuid4().hex, + 'extra': json.dumps({})}} + + session = self.Session() + for user in users.values(): + self.insert_dict(session, 'user', user) + session.commit() + session.close() + + self.upgrade(10) + + user_table = sqlalchemy.Table('user', self.metadata, autoload=True) + q = self.Session().query(user_table, 'enabled') + + user = q.filter_by(id=users['bool_enabled_user']['id']).one() + self.assertTrue(user.enabled) + + user = q.filter_by(id=users['bool_disabled_user']['id']).one() + self.assertFalse(user.enabled) + + user = q.filter_by(id=users['str_enabled_user']['id']).one() + self.assertTrue(user.enabled) + + user = q.filter_by(id=users['str_disabled_user']['id']).one() + self.assertFalse(user.enabled) + + user = q.filter_by(id=users['int_enabled_user']['id']).one() + self.assertTrue(user.enabled) + + user = q.filter_by(id=users['int_disabled_user']['id']).one() + self.assertFalse(user.enabled) + + user = q.filter_by(id=users['null_enabled_user']['id']).one() + self.assertTrue(user.enabled) + + user = q.filter_by(id=users['unset_enabled_user']['id']).one() + self.assertTrue(user.enabled) + def test_downgrade_10_to_8(self): self.upgrade(10) self.populate_user_table(with_pass_enab=True) |