Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/api/views/test_release.py
Show All 20 Lines | class ReleaseApiTestCase(WebTestCase, APITestCase): | ||||
@given(release()) | @given(release()) | ||||
def test_api_release(self, release): | def test_api_release(self, release): | ||||
url = reverse('api-1-release', url_args={'sha1_git': release}) | url = reverse('api-1-release', url_args={'sha1_git': release}) | ||||
rv = self.client.get(url) | rv = self.client.get(url) | ||||
expected_release = self.release_get(release) | expected_release = self.release_get(release) | ||||
author_id = expected_release['author']['id'] | |||||
target_revision = expected_release['target'] | target_revision = expected_release['target'] | ||||
author_url = reverse('api-1-person', | |||||
url_args={'person_id': author_id}) | |||||
target_url = reverse('api-1-revision', | target_url = reverse('api-1-revision', | ||||
url_args={'sha1_git': target_revision}) | url_args={'sha1_git': target_revision}) | ||||
expected_release['author_url'] = author_url | |||||
expected_release['target_url'] = target_url | expected_release['target_url'] = target_url | ||||
self.assertEqual(rv.status_code, 200, rv.data) | self.assertEqual(rv.status_code, 200, rv.data) | ||||
self.assertEqual(rv['Content-Type'], 'application/json') | self.assertEqual(rv['Content-Type'], 'application/json') | ||||
self.assertEqual(rv.data, expected_release) | self.assertEqual(rv.data, expected_release) | ||||
@given(sha1(), sha1(), sha1(), content(), directory(), release()) | @given(sha1(), sha1(), sha1(), content(), directory(), release()) | ||||
def test_api_release_target_type_not_a_revision(self, new_rel1, new_rel2, | def test_api_release_target_type_not_a_revision(self, new_rel1, new_rel2, | ||||
Show All 30 Lines | def test_api_release_target_type_not_a_revision(self, new_rel1, new_rel2, | ||||
self.storage.release_add([sample_release]) | self.storage.release_add([sample_release]) | ||||
url = reverse('api-1-release', url_args={'sha1_git': new_rel_id}) | url = reverse('api-1-release', url_args={'sha1_git': new_rel_id}) | ||||
rv = self.client.get(url) | rv = self.client.get(url) | ||||
expected_release = self.release_get(new_rel_id) | expected_release = self.release_get(new_rel_id) | ||||
author_id = expected_release['author']['id'] | |||||
author_url = reverse('api-1-person', | |||||
url_args={'person_id': author_id}) | |||||
if target_type == 'content': | if target_type == 'content': | ||||
url_args = {'q': 'sha1_git:%s' % target} | url_args = {'q': 'sha1_git:%s' % target} | ||||
else: | else: | ||||
url_args = {'sha1_git': target} | url_args = {'sha1_git': target} | ||||
target_url = reverse('api-1-%s' % target_type, | target_url = reverse('api-1-%s' % target_type, | ||||
url_args=url_args) | url_args=url_args) | ||||
expected_release['author_url'] = author_url | |||||
expected_release['target_url'] = target_url | expected_release['target_url'] = target_url | ||||
self.assertEqual(rv.status_code, 200, rv.data) | self.assertEqual(rv.status_code, 200, rv.data) | ||||
self.assertEqual(rv['Content-Type'], 'application/json') | self.assertEqual(rv['Content-Type'], 'application/json') | ||||
self.assertEqual(rv.data, expected_release) | self.assertEqual(rv.data, expected_release) | ||||
def test_api_release_not_found(self): | def test_api_release_not_found(self): | ||||
unknown_release_ = random_sha1() | unknown_release_ = random_sha1() | ||||
Show All 24 Lines |