Skip to content
Snippets Groups Projects
Commit e5c5d58c authored by Thibaud Duquennoy's avatar Thibaud Duquennoy
Browse files

update test permissions

update: test permissions
parent db815c9e
No related branches found
No related tags found
1 merge request!33Resolve "AnonymousReadOnly permissions empty"
from django.contrib.auth.models import AnonymousUser from django.contrib.auth.models import AnonymousUser
from django.test import TestCase, RequestFactory from django.test import TestCase, RequestFactory
from guardian.shortcuts import get_anonymous_user
from djangoldp.permissions import AnonymousReadOnly from djangoldp.permissions import AnonymousReadOnly
from djangoldp.tests.models import JobOffer from djangoldp.tests.models import JobOffer
from djangoldp.views import LDPViewSet from djangoldp.views import LDPViewSet
...@@ -9,8 +11,8 @@ from djangoldp.views import LDPViewSet ...@@ -9,8 +11,8 @@ from djangoldp.views import LDPViewSet
class TestAnonymousUserPermissions(TestCase): class TestAnonymousUserPermissions(TestCase):
def setUp(self): def setUp(self):
self.factory = RequestFactory() self.factory = RequestFactory()
# self.c = Client() self.user = get_anonymous_user()
self.user = AnonymousUser self.job = JobOffer.objects.create(title="job")
def test_get_request_with_anonymousUser(self): def test_get_request_with_anonymousUser(self):
request = self.factory.get("/job-offers/") request = self.factory.get("/job-offers/")
...@@ -18,26 +20,36 @@ class TestAnonymousUserPermissions(TestCase): ...@@ -18,26 +20,36 @@ class TestAnonymousUserPermissions(TestCase):
my_view = LDPViewSet.as_view({'get': 'list'}, my_view = LDPViewSet.as_view({'get': 'list'},
model=JobOffer, model=JobOffer,
nested_fields=["skills"], nested_fields=["skills"],
permission_classes=[AnonymousReadOnly]) permission_classes=(AnonymousReadOnly,))
response = my_view(request) response = my_view(request)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
def test_request_options_create_with_anonymousUser(self): def test_post_request_with_anonymousUser(self):
request = self.factory.options("/job-offers/") request = self.factory.post("/job-offers/")
request.user = self.user request.user = self.user
my_view = LDPViewSet.as_view({'options': 'create'}, my_view = LDPViewSet.as_view({'post': 'create'},
model=JobOffer, model=JobOffer,
nested_fields=["skills"], nested_fields=["skills"],
permission_classes=[AnonymousReadOnly]) permission_classes=(AnonymousReadOnly,))
response = my_view(request) response = my_view(request)
self.assertEqual(response.status_code, 403) self.assertEqual(response.status_code, 403)
def test_request_options_update_with_anonymousUser(self): def test_put_request_with_anonymousUser(self):
request = self.factory.options("/job-offers/") request = self.factory.put("/job-offers/")
request.user = self.user request.user = self.user
my_view = LDPViewSet.as_view({'options': 'update'}, my_view = LDPViewSet.as_view({'put': 'update'},
model=JobOffer, model=JobOffer,
nested_fields=["skills"], nested_fields=["skills"],
permission_classes=[AnonymousReadOnly]) permission_classes=(AnonymousReadOnly,))
response = my_view(request) response = my_view(request, pk=self.job.pk)
self.assertEqual(response.status_code, 403) 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
...@@ -9,7 +9,6 @@ from djangoldp.views import LDPViewSet ...@@ -9,7 +9,6 @@ from djangoldp.views import LDPViewSet
class TestUserPermissions(TestCase): class TestUserPermissions(TestCase):
def setUp(self): def setUp(self):
self.factory = RequestFactory() self.factory = RequestFactory()
# self.c = Client()
self.user = User.objects.create_user(username='john', email='jlennon@beatles.com', password='glass onion') self.user = User.objects.create_user(username='john', email='jlennon@beatles.com', password='glass onion')
self.job = JobOffer.objects.create(title="job") self.job = JobOffer.objects.create(title="job")
...@@ -24,25 +23,25 @@ class TestUserPermissions(TestCase): ...@@ -24,25 +23,25 @@ class TestUserPermissions(TestCase):
response = my_view(request) response = my_view(request)
self.assertEqual(response.status_code, 200) 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 = self.factory.options('/job-offers/')
request.user = self.user 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]) permission_classes=[AnonymousReadOnly])
response = my_view(request) response = my_view(request)
self.assertEqual(response.status_code, 201) self.assertEqual(response.status_code, 201)
def test_request_options_update_with_user(self): def test_put_request_with_user(self):
request = self.factory.options('/job-offers/' + str(self.job.pk) + "/") request = self.factory.put('/job-offers/' + str(self.job.pk) + "/")
request.user = self.user 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]) permission_classes=[AnonymousReadOnly])
response = my_view(request, pk=self.job.pk) 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): def test_request_patch_with_user(self):
request = self.factory.patch('/job-offers/' + str(self.job.pk) + "/") request = self.factory.patch('/job-offers/' + str(self.job.pk) + "/")
request.user = self.user request.user = self.user
my_view = LDPViewSet.as_view({'patch': 'partial_update'}, model=JobOffer, nested_fields=["skills"]) my_view = LDPViewSet.as_view({'patch': 'partial_update'}, model=JobOffer, nested_fields=["skills"])
response = my_view(request, pk=self.job.pk) response = my_view(request, pk=self.job.pk)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 403)
\ No newline at end of file \ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment