]> git.ipfire.org Git - thirdparty/patchwork.git/commitdiff
REST: Check.user is not read-only
authorStephen Finucane <stephen@that.guru>
Tue, 30 Apr 2019 06:02:59 +0000 (16:02 +1000)
committerStephen Finucane <stephen@that.guru>
Tue, 30 Apr 2019 17:36:35 +0000 (11:36 -0600)
We only support 'Check' creation - not check updating. As a result,
there's no real reason that the 'Check.user' field should be read-only
and this is causing an issue with Django REST Framework 3.7. Simply
remove the attribute and extend the tests to validate things are working
as expected.

Signed-off-by: Stephen Finucane <stephen@that.guru>
Reviewed-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Daniel Axtens <dja@axtens.net>
(cherry picked from commit c9cc59dac70d76971a5342ca53e2b13eb93592de)

patchwork/api/check.py
patchwork/tests/api/test_check.py

index 594ecd4bfeec864559448f15d71394829cdb5682..d76573a528ec3d61cdb9694baeffb8e22e378d71 100644 (file)
@@ -46,7 +46,7 @@ class CheckSerializer(HyperlinkedModelSerializer):
 
     url = CheckHyperlinkedIdentityField('api-check-detail')
     patch = HiddenField(default=CurrentPatchDefault())
-    user = UserSerializer(read_only=True, default=CurrentUserDefault())
+    user = UserSerializer(default=CurrentUserDefault())
 
     def run_validation(self, data):
         for val, label in Check.STATE_CHOICES:
index bc06e86e5bb38a6b697e90e5e24d64790b863fa3..f5a8eca155a90201e29bdf4aa9d790af288e64c1 100644 (file)
@@ -67,6 +67,7 @@ class TestCheckAPI(APITestCase):
         self.assertEqual(check_obj.target_url, check_json['target_url'])
         self.assertEqual(check_obj.context, check_json['context'])
         self.assertEqual(check_obj.description, check_json['description'])
+        self.assertEqual(check_obj.user.id, check_json['user']['id'])
 
     def test_list(self):
         """Validate we can list checks on a patch."""