summaryrefslogtreecommitdiffstats
path: root/keystone-moon/keystone/tests/moon/unit/test_unit_core_tenant.py
diff options
context:
space:
mode:
authorWuKong <rebirthmonkey@gmail.com>2015-06-30 18:47:29 +0200
committerWuKong <rebirthmonkey@gmail.com>2015-06-30 18:47:29 +0200
commitb8c756ecdd7cced1db4300935484e8c83701c82e (patch)
tree87e51107d82b217ede145de9d9d59e2100725bd7 /keystone-moon/keystone/tests/moon/unit/test_unit_core_tenant.py
parentc304c773bae68fb854ed9eab8fb35c4ef17cf136 (diff)
migrate moon code from github to opnfv
Change-Id: Ice53e368fd1114d56a75271aa9f2e598e3eba604 Signed-off-by: WuKong <rebirthmonkey@gmail.com>
Diffstat (limited to 'keystone-moon/keystone/tests/moon/unit/test_unit_core_tenant.py')
-rw-r--r--keystone-moon/keystone/tests/moon/unit/test_unit_core_tenant.py162
1 files changed, 162 insertions, 0 deletions
diff --git a/keystone-moon/keystone/tests/moon/unit/test_unit_core_tenant.py b/keystone-moon/keystone/tests/moon/unit/test_unit_core_tenant.py
new file mode 100644
index 00000000..d9c17bd5
--- /dev/null
+++ b/keystone-moon/keystone/tests/moon/unit/test_unit_core_tenant.py
@@ -0,0 +1,162 @@
+# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors
+# This software is distributed under the terms and conditions of the 'Apache-2.0'
+# license which can be found in the file 'LICENSE' in this package distribution
+# or at 'http://www.apache.org/licenses/LICENSE-2.0'.
+
+"""Unit tests for core tenant."""
+
+import uuid
+from oslo_config import cfg
+from keystone.tests import unit as tests
+from keystone.contrib.moon.core import TenantManager
+from keystone.tests.unit.ksfixtures import database
+from keystone.contrib.moon.exception import *
+from keystone.tests.unit import default_fixtures
+from keystone.contrib.moon.core import LogManager
+
+CONF = cfg.CONF
+
+
+class TestTenantManager(tests.TestCase):
+
+ def setUp(self):
+ self.useFixture(database.Database())
+ super(TestTenantManager, self).setUp()
+ self.load_backends()
+ self.load_fixtures(default_fixtures)
+ self.manager = TenantManager()
+
+ def load_extra_backends(self):
+ return {
+ "moonlog_api": LogManager()
+ }
+
+ def config_overrides(self):
+ super(TestTenantManager, self).config_overrides()
+ self.config_fixture.config(
+ group='moon',
+ tenant_driver='keystone.contrib.moon.backends.sql.TenantConnector')
+
+ def test_add_tenant(self):
+ _uuid = uuid.uuid4().hex
+ new_mapping = {
+ _uuid: {
+ "name": uuid.uuid4().hex,
+ "authz": uuid.uuid4().hex,
+ "admin": uuid.uuid4().hex,
+ }
+ }
+ data = self.manager.set_tenant_dict(
+ tenant_uuid=_uuid,
+ name=new_mapping[_uuid]["name"],
+ authz_extension_uuid=new_mapping[_uuid]["authz"],
+ admin_extension_uuid=new_mapping[_uuid]["admin"]
+ )
+ self.assertEquals(_uuid, data["id"])
+ self.assertEquals(data["name"], new_mapping[_uuid]["name"])
+ self.assertEquals(data["authz"], new_mapping[_uuid]["authz"])
+ self.assertEquals(data["admin"], new_mapping[_uuid]["admin"])
+ data = self.manager.get_tenant_dict()
+ self.assertNotEqual(data, {})
+ data = self.manager.get_tenant_uuid(new_mapping[_uuid]["authz"])
+ self.assertEquals(_uuid, data)
+ data = self.manager.get_tenant_uuid(new_mapping[_uuid]["admin"])
+ self.assertEquals(_uuid, data)
+ data = self.manager.get_admin_extension_uuid(new_mapping[_uuid]["authz"])
+ self.assertEquals(new_mapping[_uuid]["admin"], data)
+
+ def test_tenant_list_empty(self):
+ data = self.manager.get_tenant_dict()
+ self.assertEqual(data, {})
+
+ def test_set_tenant_name(self):
+ _uuid = uuid.uuid4().hex
+ new_mapping = {
+ _uuid: {
+ "name": uuid.uuid4().hex,
+ "authz": uuid.uuid4().hex,
+ "admin": uuid.uuid4().hex,
+ }
+ }
+ data = self.manager.set_tenant_dict(
+ tenant_uuid=_uuid,
+ name=new_mapping[_uuid]["name"],
+ authz_extension_uuid=new_mapping[_uuid]["authz"],
+ admin_extension_uuid=new_mapping[_uuid]["admin"]
+ )
+ self.assertEquals(_uuid, data["id"])
+ self.assertEquals(data["name"], new_mapping[_uuid]["name"])
+ data = self.manager.set_tenant_name(_uuid, "new name")
+ self.assertEquals(_uuid, data["id"])
+ self.assertEquals(data["name"], "new name")
+ data = self.manager.get_tenant_name(_uuid)
+ self.assertEquals(data, "new name")
+
+ def test_delete_tenant(self):
+ _uuid = uuid.uuid4().hex
+ new_mapping = {
+ _uuid: {
+ "name": uuid.uuid4().hex,
+ "authz": uuid.uuid4().hex,
+ "admin": uuid.uuid4().hex,
+ }
+ }
+ data = self.manager.set_tenant_dict(
+ tenant_uuid=_uuid,
+ name=new_mapping[_uuid]["name"],
+ authz_extension_uuid=new_mapping[_uuid]["authz"],
+ admin_extension_uuid=new_mapping[_uuid]["admin"]
+ )
+ self.assertEquals(_uuid, data["id"])
+ self.assertEquals(data["name"], new_mapping[_uuid]["name"])
+ self.assertEquals(data["authz"], new_mapping[_uuid]["authz"])
+ self.assertEquals(data["admin"], new_mapping[_uuid]["admin"])
+ data = self.manager.get_tenant_dict()
+ self.assertNotEqual(data, {})
+ self.manager.delete(new_mapping[_uuid]["authz"])
+ data = self.manager.get_tenant_dict()
+ self.assertEqual(data, {})
+
+ def test_get_extension_uuid(self):
+ _uuid = uuid.uuid4().hex
+ new_mapping = {
+ _uuid: {
+ "name": uuid.uuid4().hex,
+ "authz": uuid.uuid4().hex,
+ "admin": uuid.uuid4().hex,
+ }
+ }
+ data = self.manager.set_tenant_dict(
+ tenant_uuid=_uuid,
+ name=new_mapping[_uuid]["name"],
+ authz_extension_uuid=new_mapping[_uuid]["authz"],
+ admin_extension_uuid=new_mapping[_uuid]["admin"]
+ )
+ self.assertEquals(_uuid, data["id"])
+ data = self.manager.get_extension_uuid(_uuid)
+ self.assertEqual(data, new_mapping[_uuid]["authz"])
+ data = self.manager.get_extension_uuid(_uuid, "admin")
+ self.assertEqual(data, new_mapping[_uuid]["admin"])
+
+ def test_unkown_tenant_uuid(self):
+ self.assertRaises(TenantNotFoundError, self.manager.get_tenant_name, uuid.uuid4().hex)
+ self.assertRaises(TenantNotFoundError, self.manager.set_tenant_name, uuid.uuid4().hex, "new name")
+ self.assertRaises(TenantNotFoundError, self.manager.get_extension_uuid, uuid.uuid4().hex)
+ _uuid = uuid.uuid4().hex
+ new_mapping = {
+ _uuid: {
+ "name": uuid.uuid4().hex,
+ "authz": uuid.uuid4().hex,
+ "admin": uuid.uuid4().hex,
+ }
+ }
+ data = self.manager.set_tenant_dict(
+ tenant_uuid=_uuid,
+ name=new_mapping[_uuid]["name"],
+ authz_extension_uuid=new_mapping[_uuid]["authz"],
+ admin_extension_uuid=""
+ )
+ self.assertEquals(_uuid, data["id"])
+ self.assertRaises(IntraExtensionNotFound, self.manager.get_extension_uuid, _uuid, "admin")
+ self.assertRaises(TenantNotFoundError, self.manager.get_tenant_uuid, uuid.uuid4().hex)
+ # self.assertRaises(AdminIntraExtensionNotFound, self.manager.get_admin_extension_uuid, uuid.uuid4().hex)