Fix test for new object permission resolution

This commit is contained in:
Kevin Engle 2020-05-18 11:31:00 -07:00 committed by dog
parent d88d06d434
commit 5d463d4444
2 changed files with 5 additions and 6 deletions

View File

@ -77,11 +77,10 @@ class OR:
)
def has_object_permission(self, request, view, obj):
return (
(self.op1.has_permission(request, view) and self.op1.has_object_permission(request, view, obj))
or
(self.op2.has_permission(request, view) and self.op2.has_object_permission(request, view, obj))
)
op1 = self.op1.has_permission(request, view) and self.op1.has_object_permission(request, view, obj)
if op1:
return op1
return self.op2.has_permission(request, view) and self.op2.has_object_permission(request, view, obj)
class NOT:

View File

@ -648,7 +648,7 @@ class PermissionsCompositionTests(TestCase):
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.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)
hasperm = composed_perm().has_object_permission(request, None, None)
assert hasperm is True