From e5c5d58cf9e5eee3359b8b7ee916dad4c66ae212 Mon Sep 17 00:00:00 2001
From: Thibaud Duquennoy <thibaud@duquennoy.fr>
Date: Wed, 6 Mar 2019 02:30:55 +0100
Subject: [PATCH] update test permissions

update: test permissions
---
 .../tests/tests_anonymous_permissions.py      | 36 ++++++++++++-------
 djangoldp/tests/tests_user_permissions.py     | 15 ++++----
 2 files changed, 31 insertions(+), 20 deletions(-)

diff --git a/djangoldp/tests/tests_anonymous_permissions.py b/djangoldp/tests/tests_anonymous_permissions.py
index a8f4ee3f..0e7f59c2 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 93d2da07..6742d5d1 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
-- 
GitLab