summaryrefslogtreecommitdiffstats
path: root/tests/test_sql_upgrade.py
diff options
context:
space:
mode:
authorDolph Mathews <dolph.mathews@gmail.com>2013-04-10 10:04:16 -0500
committerDolph Mathews <dolph.mathews@gmail.com>2013-04-11 16:59:59 -0500
commit61629c30ae4bc5326bcf6cc6ffeb516473130097 (patch)
tree26b3e457711f4d3305a4fb1e41d91a8b5791d8f3 /tests/test_sql_upgrade.py
parentcbac77110ee1d7b9abc5a23f973dab27e8b32015 (diff)
downloadkeystone-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.py80
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)