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,
