Merge "Test case for openstack_groups"
diff --git a/keystone_tempest_plugin/tests/scenario/test_federated_authentication.py b/keystone_tempest_plugin/tests/scenario/test_federated_authentication.py
index 068b67a..bb06748 100644
--- a/keystone_tempest_plugin/tests/scenario/test_federated_authentication.py
+++ b/keystone_tempest_plugin/tests/scenario/test_federated_authentication.py
@@ -222,6 +222,26 @@
     def setUp(self):
         super(TestK2KFederatedAuthentication, self).setUp()
         self._setup_sp()
+        user_id = self.keystone_manager.identity_providers_client.user_id
+        idp_info = self.idps_client.show_identity_provider(self.idp_id)
+        domain_id = idp_info['identity_provider']['domain_id']
+        project_id = self.keystone_manager.identity_providers_client.tenant_id
+        group = self.keystone_manager.groups_client.create_group(
+            name=data_utils.rand_uuid_hex(), domain_id=domain_id)
+        role = self.keystone_manager.roles_v3_client.create_role(
+            name=data_utils.rand_uuid_hex(), project_id=project_id)
+
+        self.keystone_manager.roles_v3_client.create_group_role_on_project(
+            group_id=group['group']['id'], project_id=project_id,
+            role_id=role['role']['id'])
+        self.keystone_manager.groups_client.add_group_user(
+            group_id=group['group']['id'], user_id=user_id)
+        self.addCleanup(
+            self.keystone_manager.groups_client.delete_group,
+            group['group']['id'])
+        self.addCleanup(
+            self.keystone_manager.roles_v3_client.delete_role,
+            role['role']['id'])
 
     def _setup_settings(self):
         super(TestK2KFederatedAuthentication, self)._setup_settings()
@@ -239,6 +259,31 @@
         self.sp_url = '%s://%s/Shibboleth.sso/SAML2/ECP' % (url.scheme,
                                                             url.netloc)
 
+    def _setup_mapping(self):
+        self.mapping_id = data_utils.rand_uuid_hex()
+        rules = [{
+            'local': [
+                {
+                    'user': {'name': self.mapping_user_name}
+                },
+                {
+                    'groups': '{1}'
+                }
+            ],
+            'remote': [
+                {
+                    'type': self.mapping_remote_type
+                },
+                {
+                    "type": 'openstack_groups'
+                }
+            ]
+        }]
+        mapping_ref = {'rules': rules}
+        self.mappings_client.create_mapping_rule(self.mapping_id, mapping_ref)
+        self.addCleanup(
+            self.mappings_client.delete_mapping_rule, self.mapping_id)
+
     def _setup_sp(self):
         self.sps_client.create_service_provider(self.sp_id,
                                                 sp_url=self.sp_url,