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