class TestAllowUnlistedReviewer(TestCase): fixtures = ['base/users'] # Note: be careful when testing, under the hood we're using a method that # relies on UserProfile.groups_list, which is cached on the UserProfile # instance. def setUp(self): self.permission = AllowReviewerUnlisted() self.request = RequestFactory().get('/') def test_user_cannot_be_anonymous(self): self.request.user = AnonymousUser() obj = Mock() obj.is_listed = False assert not self.permission.has_permission(self.request, myview) assert not self.permission.has_object_permission( self.request, myview, obj) def test_authenticated_but_not_reviewer(self): self.request.user = UserProfile.objects.get(pk=999) obj = Mock() obj.is_listed = False assert not self.permission.has_permission(self.request, myview) assert not self.permission.has_object_permission( self.request, myview, obj) def test_admin(self): self.request.user = UserProfile.objects.get(email='*****@*****.**') obj = Mock() obj.is_listed = False assert self.permission.has_permission(self.request, myview) assert self.permission.has_object_permission(self.request, myview, obj) def test_unlisted_reviewer(self): self.request.user = UserProfile.objects.get( email='*****@*****.**') obj = Mock() obj.is_listed = False assert self.permission.has_permission(self.request, myview) assert self.permission.has_object_permission(self.request, myview, obj)
class TestAllowUnlistedReviewer(TestCase): # Note: be careful when testing, under the hood we're using a method that # relies on UserProfile.groups_list, which is cached on the UserProfile # instance. def setUp(self): self.permission = AllowReviewerUnlisted() self.request = RequestFactory().post('/') def test_user_cannot_be_anonymous(self): self.request.user = AnonymousUser() obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: True assert not self.permission.has_permission(self.request, myview) assert not self.permission.has_object_permission( self.request, myview, obj) def test_authenticated_but_not_reviewer(self): self.request.user = user_factory() obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: True assert not self.permission.has_permission(self.request, myview) assert not self.permission.has_object_permission( self.request, myview, obj) def test_admin(self): self.request.user = user_factory() self.grant_permission(self.request.user, '*:*') obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: True assert self.permission.has_permission(self.request, myview) assert self.permission.has_object_permission(self.request, myview, obj) def test_regular_reviewer(self): self.request.user = user_factory() self.grant_permission(self.request.user, 'Addons:Review') obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: True assert not self.permission.has_permission(self.request, myview) assert not self.permission.has_object_permission( self.request, myview, obj) def test_unlisted_reviewer(self): self.request.user = user_factory() self.grant_permission(self.request.user, 'Addons:ReviewUnlisted') obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: True assert self.permission.has_permission(self.request, myview) assert self.permission.has_object_permission(self.request, myview, obj) def test_object_with_listed_versions_but_no_unlisted_versions(self): self.request.user = user_factory() self.grant_permission(self.request.user, 'Addons:ReviewUnlisted') obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: False obj.has_listed_versions = lambda: True assert self.permission.has_permission(self.request, myview) assert not self.permission.has_object_permission( self.request, myview, obj) def test_object_with_no_unlisted_versions_and_no_listed_versions(self): self.request.user = user_factory() self.grant_permission(self.request.user, 'Addons:ReviewUnlisted') obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: False obj.has_listed_versions = lambda: False assert self.permission.has_permission(self.request, myview) assert self.permission.has_object_permission(self.request, myview, obj)
class TestAllowUnlistedReviewer(TestCase): # Note: be careful when testing, under the hood we're using a method that # relies on UserProfile.groups_list, which is cached on the UserProfile # instance. def setUp(self): self.permission = AllowReviewerUnlisted() self.request = RequestFactory().post('/') def test_user_cannot_be_anonymous(self): self.request.user = AnonymousUser() obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: True assert not self.permission.has_permission(self.request, myview) assert not self.permission.has_object_permission( self.request, myview, obj) def test_authenticated_but_not_reviewer(self): self.request.user = user_factory() obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: True assert not self.permission.has_permission(self.request, myview) assert not self.permission.has_object_permission( self.request, myview, obj) def test_admin(self): self.request.user = user_factory() self.grant_permission(self.request.user, '*:*') obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: True assert self.permission.has_permission(self.request, myview) assert self.permission.has_object_permission(self.request, myview, obj) def test_regular_reviewer(self): self.request.user = user_factory() self.grant_permission(self.request.user, 'Addons:Review') obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: True assert not self.permission.has_permission(self.request, myview) assert not self.permission.has_object_permission( self.request, myview, obj) def test_unlisted_reviewer(self): self.request.user = user_factory() self.grant_permission(self.request.user, 'Addons:ReviewUnlisted') obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: True assert self.permission.has_permission(self.request, myview) assert self.permission.has_object_permission(self.request, myview, obj) def test_object_with_listed_versions_but_no_unlisted_versions(self): self.request.user = user_factory() self.grant_permission(self.request.user, 'Addons:ReviewUnlisted') obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: False obj.has_listed_versions = lambda: True assert self.permission.has_permission(self.request, myview) assert not self.permission.has_object_permission( self.request, myview, obj) def test_object_with_no_unlisted_versions_and_no_listed_versions(self): self.request.user = user_factory() self.grant_permission(self.request.user, 'Addons:ReviewUnlisted') obj = Mock(spec=[]) obj.has_unlisted_versions = lambda: False obj.has_listed_versions = lambda: False assert self.permission.has_permission(self.request, myview) assert self.permission.has_object_permission( self.request, myview, obj)