summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortermie <github@anarkystic.com>2012-01-06 17:03:19 -0800
committertermie <github@anarkystic.com>2012-01-09 10:00:09 -0800
commitc8ed28c7d302b4e0db2e36161e4ed74102964996 (patch)
treeb9eae5791b11d35f2e366a11fabacad40dd50e88
parent6495d41ac2bf3548c4d3a9bea40d7ecd3ee8ac1c (diff)
downloadkeystone-c8ed28c7d302b4e0db2e36161e4ed74102964996.tar.gz
keystone-c8ed28c7d302b4e0db2e36161e4ed74102964996.tar.xz
keystone-c8ed28c7d302b4e0db2e36161e4ed74102964996.zip
missed a file
-rw-r--r--keystonelight/backends/sql/core.py2
-rw-r--r--tests/test_backend.py91
-rw-r--r--tests/test_backend_kvs.py4
-rw-r--r--tests/test_backend_sql.py4
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')