When deleting a subject, check if the authz/admin intra-extension exists in order... 67/3567/1
authorasteroide <thomas.duval@orange.com>
Tue, 24 Nov 2015 14:01:11 +0000 (15:01 +0100)
committerasteroide <thomas.duval@orange.com>
Tue, 24 Nov 2015 14:01:11 +0000 (15:01 +0100)
Change-Id: Ief26dccc856ab565b3ba610cf6c7a95c20fab297

keystone-moon/keystone/contrib/moon/core.py
moonclient/moonclient/tests/tests_subjects.json

index a227174..0560d46 100644 (file)
@@ -1883,13 +1883,15 @@ class IntraExtensionAuthzManager(IntraExtensionManager):
         super(IntraExtensionAuthzManager, self).del_subject(user_id, intra_extension_id, subject_id)
         tenants_dict = self.tenant_api.get_tenants_dict(self.root_api.get_root_admin_id())
         for tenant_id in tenants_dict:
-            if tenants_dict[tenant_id]["intra_authz_extension_id"] == intra_extension_id:
+            if tenants_dict[tenant_id]["intra_authz_extension_id"] == intra_extension_id and \
+                tenants_dict[tenant_id]["intra_admin_extension_id"]:
                 subject_id = self.driver.get_uuid_from_name(tenants_dict[tenant_id]["intra_admin_extension_id"],
                                                             subject_name,
                                                             self.driver.SUBJECT)
                 self.driver.del_subject(tenants_dict[tenant_id]["intra_admin_extension_id"], subject_id)
                 break
-            if tenants_dict[tenant_id]["intra_admin_extension_id"] == intra_extension_id:
+            if tenants_dict[tenant_id]["intra_admin_extension_id"] == intra_extension_id and \
+                tenants_dict[tenant_id]["intra_authz_extension_id"]:
                 subject_id = self.driver.get_uuid_from_name(tenants_dict[tenant_id]["intra_authz_extension_id"],
                                                             subject_name,
                                                             self.driver.SUBJECT)
@@ -2046,13 +2048,15 @@ class IntraExtensionAdminManager(IntraExtensionManager):
         super(IntraExtensionAdminManager, self).del_subject(user_id, intra_extension_id, subject_id)
         tenants_dict = self.tenant_api.get_tenants_dict(self.root_api.get_root_admin_id())
         for tenant_id in tenants_dict:
-            if tenants_dict[tenant_id]["intra_authz_extension_id"] == intra_extension_id:
+            if tenants_dict[tenant_id]["intra_authz_extension_id"] == intra_extension_id and \
+                tenants_dict[tenant_id]["intra_admin_extension_id"]:
                 subject_id = self.driver.get_uuid_from_name(tenants_dict[tenant_id]["intra_admin_extension_id"],
                                                             subject_name,
                                                             self.driver.SUBJECT)
                 self.driver.del_subject(tenants_dict[tenant_id]["intra_admin_extension_id"], subject_id)
                 break
-            if tenants_dict[tenant_id]["intra_admin_extension_id"] == intra_extension_id:
+            if tenants_dict[tenant_id]["intra_admin_extension_id"] == intra_extension_id and \
+                tenants_dict[tenant_id]["intra_authz_extension_id"]:
                 subject_id = self.driver.get_uuid_from_name(tenants_dict[tenant_id]["intra_authz_extension_id"],
                                                             subject_name,
                                                             self.driver.SUBJECT)
index 7001e22..37d37f4 100644 (file)
@@ -36,7 +36,7 @@
       },
       {
         "name": "set_tenant_authz",
-        "command": "tenant set --authz $uuid_authz alt_demo",
+        "command": "tenant set --authz $uuid_authz $uuid",
         "result": "",
         "description": "Connect the authz intra extension to the tenant alt_demo",
         "command_options": ""
@@ -57,9 +57,9 @@
       },
       {
         "name": "add_subject",
-        "command": "subject add alt_demo",
+        "command": "subject add alt_demo --password nomoresecrete",
         "result": "",
-        "description": "Connect the authz intra extension to the tenant demo",
+        "description": "Add the alt_demo subject",
         "command_options": ""
       },
       {
       },
       {
         "name": "add_subject",
-        "command": "subject add alt_demo",
+        "command": "subject add alt_demo --password nomoresecrete",
         "result": "",
-        "description": "Connect the authz intra extension to the tenant alt_demo",
+        "description": "Add the alt_demo subject",
         "command_options": ""
       },
       {