diff --git a/djangoldp/models.py b/djangoldp/models.py index 66b5b17c796b09d5a3afa0273e1480159814b47d..c1d0c1a9d54fb50716c38e47b752e5669d94f430 100644 --- a/djangoldp/models.py +++ b/djangoldp/models.py @@ -29,7 +29,8 @@ class Model(models.Model): @classmethod def resource_id(cls, instance): - return "{}{}".format(cls.container_id(instance), getattr(instance, cls.slug_field(instance))) + r_id = "{}{}".format(cls.container_id(instance), getattr(instance, cls.slug_field(instance))) + return cls.__clean_path(r_id) @classmethod def slug_field(cls, instance): diff --git a/djangoldp/tests/tests_ldp_model.py b/djangoldp/tests/tests_ldp_model.py index 3e1da6a715f946324d464945551ff42ce2a38f82..14217f94a0dc1985f0ee4ea8d71f64a43caa51e7 100644 --- a/djangoldp/tests/tests_ldp_model.py +++ b/djangoldp/tests/tests_ldp_model.py @@ -11,18 +11,18 @@ class LDPModelTest(TestCase): def test_class_not_inheriting_ldp_model(self): dummy = Dummy.objects.create(some="text") self.assertEquals("/dummys/", Model.container_id(dummy)) - self.assertEquals("/dummys/{}".format(dummy.slug), Model.resource_id(dummy)) + self.assertEquals("/dummys/{}/".format(dummy.slug), Model.resource_id(dummy)) def test_class_inheriting_ldp_model(self): dummy = LDPDummy.objects.create(some="text") self.assertEquals("/ldpdummys/", dummy.get_container_id()) - self.assertEquals("/ldpdummys/{}".format(dummy.pk), dummy.get_absolute_url()) + self.assertEquals("/ldpdummys/{}/".format(dummy.pk), dummy.get_absolute_url()) self.assertEquals("/ldpdummys/", Model.container_id(dummy)) - self.assertEquals("/ldpdummys/{}".format(dummy.pk), Model.resource_id(dummy)) + self.assertEquals("/ldpdummys/{}/".format(dummy.pk), Model.resource_id(dummy)) def test_from_resolve_id(self): saved_instance = Dummy.objects.create(some="text", slug="someid") - result = Model.resolve_id("/dummys/{}".format(saved_instance.slug)) + result = Model.resolve_id("/dummys/{}/".format(saved_instance.slug)) self.assertEquals(saved_instance, result) def test_resolve_container(self): @@ -33,6 +33,6 @@ class LDPModelTest(TestCase): from django.urls import get_resolver dummy = LDPDummy.objects.create(some="text") view_name = '{}-list'.format(dummy._meta.object_name.lower()) - path = '/{}{}'.format(get_resolver().reverse_dict[view_name][0][0][0], dummy.pk) + path = '/{}{}/'.format(get_resolver().reverse_dict[view_name][0][0][0], dummy.pk) self.assertEquals(path, dummy.get_absolute_url()) diff --git a/djangoldp/tests/tests_update.py b/djangoldp/tests/tests_update.py index 9d19ea9189fa5587153deb8f12063ddb17ff750f..0dbba92de51e48317b49df8044584b8021ddc848 100644 --- a/djangoldp/tests/tests_update.py +++ b/djangoldp/tests/tests_update.py @@ -215,17 +215,17 @@ class Update(TestCase): } }, { - '@id': "https://happy-dev.fr/threads/{}".format(thread.pk), + '@id': "https://happy-dev.fr/threads/{}/".format(thread.pk), "author_user": { '@id': "https://happy-dev.fr/users/{}/".format(user1.pk) }, 'description': "Thread 1 UP", 'message_set': { - "@id": "https://happy-dev.fr/threads/{}/message_set".format(thread.pk) + "@id": "https://happy-dev.fr/threads/{}/message_set/".format(thread.pk) } }, { - '@id': "https://happy-dev.fr/threads/{}/message_set".format(thread.pk), + '@id': "https://happy-dev.fr/threads/{}/message_set/".format(thread.pk), "ldp:contains": [ {"@id": "https://happy-dev.fr/messages/{}/".format(message1.pk)}, {"@id": "https://happy-dev.fr/messages/{}/".format(message2.pk)},