Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/browse/views/test_release.py
Show All 19 Lines | |||||
def test_release_browse(client, archive_data, release): | def test_release_browse(client, archive_data, release): | ||||
url = reverse('browse-release', | url = reverse('browse-release', | ||||
url_args={'sha1_git': release}) | url_args={'sha1_git': release}) | ||||
release_data = archive_data.release_get(release) | release_data = archive_data.release_get(release) | ||||
resp = client.get(url) | resp = client.get(url) | ||||
_release_browse_checks(resp, release_data) | _release_browse_checks(resp, release_data, archive_data) | ||||
@given(origin_with_releases()) | @given(origin_with_releases()) | ||||
def test_release_browse_with_origin(client, archive_data, origin): | def test_release_browse_with_origin(client, archive_data, origin): | ||||
snapshot = archive_data.snapshot_get_latest(origin['url']) | snapshot = archive_data.snapshot_get_latest(origin['url']) | ||||
release = random.choice([b for b in snapshot['branches'].values() | release = random.choice([b for b in snapshot['branches'].values() | ||||
if b['target_type'] == 'release']) | if b['target_type'] == 'release']) | ||||
url = reverse('browse-release', | url = reverse('browse-release', | ||||
url_args={'sha1_git': release['target']}, | url_args={'sha1_git': release['target']}, | ||||
query_params={'origin': origin['url']}) | query_params={'origin': origin['url']}) | ||||
release_data = archive_data.release_get(release['target']) | release_data = archive_data.release_get(release['target']) | ||||
resp = client.get(url) | resp = client.get(url) | ||||
_release_browse_checks(resp, release_data, origin) | _release_browse_checks(resp, release_data, archive_data, origin) | ||||
@given(unknown_release()) | @given(unknown_release()) | ||||
def test_release_browse_not_found(client, archive_data, unknown_release): | def test_release_browse_not_found(client, archive_data, unknown_release): | ||||
url = reverse('browse-release', | url = reverse('browse-release', | ||||
url_args={'sha1_git': unknown_release}) | url_args={'sha1_git': unknown_release}) | ||||
resp = client.get(url) | resp = client.get(url) | ||||
assert resp.status_code == 404 | assert resp.status_code == 404 | ||||
Show All 11 Lines | def test_release_uppercase(client, release): | ||||
assert resp.status_code == 302 | assert resp.status_code == 302 | ||||
redirect_url = reverse('browse-release', | redirect_url = reverse('browse-release', | ||||
url_args={'sha1_git': release}) | url_args={'sha1_git': release}) | ||||
assert resp['location'] == redirect_url | assert resp['location'] == redirect_url | ||||
def _release_browse_checks(resp, release_data, origin_info=None): | def _release_browse_checks(resp, release_data, archive_data, origin_info=None): | ||||
query_params = {} | query_params = {} | ||||
if origin_info: | if origin_info: | ||||
query_params['origin'] = origin_info['url'] | query_params['origin'] = origin_info['url'] | ||||
release_id = release_data['id'] | release_id = release_data['id'] | ||||
release_name = release_data['name'] | release_name = release_data['name'] | ||||
author_name = release_data['author']['name'] | author_name = release_data['author']['name'] | ||||
Show All 16 Lines | def _release_browse_checks(resp, release_data, archive_data, origin_info=None): | ||||
assert_contains(resp, release_name) | assert_contains(resp, release_name) | ||||
assert_contains(resp, target_type) | assert_contains(resp, target_type) | ||||
assert_contains(resp, '<a href="%s">%s</a>' % (target_url, target)) | assert_contains(resp, '<a href="%s">%s</a>' % (target_url, target)) | ||||
swh_rel_id = get_swh_persistent_id('release', release_id) | swh_rel_id = get_swh_persistent_id('release', release_id) | ||||
swh_rel_id_url = reverse('browse-swh-id', url_args={'swh_id': swh_rel_id}) | swh_rel_id_url = reverse('browse-swh-id', url_args={'swh_id': swh_rel_id}) | ||||
assert_contains(resp, swh_rel_id) | assert_contains(resp, swh_rel_id) | ||||
assert_contains(resp, swh_rel_id_url) | assert_contains(resp, swh_rel_id_url) | ||||
if release_data['target_type'] == 'revision': | |||||
if origin_info: | |||||
directory_url = reverse( | |||||
'browse-origin-directory', | |||||
url_args={'origin_url': origin_info['url']}, | |||||
query_params={'release': release_data['name']}) | |||||
else: | |||||
rev = archive_data.revision_get(release_data['target']) | |||||
directory_url = reverse( | |||||
'browse-directory', | |||||
url_args={'sha1_git': rev['directory']}) | |||||
assert_contains(resp, directory_url) |