Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/browse/views/test_identifiers.py
Show First 20 Lines • Show All 183 Lines • ▼ Show 20 Lines | swhid = gen_swhid( | ||||
"origin": origin["url"], | "origin": origin["url"], | ||||
"visit": gen_swhid(SNAPSHOT, snapshot["id"]), | "visit": gen_swhid(SNAPSHOT, snapshot["id"]), | ||||
"anchor": gen_swhid(REVISION, revision), | "anchor": gen_swhid(REVISION, revision), | ||||
}, | }, | ||||
) | ) | ||||
assert_contains(resp, swhid) | assert_contains(resp, swhid) | ||||
# also check legacy SWHID URL with trailing slash | |||||
url = reverse("browse-swhid-legacy", url_args={"swhid": swhid}) | |||||
resp = check_html_get_response(client, url, status_code=302) | |||||
resp = check_html_get_response( | |||||
client, resp["location"], status_code=200, template_used="browse/content.html" | |||||
) | |||||
assert_contains(resp, swhid) | |||||
@given(directory()) | @given(directory()) | ||||
def test_browse_swhid_special_characters_escaping(client, archive_data, directory): | def test_browse_swhid_special_characters_escaping(client, archive_data, directory): | ||||
origin = "http://example.org/?project=abc;" | origin = "http://example.org/?project=abc;" | ||||
archive_data.origin_add([Origin(url=origin)]) | archive_data.origin_add([Origin(url=origin)]) | ||||
origin_swhid_escaped = quote(origin, safe="/?:@&") | origin_swhid_escaped = quote(origin, safe="/?:@&") | ||||
origin_swhid_url_escaped = quote(origin, safe="/:@;") | origin_swhid_url_escaped = quote(origin, safe="/:@;") | ||||
swhid = gen_swhid(DIRECTORY, directory, metadata={"origin": origin_swhid_escaped}) | swhid = gen_swhid(DIRECTORY, directory, metadata={"origin": origin_swhid_escaped}) | ||||
url = reverse("browse-swhid", url_args={"swhid": swhid}) | url = reverse("browse-swhid", url_args={"swhid": swhid}) | ||||
resp = check_html_get_response(client, url, status_code=302) | resp = check_html_get_response(client, url, status_code=302) | ||||
assert origin_swhid_url_escaped in resp["location"] | assert origin_swhid_url_escaped in resp["location"] |