diff --git a/djangoldp/tests/tests_anonymous_permissions.py b/djangoldp/tests/tests_anonymous_permissions.py index a8f4ee3f471f3d245c8f92fbd00ecfbd73d08fd8..0e7f59c28169dae87b15420eb1ebf39ce70e9f69 100644 --- a/djangoldp/tests/tests_anonymous_permissions.py +++ b/djangoldp/tests/tests_anonymous_permissions.py @@ -1,6 +1,8 @@ from django.contrib.auth.models import AnonymousUser from django.test import TestCase, RequestFactory +from guardian.shortcuts import get_anonymous_user + from djangoldp.permissions import AnonymousReadOnly from djangoldp.tests.models import JobOffer from djangoldp.views import LDPViewSet @@ -9,8 +11,8 @@ from djangoldp.views import LDPViewSet class TestAnonymousUserPermissions(TestCase): def setUp(self): self.factory = RequestFactory() - # self.c = Client() - self.user = AnonymousUser + self.user = get_anonymous_user() + self.job = JobOffer.objects.create(title="job") def test_get_request_with_anonymousUser(self): request = self.factory.get("/job-offers/") @@ -18,26 +20,36 @@ class TestAnonymousUserPermissions(TestCase): 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_request_options_create_with_anonymousUser(self): - request = self.factory.options("/job-offers/") + def test_post_request_with_anonymousUser(self): + request = self.factory.post("/job-offers/") request.user = self.user - my_view = LDPViewSet.as_view({'options': 'create'}, + my_view = LDPViewSet.as_view({'post': 'create'}, model=JobOffer, nested_fields=["skills"], - permission_classes=[AnonymousReadOnly]) + permission_classes=(AnonymousReadOnly,)) response = my_view(request) self.assertEqual(response.status_code, 403) - def test_request_options_update_with_anonymousUser(self): - request = self.factory.options("/job-offers/") + def test_put_request_with_anonymousUser(self): + request = self.factory.put("/job-offers/") request.user = self.user - my_view = LDPViewSet.as_view({'options': 'update'}, + my_view = LDPViewSet.as_view({'put': 'update'}, model=JobOffer, nested_fields=["skills"], - permission_classes=[AnonymousReadOnly]) - response = my_view(request) + permission_classes=(AnonymousReadOnly,)) + response = my_view(request, pk=self.job.pk) self.assertEqual(response.status_code, 403) + + def test_patch_request_with_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,)) + response = my_view(request, pk=self.job.pk) + self.assertEqual(response.status_code, 403) \ No newline at end of file diff --git a/djangoldp/tests/tests_user_permissions.py b/djangoldp/tests/tests_user_permissions.py index 93d2da07ff5d034f21a7f9d9a5c623933028ab6b..6742d5d144d68e2adeac45a8f8e9f3c6a9af1bd7 100644 --- a/djangoldp/tests/tests_user_permissions.py +++ b/djangoldp/tests/tests_user_permissions.py @@ -9,7 +9,6 @@ from djangoldp.views import LDPViewSet class TestUserPermissions(TestCase): def setUp(self): self.factory = RequestFactory() - # self.c = Client() self.user = User.objects.create_user(username='john', email='jlennon@beatles.com', password='glass onion') self.job = JobOffer.objects.create(title="job") @@ -24,25 +23,25 @@ class TestUserPermissions(TestCase): response = my_view(request) self.assertEqual(response.status_code, 200) - def test_request_options_create_with_user(self): + def test_post_request_with_user(self): request = self.factory.options('/job-offers/') request.user = self.user - my_view = LDPViewSet.as_view({'options': 'create'}, model=JobOffer, nested_fields=["skills"], + my_view = LDPViewSet.as_view({'post': 'create'}, model=JobOffer, nested_fields=["skills"], permission_classes=[AnonymousReadOnly]) response = my_view(request) self.assertEqual(response.status_code, 201) - def test_request_options_update_with_user(self): - request = self.factory.options('/job-offers/' + str(self.job.pk) + "/") + def test_put_request_with_user(self): + request = self.factory.put('/job-offers/' + str(self.job.pk) + "/") request.user = self.user - my_view = LDPViewSet.as_view({'options': 'update'}, model=JobOffer, nested_fields=["skills"], + my_view = LDPViewSet.as_view({'put': 'update'}, model=JobOffer, nested_fields=["skills"], permission_classes=[AnonymousReadOnly]) response = my_view(request, pk=self.job.pk) - self.assertEqual(response.status_code, 200) + self.assertEqual(response.status_code, 403) def test_request_patch_with_user(self): request = self.factory.patch('/job-offers/' + str(self.job.pk) + "/") request.user = self.user my_view = LDPViewSet.as_view({'patch': 'partial_update'}, model=JobOffer, nested_fields=["skills"]) response = my_view(request, pk=self.job.pk) - self.assertEqual(response.status_code, 200) \ No newline at end of file + self.assertEqual(response.status_code, 403) \ No newline at end of file