diff --git a/swh/web/tests/api/test_apiresponse.py b/swh/web/tests/api/test_apiresponse.py --- a/swh/web/tests/api/test_apiresponse.py +++ b/swh/web/tests/api/test_apiresponse.py @@ -22,7 +22,7 @@ from swh.web.common.identifiers import gen_swhid from swh.web.common.utils import reverse from swh.web.tests.django_asserts import assert_contains -from swh.web.tests.strategies import directory, revision +from swh.web.tests.strategies import revision from swh.web.tests.utils import check_http_get_response, check_http_post_response @@ -153,7 +153,7 @@ assert "Traceback" in resp.data["traceback"] -@given(directory(), revision()) +@given(revision()) def test_api_endpoints_have_cors_headers(client, content, directory, revision): url = reverse("api-1-stat-counters") diff --git a/swh/web/tests/api/test_utils.py b/swh/web/tests/api/test_utils.py --- a/swh/web/tests/api/test_utils.py +++ b/swh/web/tests/api/test_utils.py @@ -11,7 +11,7 @@ from swh.web.api import utils from swh.web.common.origin_visits import get_origin_visits from swh.web.common.utils import resolve_branch_alias, reverse -from swh.web.tests.strategies import directory, origin, release, revision, snapshot +from swh.web.tests.strategies import origin, release, revision, snapshot url_map = [ { @@ -180,7 +180,6 @@ assert utils.enrich_directory_entry({"id": "dir-id"}) == {"id": "dir-id"} -@given(directory()) def test_enrich_directory_entry_with_type(api_request_factory, archive_data, directory): dir_content = archive_data.directory_ls(directory) diff --git a/swh/web/tests/api/views/test_directory.py b/swh/web/tests/api/views/test_directory.py --- a/swh/web/tests/api/views/test_directory.py +++ b/swh/web/tests/api/views/test_directory.py @@ -5,16 +5,12 @@ import random -from hypothesis import given - from swh.web.api.utils import enrich_directory_entry from swh.web.common.utils import reverse from swh.web.tests.data import random_sha1 -from swh.web.tests.strategies import directory from swh.web.tests.utils import check_api_get_responses, check_http_get_response -@given(directory()) def test_api_directory(api_client, archive_data, directory): url = reverse("api-1-directory", url_args={"sha1_git": directory}) @@ -39,7 +35,6 @@ } -@given(directory()) def test_api_directory_with_path_found(api_client, archive_data, directory): directory_content = archive_data.directory_ls(directory) @@ -52,7 +47,6 @@ assert rv.data == enrich_directory_entry(dir_entry, rv.wsgi_request) -@given(directory()) def test_api_directory_with_path_not_found(api_client, directory): path = "some/path/to/nonexistent/dir/" @@ -67,7 +61,6 @@ } -@given(directory()) def test_api_directory_uppercase(api_client, directory): url = reverse( "api-1-directory-uppercase-checksum", url_args={"sha1_git": directory.upper()} diff --git a/swh/web/tests/api/views/test_identifiers.py b/swh/web/tests/api/views/test_identifiers.py --- a/swh/web/tests/api/views/test_identifiers.py +++ b/swh/web/tests/api/views/test_identifiers.py @@ -10,7 +10,6 @@ from swh.web.common.utils import reverse from swh.web.tests.data import random_sha1 from swh.web.tests.strategies import ( - directory, origin, release, revision, @@ -24,9 +23,9 @@ from swh.web.tests.utils import check_api_get_responses, check_api_post_responses -@given(origin(), directory(), release(), revision(), snapshot()) +@given(origin(), release(), revision(), snapshot()) def test_swhid_resolve_success( - api_client, client, content, origin, directory, release, revision, snapshot + api_client, client, content, directory, origin, release, revision, snapshot ): for obj_type, obj_id in ( @@ -115,7 +114,7 @@ check_api_get_responses(api_client, url, status_code=400) -@given(directory(), release(), revision(), snapshot()) +@given(release(), revision(), snapshot()) def test_api_known_swhid_all_present( api_client, content, directory, release, revision, snapshot ): @@ -134,7 +133,6 @@ assert resp.data == {swhid: {"known": True} for swhid in input_swhids} -@given(directory()) def test_api_known_swhid_some_present(api_client, content, directory): content_ = gen_swhid(ObjectType.CONTENT, content["sha1_git"]) directory_ = gen_swhid(ObjectType.DIRECTORY, directory) diff --git a/swh/web/tests/api/views/test_release.py b/swh/web/tests/api/views/test_release.py --- a/swh/web/tests/api/views/test_release.py +++ b/swh/web/tests/api/views/test_release.py @@ -17,7 +17,7 @@ ) from swh.web.common.utils import reverse from swh.web.tests.data import random_sha1 -from swh.web.tests.strategies import directory, release +from swh.web.tests.strategies import release from swh.web.tests.utils import check_api_get_responses, check_http_get_response @@ -39,7 +39,7 @@ assert rv.data == expected_release -@given(directory(), release()) +@given(release()) def test_api_release_target_type_not_a_revision( api_client, archive_data, content, directory, release ): diff --git a/swh/web/tests/api/views/test_vault.py b/swh/web/tests/api/views/test_vault.py --- a/swh/web/tests/api/views/test_vault.py +++ b/swh/web/tests/api/views/test_vault.py @@ -11,12 +11,7 @@ from swh.model.swhids import CoreSWHID from swh.vault.exc import NotFoundExc from swh.web.common.utils import reverse -from swh.web.tests.strategies import ( - directory, - revision, - unknown_directory, - unknown_revision, -) +from swh.web.tests.strategies import revision, unknown_directory, unknown_revision from swh.web.tests.utils import ( check_api_get_responses, check_api_post_responses, @@ -28,7 +23,7 @@ # Current API: -@given(directory(), revision()) +@given(revision()) def test_api_vault_cook(api_client, mocker, directory, revision): mock_archive = mocker.patch("swh.web.api.views.vault.archive") @@ -78,7 +73,7 @@ mock_archive.vault_fetch.assert_called_with(bundle_type, swhid) -@given(directory(), revision(), unknown_directory(), unknown_revision()) +@given(revision(), unknown_directory(), unknown_revision()) def test_api_vault_cook_notfound( api_client, mocker, directory, revision, unknown_directory, unknown_revision ): @@ -191,7 +186,7 @@ # Legacy API: -@given(directory(), revision()) +@given(revision()) def test_api_vault_cook_legacy(api_client, mocker, directory, revision): mock_archive = mocker.patch("swh.web.api.views.vault.archive") @@ -243,7 +238,7 @@ mock_archive.vault_fetch.assert_called_with(bundle_type, swhid) -@given(directory(), revision()) +@given(revision()) def test_api_vault_cook_uppercase_hash_legacy(api_client, directory, revision): for obj_type, obj_id in ( @@ -279,7 +274,7 @@ assert rv["location"] == redirect_url -@given(directory(), revision(), unknown_directory(), unknown_revision()) +@given(revision(), unknown_directory(), unknown_revision()) def test_api_vault_cook_notfound_legacy( api_client, mocker, directory, revision, unknown_directory, unknown_revision ): diff --git a/swh/web/tests/browse/views/test_directory.py b/swh/web/tests/browse/views/test_directory.py --- a/swh/web/tests/browse/views/test_directory.py +++ b/swh/web/tests/browse/views/test_directory.py @@ -31,9 +31,6 @@ from swh.web.common.utils import gen_path_info, reverse from swh.web.tests.django_asserts import assert_contains, assert_not_contains from swh.web.tests.strategies import ( - directory, - directory_with_subdirs, - empty_directory, invalid_sha1, new_person, new_swh_date, @@ -43,20 +40,20 @@ from swh.web.tests.utils import check_html_get_response -@given(directory()) def test_root_directory_view(client, archive_data, directory): _directory_view_checks(client, directory, archive_data.directory_ls(directory)) -@given(directory_with_subdirs()) -def test_sub_directory_view(client, archive_data, directory): - dir_content = archive_data.directory_ls(directory) +def test_sub_directory_view(client, archive_data, directory_with_subdirs): + dir_content = archive_data.directory_ls(directory_with_subdirs) subdir = random.choice([e for e in dir_content if e["type"] == "dir"]) subdir_content = archive_data.directory_ls(subdir["target"]) - _directory_view_checks(client, directory, subdir_content, subdir["name"]) + _directory_view_checks( + client, directory_with_subdirs, subdir_content, subdir["name"] + ) -@given(empty_directory(), new_person(), new_swh_date()) +@given(new_person(), new_swh_date()) def test_sub_directory_view_origin_context( client, archive_data, empty_directory, person, date ): @@ -153,7 +150,6 @@ ) -@given(directory()) def test_directory_with_invalid_path(client, directory): path = "foo/bar" dir_url = reverse( @@ -171,7 +167,6 @@ assert_contains(resp, error_message, status_code=404) -@given(directory()) def test_directory_uppercase(client, directory): url = reverse( "browse-directory-uppercase-checksum", url_args={"sha1_git": directory.upper()} @@ -184,7 +179,6 @@ assert resp["location"] == redirect_url -@given(directory()) def test_permalink_box_context(client, tests_data, directory): origin_url = random.choice(tests_data["origins"])["url"] url = reverse( diff --git a/swh/web/tests/browse/views/test_identifiers.py b/swh/web/tests/browse/views/test_identifiers.py --- a/swh/web/tests/browse/views/test_identifiers.py +++ b/swh/web/tests/browse/views/test_identifiers.py @@ -13,7 +13,7 @@ from swh.web.common.identifiers import gen_swhid from swh.web.common.utils import reverse from swh.web.tests.django_asserts import assert_contains -from swh.web.tests.strategies import directory, origin, release, revision, snapshot +from swh.web.tests.strategies import origin, release, revision, snapshot from swh.web.tests.utils import check_html_get_response @@ -33,7 +33,6 @@ assert resp["location"] == content_browse_url -@given(directory()) def test_directory_id_browse(client, directory): swhid = gen_swhid(ObjectType.DIRECTORY, directory) @@ -219,7 +218,6 @@ assert_contains(resp, swhid) -@given(directory()) def test_browse_swhid_special_characters_escaping(client, archive_data, directory): origin = "http://example.org/?project=abc;" archive_data.origin_add([Origin(url=origin)]) diff --git a/swh/web/tests/browse/views/test_revision.py b/swh/web/tests/browse/views/test_revision.py --- a/swh/web/tests/browse/views/test_revision.py +++ b/swh/web/tests/browse/views/test_revision.py @@ -17,7 +17,6 @@ from swh.web.common.utils import format_utc_iso_date, parse_iso8601_date_to_utc, reverse from swh.web.tests.django_asserts import assert_contains, assert_not_contains from swh.web.tests.strategies import ( - directory, new_origin, new_person, new_swh_date, @@ -323,7 +322,7 @@ assert_not_contains(resp, "swh-metadata-popover", status_code=404) -@given(directory(), new_person(), new_swh_date()) +@given(new_person(), new_swh_date()) def test_revision_metadata_display(archive_data, client, directory, person, date): metadata = {"foo": "bar"} revision = Revision( diff --git a/swh/web/tests/common/test_archive.py b/swh/web/tests/common/test_archive.py --- a/swh/web/tests/common/test_archive.py +++ b/swh/web/tests/common/test_archive.py @@ -31,8 +31,6 @@ from swh.web.tests.data import random_content, random_sha1 from swh.web.tests.strategies import ( ancestor_revisions, - directory, - empty_directory, invalid_sha1, new_origin, new_revision, @@ -274,7 +272,6 @@ assert actual_releases == [None] * len(unknown_releases_) -@given(directory()) def test_lookup_directory_with_path_not_found(directory): path = "some/invalid/path/here" with pytest.raises(NotFoundExc) as e: @@ -284,7 +281,6 @@ ) -@given(directory()) def test_lookup_directory_with_path_found(archive_data, directory): directory_content = archive_data.directory_ls(directory) directory_entry = random.choice(directory_content) @@ -671,7 +667,6 @@ assert e.match("Directory with sha1_git %s not found" % unknown_directory_) -@given(directory()) def test_lookup_directory(archive_data, directory): actual_directory_ls = list(archive.lookup_directory(directory)) @@ -680,7 +675,6 @@ assert actual_directory_ls == expected_directory_ls -@given(empty_directory()) def test_lookup_directory_empty(empty_directory): actual_directory_ls = list(archive.lookup_directory(empty_directory)) @@ -835,7 +829,7 @@ ) -@given(directory(), release(), revision(), snapshot()) +@given(release(), revision(), snapshot()) def test_lookup_known_objects( archive_data, content, directory, release, revision, snapshot ): @@ -940,7 +934,6 @@ } -@given(directory()) def test_lookup_missing_hashes_some_present(content, directory): missing_rev = random_sha1() missing_rel = random_sha1() @@ -1156,7 +1149,7 @@ assert not branch_name.startswith(exclude_prefix) -@given(directory(), revision()) +@given(revision()) def test_lookup_snapshot_branch_names_filtering_paginated( archive_data, directory, revision ): diff --git a/swh/web/tests/common/test_identifiers.py b/swh/web/tests/common/test_identifiers.py --- a/swh/web/tests/common/test_identifiers.py +++ b/swh/web/tests/common/test_identifiers.py @@ -26,9 +26,6 @@ from swh.web.common.utils import reverse from swh.web.tests.data import random_sha1 from swh.web.tests.strategies import ( - directory, - directory_with_files, - directory_with_subdirs, origin, origin_with_multiple_visits, release, @@ -72,7 +69,7 @@ assert e.match("Invalid swh object type") -@given(directory(), release(), revision(), snapshot()) +@given(release(), revision(), snapshot()) def test_resolve_swhid_legacy(content, directory, release, revision, snapshot): for obj_type, obj_id in ( (ObjectType.CONTENT, content["sha1_git"]), @@ -109,7 +106,7 @@ resolve_swhid(f"swh:1:ori:{random_sha1()}") -@given(directory(), release(), revision(), snapshot()) +@given(release(), revision(), snapshot()) def test_get_swhid(content, directory, release, revision, snapshot): for obj_type, obj_id in ( (ObjectType.CONTENT, content["sha1_git"]), @@ -128,7 +125,7 @@ get_swhid("foo") -@given(directory(), release(), revision(), snapshot()) +@given(release(), revision(), snapshot()) def test_group_swhids(content, directory, release, revision, snapshot): swhids = [] expected = {} @@ -149,23 +146,30 @@ assert swhid_groups == expected -@given(directory_with_subdirs()) -def test_get_swhids_info_directory_context(archive_data, directory): +def test_get_swhids_info_directory_context(archive_data, directory_with_subdirs): swhid = get_swhids_info( - [SWHObjectInfo(object_type=ObjectType.DIRECTORY, object_id=directory)], + [ + SWHObjectInfo( + object_type=ObjectType.DIRECTORY, object_id=directory_with_subdirs + ) + ], snapshot_context=None, )[0] assert swhid["swhid_with_context"] is None # path qualifier should be discarded for a root directory swhid = get_swhids_info( - [SWHObjectInfo(object_type=ObjectType.DIRECTORY, object_id=directory)], + [ + SWHObjectInfo( + object_type=ObjectType.DIRECTORY, object_id=directory_with_subdirs + ) + ], snapshot_context=None, extra_context={"path": "/"}, )[0] assert swhid["swhid_with_context"] is None - dir_content = archive_data.directory_ls(directory) + dir_content = archive_data.directory_ls(directory_with_subdirs) dir_subdirs = [e for e in dir_content if e["type"] == "dir"] dir_subdir = random.choice(dir_subdirs) dir_subdir_path = f'/{dir_subdir["name"]}/' @@ -178,7 +182,7 @@ ] extra_context = { - "root_directory": directory, + "root_directory": directory_with_subdirs, "path": dir_subdir_path, } @@ -202,7 +206,7 @@ for swhid in (swhid_lower, swhid_upper): swhid_dir_parsed = get_swhid(swhid) - anchor = gen_swhid(ObjectType.DIRECTORY, directory) + anchor = gen_swhid(ObjectType.DIRECTORY, directory_with_subdirs) assert swhid_dir_parsed.qualifiers() == { "anchor": anchor, @@ -439,8 +443,8 @@ assert swhid_rel_parsed.qualifiers() == expected_rev_context -@given(origin(), directory()) -def test_get_swhids_info_characters_and_url_escaping(archive_data, origin, directory): +@given(origin()) +def test_get_swhids_info_characters_and_url_escaping(archive_data, directory, origin): snapshot_context = get_snapshot_context(origin_url=origin["url"]) snapshot_context["origin_info"]["url"] = "http://example.org/?project=abc;def%" path = "/foo;/bar%" @@ -632,7 +636,6 @@ assert obj_swhid_resolved["browse_url"] == expected_url -@given(directory()) def test_resolve_swhid_with_escaped_chars(archive_data, directory): origin_url = "http://example.org/?project=abc;" archive_data.origin_add([Origin(url=origin_url)]) @@ -646,13 +649,14 @@ assert origin_swhid_url_escaped in resolved_swhid["browse_url"] -@given(directory_with_subdirs()) -def test_resolve_directory_swhid_path_without_trailing_slash(archive_data, directory): - dir_content = archive_data.directory_ls(directory) +def test_resolve_directory_swhid_path_without_trailing_slash( + archive_data, directory_with_subdirs +): + dir_content = archive_data.directory_ls(directory_with_subdirs) dir_subdirs = [e for e in dir_content if e["type"] == "dir"] dir_subdir = random.choice(dir_subdirs) dir_subdir_path = dir_subdir["name"] - anchor = gen_swhid(ObjectType.DIRECTORY, directory) + anchor = gen_swhid(ObjectType.DIRECTORY, directory_with_subdirs) swhid = gen_swhid( ObjectType.DIRECTORY, dir_subdir["target"], @@ -661,13 +665,12 @@ resolved_swhid = resolve_swhid(swhid) browse_url = reverse( "browse-directory", - url_args={"sha1_git": directory}, + url_args={"sha1_git": directory_with_subdirs}, query_params={"path": dir_subdir_path}, ) assert resolved_swhid["browse_url"] == browse_url -@given(directory()) def test_resolve_swhid_with_malformed_origin_url(archive_data, directory): origin_url = "http://example.org/project/abc" malformed_origin_url = "http:/example.org/project/abc" @@ -716,14 +719,15 @@ assert resolved_swhid["browse_url"] == browse_url -@given(directory_with_subdirs()) -def test_resolve_dir_entry_swhid_with_anchor_directory(archive_data, directory): - dir_content = archive_data.directory_ls(directory) +def test_resolve_dir_entry_swhid_with_anchor_directory( + archive_data, directory_with_subdirs +): + dir_content = archive_data.directory_ls(directory_with_subdirs) dir_entry = random.choice( [entry for entry in dir_content if entry["type"] == "dir"] ) - dir_swhid = gen_swhid(ObjectType.DIRECTORY, directory) + dir_swhid = gen_swhid(ObjectType.DIRECTORY, directory_with_subdirs) swhid = gen_swhid( ObjectType.DIRECTORY, @@ -732,7 +736,7 @@ ) browse_url = reverse( "browse-directory", - url_args={"sha1_git": directory}, + url_args={"sha1_git": directory_with_subdirs}, query_params={"path": f"{dir_entry['name']}"}, ) @@ -741,14 +745,15 @@ assert resolved_swhid["browse_url"] == browse_url -@given(directory_with_files()) -def test_resolve_file_entry_swhid_with_anchor_directory(archive_data, directory): - dir_content = archive_data.directory_ls(directory) +def test_resolve_file_entry_swhid_with_anchor_directory( + archive_data, directory_with_files +): + dir_content = archive_data.directory_ls(directory_with_files) file_entry = random.choice( [entry for entry in dir_content if entry["type"] == "file"] ) - dir_swhid = gen_swhid(ObjectType.DIRECTORY, directory) + dir_swhid = gen_swhid(ObjectType.DIRECTORY, directory_with_files) sha1_git = file_entry["checksums"]["sha1_git"] swhid = gen_swhid( @@ -759,7 +764,7 @@ browse_url = reverse( "browse-content", url_args={"query_string": f"sha1_git:{sha1_git}"}, - query_params={"path": f"{directory}/{file_entry['name']}"}, + query_params={"path": f"{directory_with_files}/{file_entry['name']}"}, ) resolved_swhid = resolve_swhid(swhid) diff --git a/swh/web/tests/conftest.py b/swh/web/tests/conftest.py --- a/swh/web/tests/conftest.py +++ b/swh/web/tests/conftest.py @@ -27,7 +27,7 @@ hash_to_bytes, hash_to_hex, ) -from swh.model.model import Content +from swh.model.model import Content, Directory from swh.model.swhids import ObjectType from swh.scheduler.tests.common import TASK_TYPES from swh.storage.algos.origin import origin_get_latest_visit_status @@ -340,21 +340,79 @@ @pytest.fixture(scope="function") -def content_swhid(tests_data): +def directory(tests_data): + """Fixture returning a random directory ingested into the test archive. """ - Fixture returning a qualified SWHID for a random content object - ingested into the test archive. + return random.choice(_known_swh_objects(tests_data, "directories")) + + +def _directory_with_entry_type(tests_data, type_): + return random.choice( + list( + filter( + lambda d: any( + [ + e["type"] == type_ + for e in list( + tests_data["storage"].directory_ls(hash_to_bytes(d)) + ) + ] + ), + _known_swh_objects(tests_data, "directories"), + ) + ) + ) + + +@pytest.fixture(scope="function") +def directory_with_subdirs(tests_data): + """Fixture returning a random directory containing sub directories ingested + into the test archive. + """ + return _directory_with_entry_type(tests_data, "dir") + + +@pytest.fixture(scope="function") +def directory_with_files(tests_data): + """Fixture returning a random directory containing at least one regular file. """ + return _directory_with_entry_type(tests_data, "file") + + +@pytest.fixture(scope="function") +def empty_directory(): + """Fixture returning the empty directory ingested into the test archive. + """ + return Directory(entries=()).id.hex() + + +def _object_type_swhid(tests_data, object_type): return random.choice( list( filter( - lambda swhid: swhid.object_type == ObjectType.CONTENT, + lambda swhid: swhid.object_type == object_type, _known_swh_objects(tests_data, "swhids"), ) ) ) +@pytest.fixture(scope="function") +def content_swhid(tests_data): + """Fixture returning a qualified SWHID for a random content object + ingested into the test archive. + """ + return _object_type_swhid(tests_data, ObjectType.CONTENT) + + +@pytest.fixture(scope="function") +def directory_swhid(tests_data): + """Fixture returning a qualified SWHID for a random directory object + ingested into the test archive. + """ + return _object_type_swhid(tests_data, ObjectType.DIRECTORY) + + # Fixture to manipulate data from a sample archive used in the tests @pytest.fixture(scope="function") def archive_data(tests_data): diff --git a/swh/web/tests/misc/test_badges.py b/swh/web/tests/misc/test_badges.py --- a/swh/web/tests/misc/test_badges.py +++ b/swh/web/tests/misc/test_badges.py @@ -14,7 +14,6 @@ from swh.web.misc.badges import _badge_config, _get_logo_data from swh.web.tests.django_asserts import assert_contains from swh.web.tests.strategies import ( - directory, invalid_sha1, new_origin, origin, @@ -34,7 +33,6 @@ _test_badge_endpoints(client, "content", content["sha1_git"]) -@given(directory()) def test_directory_badge(client, directory): _test_badge_endpoints(client, "directory", directory) diff --git a/swh/web/tests/misc/test_iframe.py b/swh/web/tests/misc/test_iframe.py --- a/swh/web/tests/misc/test_iframe.py +++ b/swh/web/tests/misc/test_iframe.py @@ -8,7 +8,7 @@ from swh.model.hashutil import hash_to_bytes from swh.model.swhids import CoreSWHID, ObjectType from swh.web.common.utils import reverse -from swh.web.tests.strategies import directory_swhid, revision_swhid, unknown_directory +from swh.web.tests.strategies import revision_swhid, unknown_directory from swh.web.tests.utils import check_html_get_response @@ -29,7 +29,6 @@ ) -@given(directory_swhid()) def test_directory_swhid_iframe(client, directory_swhid): url = reverse("swhid-iframe", url_args={"swhid": str(directory_swhid)}) check_html_get_response( @@ -37,7 +36,6 @@ ) -@given(directory_swhid()) def test_directory_core_swhid_iframe(client, directory_swhid): directory_core_swhid = CoreSWHID( object_type=directory_swhid.object_type, object_id=directory_swhid.object_id diff --git a/swh/web/tests/strategies.py b/swh/web/tests/strategies.py --- a/swh/web/tests/strategies.py +++ b/swh/web/tests/strategies.py @@ -23,13 +23,7 @@ from swh.model.hashutil import hash_to_bytes, hash_to_hex from swh.model.hypothesis_strategies import origins as new_origin_strategy from swh.model.hypothesis_strategies import snapshots as new_snapshot -from swh.model.model import ( - Directory, - Person, - Revision, - RevisionType, - TimestampWithTimezone, -) +from swh.model.model import Person, Revision, RevisionType, TimestampWithTimezone from swh.model.swhids import ObjectType from swh.storage.algos.revisions_walker import get_revisions_walker from swh.storage.algos.snapshot import snapshot_get_latest @@ -111,51 +105,6 @@ return lists(unknown_content(), min_size=2, max_size=8) -def directory(): - """ - Hypothesis strategy returning a random directory ingested - into the test archive. - """ - return _known_swh_object("directories") - - -def _directory_with_entry_type(type_): - return directory().filter( - lambda d: any( - [ - e["type"] == type_ - for e in list( - get_tests_data()["storage"].directory_ls(hash_to_bytes(d)) - ) - ] - ) - ) - - -def directory_with_subdirs(): - """ - Hypothesis strategy returning a random directory containing - sub directories ingested into the test archive. - """ - return _directory_with_entry_type("dir") - - -def directory_with_files(): - """ - Hypothesis strategy returning a random directory containing - at least one regular file - """ - return _directory_with_entry_type("file") - - -def empty_directory(): - """ - Hypothesis strategy returning the empty directory ingested - into the test archive. - """ - return just(Directory(entries=()).id.hex()) - - def unknown_directory(): """ Hypothesis strategy returning a random directory not ingested @@ -516,14 +465,6 @@ return _known_swh_object("swhids") -def directory_swhid(): - """ - Hypothesis strategy returning a qualified SWHID for a directory object - ingested into the test archive. - """ - return swhid().filter(lambda swhid: swhid.object_type == ObjectType.DIRECTORY) - - def release_swhid(): """ Hypothesis strategy returning a qualified SWHID for a release object