diff options
| author | termie <github@anarkystic.com> | 2012-01-06 17:03:19 -0800 |
|---|---|---|
| committer | termie <github@anarkystic.com> | 2012-01-09 10:00:09 -0800 |
| commit | c8ed28c7d302b4e0db2e36161e4ed74102964996 (patch) | |
| tree | b9eae5791b11d35f2e366a11fabacad40dd50e88 | |
| parent | 6495d41ac2bf3548c4d3a9bea40d7ecd3ee8ac1c (diff) | |
| download | keystone-c8ed28c7d302b4e0db2e36161e4ed74102964996.tar.gz keystone-c8ed28c7d302b4e0db2e36161e4ed74102964996.tar.xz keystone-c8ed28c7d302b4e0db2e36161e4ed74102964996.zip | |
missed a file
| -rw-r--r-- | keystonelight/backends/sql/core.py | 2 | ||||
| -rw-r--r-- | tests/test_backend.py | 91 | ||||
| -rw-r--r-- | tests/test_backend_kvs.py | 4 | ||||
| -rw-r--r-- | tests/test_backend_sql.py | 4 |
4 files changed, 97 insertions, 4 deletions
diff --git a/keystonelight/backends/sql/core.py b/keystonelight/backends/sql/core.py index 6bd9bcec..a71d60ef 100644 --- a/keystonelight/backends/sql/core.py +++ b/keystonelight/backends/sql/core.py @@ -187,6 +187,8 @@ class SqlIdentity(SqlBase): extras_ref = None if not user_ref or user_ref.get('password') != password: raise AssertionError('Invalid user / password') + + tenants = self.get_tenants_for_user(user_id) if tenant_id and tenant_id not in user_ref['tenants']: raise AssertionError('Invalid tenant') diff --git a/tests/test_backend.py b/tests/test_backend.py new file mode 100644 index 00000000..31c37a2f --- /dev/null +++ b/tests/test_backend.py @@ -0,0 +1,91 @@ +class IdentityTests(object): + def test_authenticate_bad_user(self): + self.assertRaises(AssertionError, + self.identity_api.authenticate, + user_id=self.user_foo['id'] + 'WRONG', + tenant_id=self.tenant_bar['id'], + password=self.user_foo['password']) + + def test_authenticate_bad_password(self): + self.assertRaises(AssertionError, + self.identity_api.authenticate, + user_id=self.user_foo['id'], + tenant_id=self.tenant_bar['id'], + password=self.user_foo['password'] + 'WRONG') + + def test_authenticate_invalid_tenant(self): + self.assertRaises(AssertionError, + self.identity_api.authenticate, + user_id=self.user_foo['id'], + tenant_id=self.tenant_bar['id'] + 'WRONG', + password=self.user_foo['password']) + + def test_authenticate_no_tenant(self): + user_ref, tenant_ref, extras_ref = self.identity_api.authenticate( + user_id=self.user_foo['id'], + password=self.user_foo['password']) + self.assertDictEquals(user_ref, self.user_foo) + self.assert_(tenant_ref is None) + self.assert_(not extras_ref) + + def test_authenticate(self): + user_ref, tenant_ref, extras_ref = self.identity_api.authenticate( + user_id=self.user_foo['id'], + tenant_id=self.tenant_bar['id'], + password=self.user_foo['password']) + self.assertDictEquals(user_ref, self.user_foo) + self.assertDictEquals(tenant_ref, self.tenant_bar) + self.assertDictEquals(extras_ref, self.extras_foobar) + + def test_get_tenant_bad_tenant(self): + tenant_ref = self.identity_api.get_tenant( + tenant_id=self.tenant_bar['id'] + 'WRONG') + self.assert_(tenant_ref is None) + + def test_get_tenant(self): + tenant_ref = self.identity_api.get_tenant(tenant_id=self.tenant_bar['id']) + self.assertDictEquals(tenant_ref, self.tenant_bar) + + def test_get_tenant_by_name_bad_tenant(self): + tenant_ref = self.identity_api.get_tenant( + tenant_id=self.tenant_bar['name'] + 'WRONG') + self.assert_(tenant_ref is None) + + def test_get_tenant_by_name(self): + tenant_ref = self.identity_api.get_tenant_by_name( + tenant_name=self.tenant_bar['name']) + self.assertDictEquals(tenant_ref, self.tenant_bar) + + def test_get_user_bad_user(self): + user_ref = self.identity_api.get_user( + user_id=self.user_foo['id'] + 'WRONG') + self.assert_(user_ref is None) + + def test_get_user(self): + user_ref = self.identity_api.get_user(user_id=self.user_foo['id']) + self.assertDictEquals(user_ref, self.user_foo) + + def test_get_extras_bad_user(self): + extras_ref = self.identity_api.get_extras( + user_id=self.user_foo['id'] + 'WRONG', + tenant_id=self.tenant_bar['id']) + self.assert_(extras_ref is None) + + def test_get_extras_bad_tenant(self): + extras_ref = self.identity_api.get_extras( + user_id=self.user_foo['id'], + tenant_id=self.tenant_bar['id'] + 'WRONG') + self.assert_(extras_ref is None) + + def test_get_extras(self): + extras_ref = self.identity_api.get_extras( + user_id=self.user_foo['id'], + tenant_id=self.tenant_bar['id']) + self.assertDictEquals(extras_ref, self.extras_foobar) + + def test_get_role(self): + role_ref = self.identity_api.get_role( + role_id=self.role_keystone_admin['id']) + self.assertDictEquals(role_ref, self.role_keystone_admin) + + diff --git a/tests/test_backend_kvs.py b/tests/test_backend_kvs.py index 089d0885..ca367c47 100644 --- a/tests/test_backend_kvs.py +++ b/tests/test_backend_kvs.py @@ -4,11 +4,11 @@ from keystonelight import models from keystonelight import test from keystonelight.backends import kvs -import test_backends +import test_backend import default_fixtures -class KvsIdentity(test.TestCase, test_backends.IdentityTests): +class KvsIdentity(test.TestCase, test_backend.IdentityTests): def setUp(self): super(KvsIdentity, self).setUp() self.options = self.appconfig('default') diff --git a/tests/test_backend_sql.py b/tests/test_backend_sql.py index 1f64d898..bee4ec33 100644 --- a/tests/test_backend_sql.py +++ b/tests/test_backend_sql.py @@ -6,11 +6,11 @@ from keystonelight import test from keystonelight.backends import sql from keystonelight.backends.sql import migration -import test_backends +import test_backend import default_fixtures -class SqlIdentity(test.TestCase, test_backends.IdentityTests): +class SqlIdentity(test.TestCase, test_backend.IdentityTests): def setUp(self): super(SqlIdentity, self).setUp() self.options = self.appconfig('default') |
