Beispiel #1
0
    def test_single_permission_checking(self):
        field = BooleanField(permission_classes=(AllowAny(),))
        self.assertTrue(field.check_permission({}))

        field = BooleanField(permission_classes=(AllowNone(),))
        self.assertFalse(field.check_permission({}))

        field = BooleanField(permission_classes=(IsAuthenticated(),))
        authenticated_user = Namespace(is_authenticated=lambda: True)
        authenticated_request = Namespace(user=authenticated_user)
        self.assertTrue(field.check_permission(authenticated_request))

        unauthenticated_user = Namespace(is_authenticated=lambda: False)
        unauthenticated_request = Namespace(user=unauthenticated_user)
        self.assertFalse(field.check_permission(unauthenticated_request))
    def test_multiple_permission_checking(self):
        """
        Field check_permission should only return true if all of its permissions return true
        """

        field = BooleanField(permission_classes=(AllowAny(), AllowNone()))
        self.assertFalse(field.check_permission({}))

        field = BooleanField(permission_classes=(AllowNone(), AllowAny()))
        self.assertFalse(field.check_permission({}))

        field = BooleanField(permission_classes=(AllowNone(), AllowNone()))
        self.assertFalse(field.check_permission({}))

        field = BooleanField(permission_classes=(AllowAny(), AllowAny()))
        self.assertTrue(field.check_permission({}))
Beispiel #3
0
    def test_multiple_permission_checking(self):
        """
        Field check_permission should only return true if all of its permissions return true
        """

        field = BooleanField(permission_classes=(AllowAny(), AllowNone()))
        self.assertFalse(field.check_permission({}))

        field = BooleanField(permission_classes=(AllowNone(), AllowAny()))
        self.assertFalse(field.check_permission({}))

        field = BooleanField(permission_classes=(AllowNone(), AllowNone()))
        self.assertFalse(field.check_permission({}))

        field = BooleanField(permission_classes=(AllowAny(), AllowAny()))
        self.assertTrue(field.check_permission({}))