Reverse engineer OpenStackHeatStack
[snaps.git] / snaps / openstack / utils / tests / keystone_utils_tests.py
index a46cbd1..cc3a8ad 100644 (file)
 # limitations under the License.
 import uuid
 
-from snaps.openstack.create_project import ProjectSettings
-from snaps.openstack.create_user import UserSettings
+from snaps.config.project import ProjectConfig
+from snaps.config.user import UserConfig
 from snaps.openstack.tests.os_source_file_test import OSComponentTestCase
-from snaps.openstack.utils import keystone_utils
+from snaps.openstack.utils import keystone_utils, neutron_utils
 
 __author__ = 'spisarski'
 
@@ -31,7 +31,8 @@ class KeystoneSmokeTests(OSComponentTestCase):
         """
         Tests to ensure that the proper credentials can connect.
         """
-        keystone = keystone_utils.keystone_client(self.os_creds)
+        keystone = keystone_utils.keystone_client(
+            self.os_creds, self.os_session)
 
         users = keystone.users.list()
         self.assertIsNotNone(users)
@@ -66,14 +67,27 @@ class KeystoneUtilsTests(OSComponentTestCase):
         self.project_name = self.guid + '-projName'
         self.project = None
         self.role = None
-        self.keystone = keystone_utils.keystone_client(self.os_creds)
+        self.keystone = keystone_utils.keystone_client(
+            self.os_creds, self.os_session)
 
     def tearDown(self):
         """
         Cleans the remote OpenStack objects
         """
         if self.project:
-                keystone_utils.delete_project(self.keystone, self.project)
+            neutron = neutron_utils.neutron_client(
+                self.os_creds, self.os_session)
+            default_sec_grp = neutron_utils.get_security_group(
+                neutron, self.keystone, sec_grp_name='default',
+                project_name=self.os_creds.project_name)
+            if default_sec_grp:
+                try:
+                    neutron_utils.delete_security_group(
+                        neutron, default_sec_grp)
+                except:
+                    pass
+
+            keystone_utils.delete_project(self.keystone, self.project)
 
         if self.user:
             keystone_utils.delete_user(self.keystone, self.user)
@@ -81,11 +95,13 @@ class KeystoneUtilsTests(OSComponentTestCase):
         if self.role:
             keystone_utils.delete_role(self.keystone, self.role)
 
+        super(self.__class__, self).__clean__()
+
     def test_create_user_minimal(self):
         """
         Tests the keystone_utils.create_user() function
         """
-        user_settings = UserSettings(
+        user_settings = UserConfig(
             name=self.username,
             password=str(uuid.uuid4()),
             domain_name=self.os_creds.user_domain_name)
@@ -100,7 +116,7 @@ class KeystoneUtilsTests(OSComponentTestCase):
         """
         Tests the keyston_utils.create_project() funtion
         """
-        project_settings = ProjectSettings(
+        project_settings = ProjectConfig(
             name=self.project_name, domain=self.os_creds.project_domain_name)
         self.project = keystone_utils.create_project(self.keystone,
                                                      project_settings)
@@ -113,8 +129,11 @@ class KeystoneUtilsTests(OSComponentTestCase):
 
         domain = keystone_utils.get_domain_by_id(
             self.keystone, project.domain_id)
-        self.assertIsNotNone(domain)
-        self.assertEqual(domain.id, project.domain_id)
+        if self.keystone.version == keystone_utils.V2_VERSION_STR:
+            self.assertIsNone(domain)
+        else:
+            self.assertIsNotNone(domain)
+            self.assertEqual(domain.id, project.domain_id)
 
     def test_get_endpoint_success(self):
         """
@@ -169,13 +188,13 @@ class KeystoneUtilsTests(OSComponentTestCase):
         Tests the keystone_utils function grant_user_role_to_project()
         :return:
         """
-        user_settings = UserSettings(
+        user_settings = UserConfig(
             name=self.username, password=str(uuid.uuid4()),
             domain_name=self.os_creds.user_domain_name)
         self.user = keystone_utils.create_user(self.keystone, user_settings)
         self.assertEqual(self.username, self.user.name)
 
-        project_settings = ProjectSettings(
+        project_settings = ProjectConfig(
             name=self.project_name, domain=self.os_creds.project_domain_name)
         self.project = keystone_utils.create_project(self.keystone,
                                                      project_settings)