def setUp(self): self.permission = AllowReadOnlyIfReviewedAndListed() self.request_factory = RequestFactory() self.unsafe_methods = ('patch', 'post', 'put', 'delete') self.safe_methods = ('get', 'options', 'head')
class TestAllowReadOnlyIfReviewedAndListed(TestCase): def setUp(self): self.permission = AllowReadOnlyIfReviewedAndListed() self.request_factory = RequestFactory() self.unsafe_methods = ('patch', 'post', 'put', 'delete') self.safe_methods = ('get', 'options', 'head') def request(self, verb): request = getattr(self.request_factory, verb)('/') request.user = AnonymousUser() return request def test_has_permission(self): for verb in self.safe_methods: assert self.permission.has_permission(self.request(verb), myview) for verb in self.unsafe_methods: assert not self.permission.has_permission(self.request(verb), myview) def test_has_object_permission_reviewed(self): obj = Mock() obj.is_reviewed.return_value = True obj.is_listed = True obj.disabled_by_user = False for verb in self.safe_methods: assert self.permission.has_object_permission( self.request(verb), myview, obj) for verb in self.unsafe_methods: assert not self.permission.has_object_permission( self.request(verb), myview, obj) def test_has_object_permission_reviewed_but_disabled_by_user(self): obj = Mock() obj.is_reviewed.return_value = True obj.is_listed = False obj.disabled_by_user = True for verb in self.unsafe_methods + self.safe_methods: assert not self.permission.has_object_permission( self.request(verb), myview, obj) def test_has_object_permission_not_reviewed(self): obj = Mock() obj.is_reviewed.return_value = False obj.is_listed = True obj.disabled_by_user = False for verb in self.unsafe_methods + self.safe_methods: assert not self.permission.has_object_permission( self.request(verb), myview, obj) def test_has_object_permission_not_listed(self): obj = Mock() obj.is_reviewed.return_value = True obj.is_listed = False obj.disabled_by_user = False for verb in self.unsafe_methods + self.safe_methods: assert not self.permission.has_object_permission( self.request(verb), myview, obj) def test_has_object_permission_not_listed_nor_reviewed(self): obj = Mock() obj.is_reviewed.return_value = False obj.is_listed = False obj.disabled_by_user = False for verb in self.unsafe_methods + self.safe_methods: assert not self.permission.has_object_permission( self.request(verb), myview, obj)
class TestAllowReadOnlyIfReviewedAndListed(TestCase): def setUp(self): self.permission = AllowReadOnlyIfReviewedAndListed() self.request_factory = RequestFactory() self.unsafe_methods = ('patch', 'post', 'put', 'delete') self.safe_methods = ('get', 'options', 'head') def request(self, verb): request = getattr(self.request_factory, verb)('/') request.user = AnonymousUser() return request def test_has_permission(self): for verb in self.safe_methods: assert self.permission.has_permission(self.request(verb), myview) for verb in self.unsafe_methods: assert not self.permission.has_permission( self.request(verb), myview) def test_has_object_permission_reviewed(self): obj = Mock() obj.is_reviewed.return_value = True obj.is_listed = True obj.disabled_by_user = False for verb in self.safe_methods: assert self.permission.has_object_permission( self.request(verb), myview, obj) for verb in self.unsafe_methods: assert not self.permission.has_object_permission( self.request(verb), myview, obj) def test_has_object_permission_reviewed_but_disabled_by_user(self): obj = Mock() obj.is_reviewed.return_value = True obj.is_listed = False obj.disabled_by_user = True for verb in self.unsafe_methods + self.safe_methods: assert not self.permission.has_object_permission( self.request(verb), myview, obj) def test_has_object_permission_not_reviewed(self): obj = Mock() obj.is_reviewed.return_value = False obj.is_listed = True obj.disabled_by_user = False for verb in self.unsafe_methods + self.safe_methods: assert not self.permission.has_object_permission( self.request(verb), myview, obj) def test_has_object_permission_not_listed(self): obj = Mock() obj.is_reviewed.return_value = True obj.is_listed = False obj.disabled_by_user = False for verb in self.unsafe_methods + self.safe_methods: assert not self.permission.has_object_permission( self.request(verb), myview, obj) def test_has_object_permission_not_listed_nor_reviewed(self): obj = Mock() obj.is_reviewed.return_value = False obj.is_listed = False obj.disabled_by_user = False for verb in self.unsafe_methods + self.safe_methods: assert not self.permission.has_object_permission( self.request(verb), myview, obj)