From: Stephen Finucane Date: Fri, 16 Nov 2018 20:17:53 +0000 (+0100) Subject: REST: Fix typo in embedded serializers X-Git-Tag: v2.2.0-rc1~200 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6e48cb627c2731405f991a54085f0148c472d0e6;p=thirdparty%2Fpatchwork.git REST: Fix typo in embedded serializers This was preventing the v1.1 fields from getting dropped as intended. Signed-off-by: Stephen Finucane Closes: #237 --- diff --git a/patchwork/api/embedded.py b/patchwork/api/embedded.py index 72ffc68a..f088d0aa 100644 --- a/patchwork/api/embedded.py +++ b/patchwork/api/embedded.py @@ -89,7 +89,7 @@ class BundleSerializer(SerializedRelatedField): model = models.Bundle fields = ('id', 'url', 'web_url', 'name', 'mbox') read_only_fields = fields - versioned_field = { + versioned_fields = { '1.1': ('web_url', ), } extra_kwargs = { @@ -126,7 +126,7 @@ class CoverLetterSerializer(SerializedRelatedField): model = models.CoverLetter fields = ('id', 'url', 'web_url', 'msgid', 'date', 'name', 'mbox') read_only_fields = fields - versioned_field = { + versioned_fields = { '1.1': ('web_url', 'mbox', ), } extra_kwargs = { @@ -142,7 +142,7 @@ class PatchSerializer(SerializedRelatedField): model = models.Patch fields = ('id', 'url', 'web_url', 'msgid', 'date', 'name', 'mbox') read_only_fields = fields - versioned_field = { + versioned_fields = { '1.1': ('web_url', ), } extra_kwargs = { @@ -190,7 +190,7 @@ class SeriesSerializer(SerializedRelatedField): fields = ('id', 'url', 'web_url', 'date', 'name', 'version', 'mbox') read_only_fields = fields - versioned_field = { + versioned_fields = { '1.1': ('web_url', ), } extra_kwargs = { diff --git a/patchwork/tests/api/test_series.py b/patchwork/tests/api/test_series.py index b377880a..aecd8b04 100644 --- a/patchwork/tests/api/test_series.py +++ b/patchwork/tests/api/test_series.py @@ -139,6 +139,9 @@ class TestSeriesAPI(APITestCase): self.assertEqual(1, len(resp.data)) self.assertIn('url', resp.data[0]) self.assertNotIn('web_url', resp.data[0]) + self.assertNotIn('web_url', resp.data[0]['cover_letter']) + self.assertNotIn('mbox', resp.data[0]['cover_letter']) + self.assertNotIn('web_url', resp.data[0]['patches'][0]) @utils.store_samples('series-detail') def test_detail(self): @@ -157,6 +160,9 @@ class TestSeriesAPI(APITestCase): resp = self.client.get(self.api_url(series.id, version='1.0')) self.assertIn('url', resp.data) self.assertNotIn('web_url', resp.data) + self.assertNotIn('web_url', resp.data['cover_letter']) + self.assertNotIn('mbox', resp.data['cover_letter']) + self.assertNotIn('web_url', resp.data['patches'][0]) def test_create_update_delete(self): """Ensure creates, updates and deletes aren't allowed""" diff --git a/releasenotes/notes/issue-237-48b9442c31e74b9d.yaml b/releasenotes/notes/issue-237-48b9442c31e74b9d.yaml new file mode 100644 index 00000000..541f44a0 --- /dev/null +++ b/releasenotes/notes/issue-237-48b9442c31e74b9d.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Fields added in API v1.1 are now consistently excluded when requesting API + v1.0, as was intended.