[Patchew-devel] [PATCH 6/9] rest: fix get_serializer_context for /projects/ID/{messages, series}

Paolo Bonzini pbonzini at redhat.com
Sat Aug 18 08:39:41 UTC 2018


A raise was exchanged with return here, so that a 404 was not reported.
In addition, for cleanliness, base the context on the superclass
implementation so that format and view are included in the context.

Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
---
 api/rest.py        | 6 ++++--
 tests/test_rest.py | 6 +++---
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/api/rest.py b/api/rest.py
index 2b0b611..df0640a 100644
--- a/api/rest.py
+++ b/api/rest.py
@@ -251,8 +251,10 @@ class ProjectMessagesViewSetMixin(mixins.RetrieveModelMixin):
 
     def get_serializer_context(self):
         if self.project is None:
-            return Http404
-        return {'project': self.project, 'request': self.request}
+            raise Http404
+        context = super(ProjectMessagesViewSetMixin, self).get_serializer_context()
+        context['project'] = self.project
+        return context
 
 # Series
 
diff --git a/tests/test_rest.py b/tests/test_rest.py
index 980d61a..7b035bc 100755
--- a/tests/test_rest.py
+++ b/tests/test_rest.py
@@ -230,7 +230,7 @@ class RestTest(PatchewTestCase):
         self.assertEqual(resp.data['count'], 2)
 
         resp = self.api_client.get(self.REST_BASE + 'projects/12345/series/')
-        self.assertEqual(resp.data['count'], 0)
+        self.assertEqual(resp.status_code, 404)
 
     def test_series_results_list(self):
         resp1 = self.apply_and_retrieve('0001-simple-patch.mbox.gz',
@@ -263,9 +263,9 @@ class RestTest(PatchewTestCase):
         self.assertEqual('patches' in resp.data['results'][1], False)
 
         resp = self.api_client.get(self.REST_BASE + 'projects/12345/series/?q=quorum')
-        self.assertEqual(resp.data['count'], 0)
+        self.assertEqual(resp.status_code, 404)
         resp = self.api_client.get(self.REST_BASE + 'projects/12345/series/?q=project:QEMU')
-        self.assertEqual(resp.data['count'], 0)
+        self.assertEqual(resp.status_code, 404)
 
     def test_series_delete(self):
         test_message_id = '1469192015-16487-1-git-send-email-berrange at redhat.com'
-- 
2.17.1





More information about the Patchew-devel mailing list