Skip to content
Snippets Groups Projects

bugfix: Permission issue - AnonymousReadOnly(#98)

Merged Ghost User requested to merge 98-permission-issue into master
3 files
+ 48
47
Compare changes
  • Side-by-side
  • Inline
Files
3
from django.contrib.auth.models import AnonymousUser
from django.test import TestCase, RequestFactory
from django.test import TestCase
from rest_framework.test import APIRequestFactory
from guardian.shortcuts import get_anonymous_user
@@ -7,49 +8,45 @@ from djangoldp.permissions import AnonymousReadOnly
from djangoldp.tests.models import JobOffer
from djangoldp.views import LDPViewSet
import json
class TestAnonymousUserPermissions(TestCase):
def setUp(self):
self.factory = RequestFactory()
self.factory = APIRequestFactory()
self.user = get_anonymous_user()
self.job = JobOffer.objects.create(title="job")
def test_get_request_with_anonymousUser(self):
def test_get_request_for_anonymousUser(self):
request = self.factory.get("/job-offers/")
request.user = self.user
my_view = LDPViewSet.as_view({'get': 'list'},
model=JobOffer,
nested_fields=["skills"],
permission_classes=(AnonymousReadOnly,))
permission_classes=[AnonymousReadOnly])
response = my_view(request)
self.assertEqual(response.status_code, 200)
def test_post_request_with_anonymousUser(self):
request = self.factory.post("/job-offers/")
request.user = self.user
my_view = LDPViewSet.as_view({'post': 'create'},
model=JobOffer,
nested_fields=["skills"],
permission_classes=(AnonymousReadOnly,))
response = my_view(request)
def test_post_request_for_anonymousUser(self):
data = {'title': 'new idea'}
request = self.factory.post('/job-offers/', json.dumps(data), content_type='application/ld+json')
my_view = LDPViewSet.as_view({'post': 'create'}, model=JobOffer, nested_fields=["skills"], permission_classes=[AnonymousReadOnly])
response = my_view(request, pk=1)
self.assertEqual(response.status_code, 403)
def test_put_request_with_anonymousUser(self):
def test_put_request_for_anonymousUser(self):
request = self.factory.put("/job-offers/")
request.user = self.user
my_view = LDPViewSet.as_view({'put': 'update'},
model=JobOffer,
nested_fields=["skills"],
permission_classes=(AnonymousReadOnly,))
permission_classes=[AnonymousReadOnly])
response = my_view(request, pk=self.job.pk)
self.assertEqual(response.status_code, 403)
def test_patch_request_with_anonymousUser(self):
def test_patch_request_for_anonymousUser(self):
request = self.factory.patch("/job-offers/")
request.user = self.user
my_view = LDPViewSet.as_view({'patch': 'partial_update'},
model=JobOffer,
nested_fields=["skills"],
permission_classes=(AnonymousReadOnly,))
permission_classes=[AnonymousReadOnly])
response = my_view(request, pk=self.job.pk)
self.assertEqual(response.status_code, 403)
\ No newline at end of file
Loading