예제 #1
0
 def _get_action_alias_db_by_name(self, name):
     values = {
         'name': self.action_alias_name,
         'pack': 'mock',
         'formats': [
             'show last {{count}} metrics for {{server}}',
         ]
     }
     action_alias_db = ActionAliasDB(**values)
     return action_alias_db
예제 #2
0
    def _get_action_alias_db_by_name(self, name):
        if not self.mock_get_action_alias_db_by_name:
            return super(PackActionAliasUnitTestUtils, self)._get_action_alias_db_by_name(name)

        values = {
            'name': self.action_alias_name,
            'pack': 'mock',
            'formats': [
                'show last {{count}} metrics for {{server}}',
            ]
        }
        action_alias_db = ActionAliasDB(**values)
        return action_alias_db
예제 #3
0
    def _get_action_alias_db_by_name(self, name):
        if not self.mock_get_action_alias_db_by_name:
            return super(PackActionAliasUnitTestUtils,
                         self)._get_action_alias_db_by_name(name)

        values = {
            "name": self.action_alias_name,
            "pack": "mock",
            "formats": [
                "show last {{count}} metrics for {{server}}",
            ],
        }
        action_alias_db = ActionAliasDB(**values)
        return action_alias_db
    def setUp(self):
        super(ActionAliasPermissionsResolverTestCase, self).setUp()

        # Create some mock users
        user_1_db = UserDB(name='alias_pack_grant')
        user_1_db = User.add_or_update(user_1_db)
        self.users['alias_pack_grant'] = user_1_db

        user_2_db = UserDB(name='alias_grant')
        user_2_db = User.add_or_update(user_2_db)
        self.users['alias_grant'] = user_2_db

        user_3_db = UserDB(name='pack_alias_all_grant')
        user_3_db = User.add_or_update(user_3_db)
        self.users['pack_alias_all_grant'] = user_3_db

        user_4_db = UserDB(name='alias_all_grant')
        user_4_db = User.add_or_update(user_4_db)
        self.users['alias_all_grant'] = user_4_db

        user_5_db = UserDB(name='alias_modify_grant')
        user_5_db = User.add_or_update(user_5_db)
        self.users['alias_modify_grant'] = user_5_db

        user_6_db = UserDB(name='alias_pack_alias_create_grant')
        user_6_db = User.add_or_update(user_6_db)
        self.users['alias_pack_alias_create_grant'] = user_6_db

        user_7_db = UserDB(name='alias_pack_alias_all_grant')
        user_7_db = User.add_or_update(user_7_db)
        self.users['alias_pack_alias_all_grant'] = user_7_db

        user_8_db = UserDB(name='alias_alias_create_grant')
        user_8_db = User.add_or_update(user_8_db)
        self.users['alias_alias_create_grant'] = user_8_db

        user_10_db = UserDB(name='alias_list_grant')
        user_10_db = User.add_or_update(user_10_db)
        self.users['alias_list_grant'] = user_10_db

        # Create some mock resources on which permissions can be granted
        alias_1_db = ActionAliasDB(pack='test_pack_1', name='alias1', formats=['a'],
                                   action_ref='core.local')
        self.resources['alias_1'] = alias_1_db

        alias_2_db = ActionAliasDB(pack='test_pack_1', name='alias2', formats=['a'],
                                   action_ref='core.local')
        self.resources['alias_2'] = alias_2_db

        alias_3_db = ActionAliasDB(pack='test_pack_2', name='alias3', formats=['a'],
                                   action_ref='core.local')
        self.resources['alias_3'] = alias_3_db

        # Create some mock roles with associated permission grants
        # One grant on parent pack, action_alias_view on pack1
        grant_db = PermissionGrantDB(resource_uid=self.resources['pack_1'].get_uid(),
                                     resource_type=ResourceType.PACK,
                                     permission_types=[PermissionType.ACTION_ALIAS_VIEW])
        grant_db = PermissionGrant.add_or_update(grant_db)
        permission_grants = [str(grant_db.id)]
        role_3_db = RoleDB(name='alias_pack_grant',
                           permission_grants=permission_grants)
        role_3_db = Role.add_or_update(role_3_db)
        self.roles['alias_pack_grant'] = role_3_db

        # "action_alias_view" on alias_3
        grant_db = PermissionGrantDB(resource_uid=self.resources['alias_3'].get_uid(),
                                     resource_type=ResourceType.ACTION_ALIAS,
                                     permission_types=[PermissionType.ACTION_ALIAS_VIEW])
        grant_db = PermissionGrant.add_or_update(grant_db)
        permission_grants = [str(grant_db.id)]
        role_4_db = RoleDB(name='alias_grant', permission_grants=permission_grants)
        role_4_db = Role.add_or_update(role_4_db)
        self.roles['alias_grant'] = role_4_db

        # Custom role - "action_alias_all" grant on a parent pack
        grant_db = PermissionGrantDB(resource_uid=self.resources['pack_1'].get_uid(),
                                     resource_type=ResourceType.PACK,
                                     permission_types=[PermissionType.ACTION_ALIAS_ALL])
        grant_db = PermissionGrant.add_or_update(grant_db)
        permission_grants = [str(grant_db.id)]
        role_4_db = RoleDB(name='pack_alias_all_grant',
                           permission_grants=permission_grants)
        role_4_db = Role.add_or_update(role_4_db)
        self.roles['pack_alias_all_grant'] = role_4_db

        # Custom role - "action_alias_all" grant on alias
        grant_db = PermissionGrantDB(resource_uid=self.resources['alias_1'].get_uid(),
                                     resource_type=ResourceType.ACTION_ALIAS,
                                     permission_types=[PermissionType.ACTION_ALIAS_ALL])
        grant_db = PermissionGrant.add_or_update(grant_db)
        permission_grants = [str(grant_db.id)]
        role_4_db = RoleDB(name='alias_all_grant', permission_grants=permission_grants)
        role_4_db = Role.add_or_update(role_4_db)
        self.roles['alias_all_grant'] = role_4_db

        # Custom role - "alias_modify" on alias_1
        grant_db = PermissionGrantDB(resource_uid=self.resources['alias_1'].get_uid(),
                                     resource_type=ResourceType.ACTION_ALIAS,
                                     permission_types=[PermissionType.ACTION_ALIAS_MODIFY])
        grant_db = PermissionGrant.add_or_update(grant_db)
        permission_grants = [str(grant_db.id)]
        role_5_db = RoleDB(name='alias_modify_grant',
                           permission_grants=permission_grants)
        role_5_db = Role.add_or_update(role_5_db)
        self.roles['alias_modify_grant'] = role_5_db

        # Custom role - "action_alias_create" grant on pack_1
        grant_db = PermissionGrantDB(resource_uid=self.resources['pack_1'].get_uid(),
                                     resource_type=ResourceType.PACK,
                                     permission_types=[PermissionType.ACTION_ALIAS_CREATE])
        grant_db = PermissionGrant.add_or_update(grant_db)
        permission_grants = [str(grant_db.id)]
        role_6_db = RoleDB(name='alias_pack_alias_create_grant',
                           permission_grants=permission_grants)
        role_6_db = Role.add_or_update(role_6_db)
        self.roles['alias_pack_alias_create_grant'] = role_6_db

        # Custom role - "action_alias_all" grant on pack_1
        grant_db = PermissionGrantDB(resource_uid=self.resources['pack_1'].get_uid(),
                                     resource_type=ResourceType.PACK,
                                     permission_types=[PermissionType.ACTION_ALIAS_ALL])
        grant_db = PermissionGrant.add_or_update(grant_db)
        permission_grants = [str(grant_db.id)]
        role_7_db = RoleDB(name='alias_pack_alias_all_grant',
                           permission_grants=permission_grants)
        role_7_db = Role.add_or_update(role_7_db)
        self.roles['alias_pack_alias_all_grant'] = role_7_db

        # Custom role - "action_alias_create" grant on alias_1
        grant_db = PermissionGrantDB(resource_uid=self.resources['alias_1'].get_uid(),
                                     resource_type=ResourceType.ACTION_ALIAS,
                                     permission_types=[PermissionType.ACTION_ALIAS_CREATE])
        grant_db = PermissionGrant.add_or_update(grant_db)
        permission_grants = [str(grant_db.id)]
        role_8_db = RoleDB(name='alias_alias_create_grant',
                           permission_grants=permission_grants)
        role_8_db = Role.add_or_update(role_8_db)
        self.roles['alias_alias_create_grant'] = role_8_db

        # Custom role - "alias_list" grant
        grant_db = PermissionGrantDB(resource_uid=None,
                                     resource_type=None,
                                     permission_types=[PermissionType.ACTION_ALIAS_LIST])
        grant_db = PermissionGrant.add_or_update(grant_db)
        permission_grants = [str(grant_db.id)]
        role_10_db = RoleDB(name='alias_list_grant',
                           permission_grants=permission_grants)
        role_10_db = Role.add_or_update(role_10_db)
        self.roles['alias_list_grant'] = role_10_db

        # Create some mock role assignments
        user_db = self.users['alias_pack_grant']
        role_assignment_db = UserRoleAssignmentDB(
            user=user_db.name, role=self.roles['alias_pack_grant'].name,
            source='assignments/%s.yaml' % user_db.name)
        UserRoleAssignment.add_or_update(role_assignment_db)

        user_db = self.users['alias_grant']
        role_assignment_db = UserRoleAssignmentDB(
            user=user_db.name, role=self.roles['alias_grant'].name,
            source='assignments/%s.yaml' % user_db.name)
        UserRoleAssignment.add_or_update(role_assignment_db)

        user_db = self.users['pack_alias_all_grant']
        role_assignment_db = UserRoleAssignmentDB(
            user=user_db.name, role=self.roles['pack_alias_all_grant'].name,
            source='assignments/%s.yaml' % user_db.name)
        UserRoleAssignment.add_or_update(role_assignment_db)

        user_db = self.users['alias_all_grant']
        role_assignment_db = UserRoleAssignmentDB(
            user=user_db.name, role=self.roles['alias_all_grant'].name,
            source='assignments/%s.yaml' % user_db.name)
        UserRoleAssignment.add_or_update(role_assignment_db)

        user_db = self.users['alias_modify_grant']
        role_assignment_db = UserRoleAssignmentDB(
            user=user_db.name, role=self.roles['alias_modify_grant'].name,
            source='assignments/%s.yaml' % user_db.name)
        UserRoleAssignment.add_or_update(role_assignment_db)

        user_db = self.users['alias_pack_alias_create_grant']
        role_assignment_db = UserRoleAssignmentDB(
            user=user_db.name, role=self.roles['alias_pack_alias_create_grant'].name,
            source='assignments/%s.yaml' % user_db.name)
        UserRoleAssignment.add_or_update(role_assignment_db)

        user_db = self.users['alias_pack_alias_all_grant']
        role_assignment_db = UserRoleAssignmentDB(
            user=user_db.name, role=self.roles['alias_pack_alias_all_grant'].name,
            source='assignments/%s.yaml' % user_db.name)
        UserRoleAssignment.add_or_update(role_assignment_db)

        user_db = self.users['alias_alias_create_grant']
        role_assignment_db = UserRoleAssignmentDB(
            user=user_db.name, role=self.roles['alias_alias_create_grant'].name,
            source='assignments/%s.yaml' % user_db.name)
        UserRoleAssignment.add_or_update(role_assignment_db)

        user_db = self.users['alias_list_grant']
        role_assignment_db = UserRoleAssignmentDB(
            user=user_db.name, role=self.roles['alias_list_grant'].name,
            source='assignments/%s.yaml' % user_db.name)
        UserRoleAssignment.add_or_update(role_assignment_db)