Esempio n. 1
0
    def test_get_all_permission_grants_for_user(self):
        user_db = self.users['1_custom_role']
        role_db = self.roles['custom_role_1']
        permission_grants = rbac_services.get_all_permission_grants_for_user(
            user_db=user_db)
        self.assertItemsEqual(permission_grants, [])

        # Grant some permissions
        resource_db = self.resources['rule_1']
        permission_types = [
            PermissionType.RULE_CREATE, PermissionType.RULE_MODIFY
        ]

        permission_grant = rbac_services.create_permission_grant_for_resource_db(
            role_db=role_db,
            resource_db=resource_db,
            permission_types=permission_types)

        # Retrieve all grants
        permission_grants = rbac_services.get_all_permission_grants_for_user(
            user_db=user_db)
        self.assertItemsEqual(permission_grants, [permission_grant])

        # Retrieve all grants, filter on resource with no grants
        permission_grants = rbac_services.get_all_permission_grants_for_user(
            user_db=user_db, resource_types=[ResourceType.PACK])
        self.assertItemsEqual(permission_grants, [])

        # Retrieve all grants, filter on resource with grants
        permission_grants = rbac_services.get_all_permission_grants_for_user(
            user_db=user_db, resource_types=[ResourceType.RULE])
        self.assertItemsEqual(permission_grants, [permission_grant])
Esempio n. 2
0
    def test_get_all_permission_grants_for_user(self):
        user_db = self.users['1_custom_role']
        role_db = self.roles['custom_role_1']
        permission_grants = rbac_services.get_all_permission_grants_for_user(user_db=user_db)
        self.assertItemsEqual(permission_grants, [])

        # Grant some permissions
        resource_db = self.resources['rule_1']
        permission_types = [PermissionType.RULE_CREATE, PermissionType.RULE_MODIFY]

        permission_grant = rbac_services.create_permission_grant_for_resource_db(
            role_db=role_db,
            resource_db=resource_db,
            permission_types=permission_types)

        # Retrieve all grants
        permission_grants = rbac_services.get_all_permission_grants_for_user(user_db=user_db)
        self.assertItemsEqual(permission_grants, [permission_grant])

        # Retrieve all grants, filter on resource with no grants
        permission_grants = rbac_services.get_all_permission_grants_for_user(user_db=user_db,
            resource_types=[ResourceType.PACK])
        self.assertItemsEqual(permission_grants, [])

        # Retrieve all grants, filter on resource with grants
        permission_grants = rbac_services.get_all_permission_grants_for_user(user_db=user_db,
            resource_types=[ResourceType.RULE])
        self.assertItemsEqual(permission_grants, [permission_grant])
Esempio n. 3
0
    def test_create_and_remove_permission_grant(self):
        role_db = self.roles['custom_role_2']
        resource_db = self.resources['rule_1']

        # Grant "ALL" permission to the resource
        permission_types = [PermissionType.RULE_ALL]
        rbac_services.create_permission_grant_for_resource_db(role_db=role_db,
                                                              resource_db=resource_db,
                                                              permission_types=permission_types)

        role_db.reload()
        self.assertItemsEqual(role_db.permission_grants, role_db.permission_grants)

        # Remove the previously granted permission
        rbac_services.remove_permission_grant_for_resource_db(role_db=role_db,
                                                              resource_db=resource_db,
                                                              permission_types=permission_types)

        role_db.reload()
        self.assertItemsEqual(role_db.permission_grants, [])
Esempio n. 4
0
    def test_create_and_remove_permission_grant(self):
        role_db = self.roles['custom_role_2']
        resource_db = self.resources['rule_1']

        # Grant "ALL" permission to the resource
        permission_types = [PermissionType.RULE_ALL]
        rbac_services.create_permission_grant_for_resource_db(role_db=role_db,
                                                              resource_db=resource_db,
                                                              permission_types=permission_types)

        role_db.reload()
        self.assertItemsEqual(role_db.permission_grants, role_db.permission_grants)

        # Remove the previously granted permission
        rbac_services.remove_permission_grant_for_resource_db(role_db=role_db,
                                                              resource_db=resource_db,
                                                              permission_types=permission_types)

        role_db.reload()
        self.assertItemsEqual(role_db.permission_grants, [])