self.assertEqual(status.HTTP_200_OK, resp.status_code)
self.assertEqual(1, len(resp.data))
self.assertSerialized(comment, resp.data[0])
+ self.assertIn('list_archive_url', resp.data[0])
+
+ def test_list_version_1_1(self):
+ """List cover letter comments using API v1.1."""
+ cover = create_cover()
+ comment = create_comment(submission=cover)
+
+ resp = self.client.get(self.api_url(cover, version='1.1'))
+ self.assertEqual(status.HTTP_200_OK, resp.status_code)
+ self.assertEqual(1, len(resp.data))
+ self.assertSerialized(comment, resp.data[0])
+ self.assertNotIn('list_archive_url', resp.data[0])
def test_list_version_1_0(self):
"""List cover letter comments using API v1.0."""
self.assertEqual(status.HTTP_200_OK, resp.status_code)
self.assertEqual(1, len(resp.data))
self.assertSerialized(comment, resp.data[0])
+ self.assertIn('list_archive_url', resp.data[0])
+
+ def test_list_version_1_1(self):
+ """List patch comments using API v1.1."""
+ patch = create_patch()
+ comment = create_comment(submission=patch)
+
+ resp = self.client.get(self.api_url(patch, version='1.1'))
+ self.assertEqual(status.HTTP_200_OK, resp.status_code)
+ self.assertEqual(1, len(resp.data))
+ self.assertSerialized(comment, resp.data[0])
+ self.assertNotIn('list_archive_url', resp.data[0])
def test_list_version_1_0(self):
"""List patch comments using API v1.0."""
self.assertEqual(status.HTTP_200_OK, resp.status_code)
self.assertEqual(1, len(resp.data))
self.assertSerialized(project, resp.data[0])
+ self.assertIn('subject_match', resp.data[0])
+ self.assertIn('list_archive_url', resp.data[0])
+ self.assertIn('list_archive_url_format', resp.data[0])
+ self.assertIn('commit_url_format', resp.data[0])
+
+ @utils.store_samples('project-list-1.1')
+ def test_list_version_1_1(self):
+ """List projects using API v1.1.
+
+ Validate that newer fields are dropped for older API versions.
+ """
+ create_project()
+
+ resp = self.client.get(self.api_url(version='1.1'))
+ self.assertEqual(status.HTTP_200_OK, resp.status_code)
+ self.assertEqual(1, len(resp.data))
+ self.assertIn('subject_match', resp.data[0])
+ self.assertNotIn('list_archive_url', resp.data[0])
+ self.assertNotIn('list_archive_url_format', resp.data[0])
+ self.assertNotIn('commit_url_format', resp.data[0])
@utils.store_samples('project-list-1.0')
def test_list_version_1_0(self):
self.assertNotIn('subject_match', resp.data[0])
@utils.store_samples('project-detail')
- def test_detail_by_id(self):
+ def test_detail(self):
"""Show project using ID lookup.
Validate that it's possible to filter by pk.
resp = self.client.get(self.api_url(project.pk))
self.assertEqual(status.HTTP_200_OK, resp.status_code)
self.assertSerialized(project, resp.data)
+ self.assertIn('subject_match', resp.data)
+ self.assertIn('list_archive_url', resp.data)
+ self.assertIn('list_archive_url_format', resp.data)
+ self.assertIn('commit_url_format', resp.data)
def test_detail_by_linkname(self):
"""Show project using linkname lookup.
self.assertEqual(status.HTTP_200_OK, resp.status_code)
self.assertSerialized(project, resp.data)
+ @utils.store_samples('project-detail-1.1')
+ def test_detail_version_1_1(self):
+ """Show project using API v1.1.
+
+ Validate that newer fields are dropped for older API versions.
+ """
+ project = create_project()
+
+ resp = self.client.get(self.api_url(project.pk, version='1.1'))
+ self.assertEqual(status.HTTP_200_OK, resp.status_code)
+ self.assertIn('name', resp.data)
+ self.assertIn('subject_match', resp.data)
+ self.assertNotIn('list_archive_url', resp.data)
+ self.assertNotIn('list_archive_url_format', resp.data)
+ self.assertNotIn('commit_url_format', resp.data)
+
@utils.store_samples('project-detail-1.0')
def test_detail_version_1_0(self):
"""Show project using API v1.0.