From b4b018fc07000d4ccbf591c49589aa24d4450a61 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste <bleme@pm.me> Date: Wed, 20 Mar 2019 13:43:39 +0100 Subject: [PATCH] bugfix: default lookup_field should be \'pk\' --- djangoldp/tests/runner.py | 1 + djangoldp/tests/tests_get.py | 24 ++++++++++++++++++++++++ djangoldp/urls.py | 12 ++++++++---- 3 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 djangoldp/tests/tests_get.py diff --git a/djangoldp/tests/runner.py b/djangoldp/tests/runner.py index 0a663cc1..92b701b7 100644 --- a/djangoldp/tests/runner.py +++ b/djangoldp/tests/runner.py @@ -59,6 +59,7 @@ failures = test_runner.run_tests([ 'djangoldp.tests.tests_anonymous_permissions', 'djangoldp.tests.tests_update', 'djangoldp.tests.tests_auto_author', + 'djangoldp.tests.tests_get', ]) if failures: sys.exit(failures) diff --git a/djangoldp/tests/tests_get.py b/djangoldp/tests/tests_get.py new file mode 100644 index 00000000..c626b430 --- /dev/null +++ b/djangoldp/tests/tests_get.py @@ -0,0 +1,24 @@ +import json + +from django.contrib.auth.models import User +from rest_framework.test import APIRequestFactory, APIClient, APITestCase + +from djangoldp.tests.models import Post + + +class TestGET(APITestCase): + + def setUp(self): + self.factory = APIRequestFactory() + self.client = APIClient() + self.user = User.objects.create_user(username='john', email='jlennon@beatles.com', password='glass onion') + + def tearDown(self): + self.user.delete() + + def test_get(self): + post = Post.objects.create(content="content") + response = self.client.get('/posts/{}/'.format(post.pk), content_type='application/ld+json') + self.assertEqual(response.status_code, 200) + self.assertEquals(response.data['content'], "content") + self.assertIn('author', response.data) diff --git a/djangoldp/urls.py b/djangoldp/urls.py index 1dcce95e..4f404355 100644 --- a/djangoldp/urls.py +++ b/djangoldp/urls.py @@ -30,7 +30,11 @@ for class_name in model_classes: urls_fct = model_class.get_view_set().urls urlpatterns.append(url(r'^' + path, include( urls_fct(model=model_class, - lookup_field=getattr(model_class._meta, 'lookup_field', getattr(model_class.Meta, 'lookup_field', [])), - permission_classes=getattr(model_class._meta, 'permission_classes', getattr(model_class.Meta, 'permission_classes', [])), - fields=getattr(model_class._meta, 'serializer_fields', getattr(model_class.Meta, 'serializer_fields', [])), - nested_fields=getattr(model_class._meta, 'nested_fields', getattr(model_class.Meta, 'nested_fields', [])))))) + lookup_field=getattr(model_class._meta, 'lookup_field', + getattr(model_class.Meta, 'lookup_field', 'pk')), + permission_classes=getattr(model_class._meta, 'permission_classes', + getattr(model_class.Meta, 'permission_classes', [])), + fields=getattr(model_class._meta, 'serializer_fields', + getattr(model_class.Meta, 'serializer_fields', [])), + nested_fields=getattr(model_class._meta, 'nested_fields', + getattr(model_class.Meta, 'nested_fields', [])))))) -- GitLab