예제 #1
0
    def test_authz_grandchild_multiple_perms_1(self):

        # Build the request
        request = self.build_request("/")

        # Build the response handler
        responses.add(
            responses.GET,
            self.authz_url_pattern,
            json={
                "results": [
                    {"item": "parent.child.grandchild", "permission": "admin", "email": self.user.email},
                    {"item": "parent.child", "permission": "read", "email": self.user.email},
                ]
            },
            status=200,
        )

        # Build the call
        has_authz = authz.has_a_permission(
            request=request,
            email=self.user.email,
            item="parent.child",
            permissions=["admin", "write"],
            check_parents=True,
        )

        # Check it
        self.assertGreaterEqual(len(responses.calls), 1)
        self.assertFalse(has_authz)
예제 #2
0
    def test_authz_mock_(self, mock_has_a_permission):

        # Set the response
        mock_has_a_permission.return_value = True

        # Build the request
        request = self.build_request("/some/page/")

        # Run it
        has_authz = authz.has_a_permission(request, self.user.email, "item", ["admin", "read"], check_parents=True)

        # Check it
        self.assertTrue(has_authz)