mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-28 00:49:49 +03:00
Fix test for new object permission resolution
This commit is contained in:
parent
d88d06d434
commit
5d463d4444
|
@ -77,11 +77,10 @@ class OR:
|
||||||
)
|
)
|
||||||
|
|
||||||
def has_object_permission(self, request, view, obj):
|
def has_object_permission(self, request, view, obj):
|
||||||
return (
|
op1 = self.op1.has_permission(request, view) and self.op1.has_object_permission(request, view, obj)
|
||||||
(self.op1.has_permission(request, view) and self.op1.has_object_permission(request, view, obj))
|
if op1:
|
||||||
or
|
return op1
|
||||||
(self.op2.has_permission(request, view) and self.op2.has_object_permission(request, view, obj))
|
return self.op2.has_permission(request, view) and self.op2.has_object_permission(request, view, obj)
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class NOT:
|
class NOT:
|
||||||
|
|
|
@ -648,7 +648,7 @@ class PermissionsCompositionTests(TestCase):
|
||||||
mock_deny.assert_not_called()
|
mock_deny.assert_not_called()
|
||||||
|
|
||||||
with mock.patch.object(permissions.AllowAny, 'has_object_permission', return_value=True) as mock_allow:
|
with mock.patch.object(permissions.AllowAny, 'has_object_permission', return_value=True) as mock_allow:
|
||||||
with mock.patch.object(permissions.IsAuthenticated, 'has_object_permission', return_value=False) as mock_deny:
|
with mock.patch.object(permissions.IsAuthenticated, 'has_permission', return_value=False) as mock_deny:
|
||||||
composed_perm = (permissions.IsAuthenticated | permissions.AllowAny)
|
composed_perm = (permissions.IsAuthenticated | permissions.AllowAny)
|
||||||
hasperm = composed_perm().has_object_permission(request, None, None)
|
hasperm = composed_perm().has_object_permission(request, None, None)
|
||||||
assert hasperm is True
|
assert hasperm is True
|
||||||
|
|
Loading…
Reference in New Issue
Block a user