Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/browse/views/test_identifiers.py
# Copyright (C) 2018-2021 The Software Heritage developers | # Copyright (C) 2018-2021 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU Affero General Public License version 3, or any later version | # License: GNU Affero General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
import random | import random | ||||
from urllib.parse import quote | from urllib.parse import quote | ||||
from hypothesis import given | from hypothesis import given | ||||
from swh.model.model import Origin | from swh.model.model import Origin | ||||
from swh.model.swhids import ObjectType | from swh.model.swhids import ObjectType | ||||
from swh.web.common.identifiers import gen_swhid | from swh.web.common.identifiers import gen_swhid | ||||
from swh.web.common.utils import reverse | from swh.web.common.utils import reverse | ||||
from swh.web.tests.django_asserts import assert_contains | from swh.web.tests.django_asserts import assert_contains | ||||
from swh.web.tests.strategies import origin, release, revision, snapshot | from swh.web.tests.strategies import release, revision, snapshot | ||||
from swh.web.tests.utils import check_html_get_response | from swh.web.tests.utils import check_html_get_response | ||||
def test_content_id_browse(client, content): | def test_content_id_browse(client, content): | ||||
cnt_sha1_git = content["sha1_git"] | cnt_sha1_git = content["sha1_git"] | ||||
swhid = gen_swhid(ObjectType.CONTENT, cnt_sha1_git) | swhid = gen_swhid(ObjectType.CONTENT, cnt_sha1_git) | ||||
for swhid_ in (swhid, swhid.upper()): | for swhid_ in (swhid, swhid.upper()): | ||||
▲ Show 20 Lines • Show All 143 Lines • ▼ Show 20 Lines | |||||
@given(release()) | @given(release()) | ||||
def test_origin_id_not_resolvable(client, release): | def test_origin_id_not_resolvable(client, release): | ||||
swhid = "swh:1:ori:8068d0075010b590762c6cb5682ed53cb3c13deb" | swhid = "swh:1:ori:8068d0075010b590762c6cb5682ed53cb3c13deb" | ||||
url = reverse("browse-swhid", url_args={"swhid": swhid}) | url = reverse("browse-swhid", url_args={"swhid": swhid}) | ||||
check_html_get_response(client, url, status_code=400) | check_html_get_response(client, url, status_code=400) | ||||
@given(origin()) | |||||
def test_legacy_swhid_browse(archive_data, client, origin): | def test_legacy_swhid_browse(archive_data, client, origin): | ||||
snapshot = archive_data.snapshot_get_latest(origin["url"]) | snapshot = archive_data.snapshot_get_latest(origin["url"]) | ||||
revision = archive_data.snapshot_get_head(snapshot) | revision = archive_data.snapshot_get_head(snapshot) | ||||
directory = archive_data.revision_get(revision)["directory"] | directory = archive_data.revision_get(revision)["directory"] | ||||
directory_content = archive_data.directory_ls(directory) | directory_content = archive_data.directory_ls(directory) | ||||
directory_file = random.choice( | directory_file = random.choice( | ||||
[e for e in directory_content if e["type"] == "file"] | [e for e in directory_content if e["type"] == "file"] | ||||
) | ) | ||||
▲ Show 20 Lines • Show All 48 Lines • Show Last 20 Lines |