Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/common/test_archive.py
Show All 29 Lines | |||||
from swh.web.tests.conftest import ctags_json_missing, fossology_missing | from swh.web.tests.conftest import ctags_json_missing, fossology_missing | ||||
from swh.web.tests.data import random_content, random_sha1 | from swh.web.tests.data import random_content, random_sha1 | ||||
from swh.web.tests.strategies import ( | from swh.web.tests.strategies import ( | ||||
ancestor_revisions, | ancestor_revisions, | ||||
invalid_sha1, | invalid_sha1, | ||||
new_origin, | new_origin, | ||||
new_revision, | new_revision, | ||||
non_ancestor_revisions, | non_ancestor_revisions, | ||||
release, | |||||
releases, | |||||
revision, | revision, | ||||
revision_with_submodules, | revision_with_submodules, | ||||
revisions, | revisions, | ||||
sha256, | sha256, | ||||
snapshot, | snapshot, | ||||
unknown_content, | unknown_content, | ||||
unknown_contents, | unknown_contents, | ||||
unknown_directory, | unknown_directory, | ||||
▲ Show 20 Lines • Show All 198 Lines • ▼ Show 20 Lines | |||||
@given(sha256()) | @given(sha256()) | ||||
def test_lookup_release_ko_id_checksum_too_long(sha256): | def test_lookup_release_ko_id_checksum_too_long(sha256): | ||||
with pytest.raises(BadInputExc) as e: | with pytest.raises(BadInputExc) as e: | ||||
archive.lookup_release(sha256) | archive.lookup_release(sha256) | ||||
assert e.match("Only sha1_git is supported.") | assert e.match("Only sha1_git is supported.") | ||||
@given(releases()) | |||||
def test_lookup_release_multiple(archive_data, releases): | def test_lookup_release_multiple(archive_data, releases): | ||||
actual_releases = list(archive.lookup_release_multiple(releases)) | actual_releases = list(archive.lookup_release_multiple(releases)) | ||||
expected_releases = [] | expected_releases = [] | ||||
for release_id in releases: | for release_id in releases: | ||||
release_info = archive_data.release_get(release_id) | release_info = archive_data.release_get(release_id) | ||||
expected_releases.append(release_info) | expected_releases.append(release_info) | ||||
Show All 20 Lines | |||||
def test_lookup_directory_with_path_found(archive_data, directory): | def test_lookup_directory_with_path_found(archive_data, directory): | ||||
directory_content = archive_data.directory_ls(directory) | directory_content = archive_data.directory_ls(directory) | ||||
directory_entry = random.choice(directory_content) | directory_entry = random.choice(directory_content) | ||||
path = directory_entry["name"] | path = directory_entry["name"] | ||||
actual_result = archive.lookup_directory_with_path(directory, path) | actual_result = archive.lookup_directory_with_path(directory, path) | ||||
assert actual_result == directory_entry | assert actual_result == directory_entry | ||||
@given(release()) | |||||
def test_lookup_release(archive_data, release): | def test_lookup_release(archive_data, release): | ||||
actual_release = archive.lookup_release(release) | actual_release = archive.lookup_release(release) | ||||
assert actual_release == archive_data.release_get(release) | assert actual_release == archive_data.release_get(release) | ||||
@given(revision(), invalid_sha1(), sha256()) | @given(revision(), invalid_sha1(), sha256()) | ||||
def test_lookup_revision_with_context_ko_not_a_sha1(revision, invalid_sha1, sha256): | def test_lookup_revision_with_context_ko_not_a_sha1(revision, invalid_sha1, sha256): | ||||
▲ Show 20 Lines • Show All 516 Lines • ▼ Show 20 Lines | def test_lookup_directory_through_revision_ok_with_data(archive_data, revision): | ||||
) == ( | ) == ( | ||||
revision, | revision, | ||||
archive.lookup_directory_with_revision( | archive.lookup_directory_with_revision( | ||||
revision, dir_entry["name"], with_data=True | revision, dir_entry["name"], with_data=True | ||||
), | ), | ||||
) | ) | ||||
@given(release(), revision(), snapshot()) | @given(revision(), snapshot()) | ||||
def test_lookup_known_objects( | def test_lookup_known_objects( | ||||
archive_data, content, directory, release, revision, snapshot | archive_data, content, directory, release, revision, snapshot | ||||
): | ): | ||||
expected = archive_data.content_find(content) | expected = archive_data.content_find(content) | ||||
assert archive.lookup_object(ObjectType.CONTENT, content["sha1_git"]) == expected | assert archive.lookup_object(ObjectType.CONTENT, content["sha1_git"]) == expected | ||||
expected = archive_data.directory_get(directory) | expected = archive_data.directory_get(directory) | ||||
assert archive.lookup_object(ObjectType.DIRECTORY, directory) == expected | assert archive.lookup_object(ObjectType.DIRECTORY, directory) == expected | ||||
▲ Show 20 Lines • Show All 372 Lines • Show Last 20 Lines |