Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/api/views/test_release.py
Show All 11 Lines | |||||
from swh.web.tests.strategies import ( | from swh.web.tests.strategies import ( | ||||
release, unknown_release, sha1, content, directory | release, unknown_release, sha1, content, directory | ||||
) | ) | ||||
from swh.web.tests.testcase import WebTestCase | from swh.web.tests.testcase import WebTestCase | ||||
class ReleaseApiTestCase(WebTestCase, APITestCase): | class ReleaseApiTestCase(WebTestCase, APITestCase): | ||||
@given(release()) | def _api_release_test(self, release): | ||||
def test_api_release(self, release): | |||||
url = reverse('api-release', url_args={'sha1_git': release}) | url = reverse('api-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'] | author_id = expected_release['author']['id'] | ||||
target_revision = expected_release['target'] | target_revision = expected_release['target'] | ||||
author_url = reverse('api-person', | author_url = reverse('api-person', | ||||
url_args={'person_id': author_id}) | url_args={'person_id': author_id}) | ||||
target_url = reverse('api-revision', | target_url = reverse('api-revision', | ||||
url_args={'sha1_git': target_revision}) | url_args={'sha1_git': target_revision}) | ||||
expected_release['author_url'] = author_url | expected_release['author_url'] = author_url | ||||
expected_release['target_url'] = target_url | expected_release['target_url'] = target_url | ||||
self.assertEqual(rv.status_code, 200) | self.assertEqual(rv.status_code, 200) | ||||
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(release()) | |||||
def test_api_release(self, release): | |||||
self._api_release_test(release) | |||||
@given(release()) | |||||
def test_api_release_with_uppercase_sha1(self, release): | |||||
self._api_release_test(release.upper()) | |||||
anlambert: same here | |||||
@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, | ||||
new_rel3, content, | new_rel3, content, | ||||
directory, release): | directory, release): | ||||
for new_rel_id, target_type, target in ( | for new_rel_id, target_type, target in ( | ||||
(new_rel1, 'content', content), | (new_rel1, 'content', content), | ||||
(new_rel2, 'directory', directory), | (new_rel2, 'directory', directory), | ||||
▲ Show 20 Lines • Show All 63 Lines • Show Last 20 Lines |
same here