diff --git a/swh/web/misc/coverage.py b/swh/web/misc/coverage.py --- a/swh/web/misc/coverage.py +++ b/swh/web/misc/coverage.py @@ -179,6 +179,14 @@ "search_pattern": "googlecode.com", "count": "790,026", }, + { + "type": "bitbucket", + "info_url": "https://bitbucket.org", + "info": "public repositories from Bitbucket", + "search_pattern": "https://bitbucket.org/", + "visit_types": ["hg"], + "count": "336,795", + } ], } 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 @@ -10,7 +10,6 @@ ACCESS_CONTROL_ALLOW_METHODS, ACCESS_CONTROL_ALLOW_ORIGIN, ) -from hypothesis import given from swh.model.swhids import ObjectType from swh.web.api.apiresponse import ( @@ -22,7 +21,6 @@ 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 content, directory, revision from swh.web.tests.utils import check_http_get_response, check_http_post_response @@ -153,7 +151,6 @@ assert "Traceback" in resp.data["traceback"] -@given(content(), directory(), 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 @@ -1,24 +1,14 @@ -# Copyright (C) 2015-2020 The Software Heritage developers +# Copyright (C) 2015-2021 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information import random -from hypothesis import given - from swh.model.hashutil import DEFAULT_ALGORITHMS 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 ( - content, - directory, - origin, - release, - revision, - snapshot, -) url_map = [ { @@ -107,7 +97,6 @@ assert actual_release == {} -@given(release()) def test_enrich_release_content_target(api_request_factory, archive_data, release): release_data = archive_data.release_get(release) @@ -127,7 +116,6 @@ assert actual_release == release_data -@given(release()) def test_enrich_release_directory_target(api_request_factory, archive_data, release): release_data = archive_data.release_get(release) @@ -147,7 +135,6 @@ assert actual_release == release_data -@given(release()) def test_enrich_release_revision_target(api_request_factory, archive_data, release): release_data = archive_data.release_get(release) @@ -165,7 +152,6 @@ assert actual_release == release_data -@given(release()) def test_enrich_release_release_target(api_request_factory, archive_data, release): release_data = archive_data.release_get(release) @@ -187,7 +173,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) @@ -227,7 +212,6 @@ assert utils.enrich_content({"id": "123"}) == {"id": "123"} -@given(content()) def test_enrich_content_with_hashes(api_request_factory, content): for algo in DEFAULT_ALGORITHMS: @@ -262,7 +246,6 @@ assert enriched_content == content_data -@given(content()) def test_enrich_content_with_hashes_and_top_level_url(api_request_factory, content): for algo in DEFAULT_ALGORITHMS: @@ -301,7 +284,6 @@ assert enriched_content == content_data -@given(revision()) def test_enrich_revision_without_children_or_parent( api_request_factory, archive_data, revision ): @@ -331,11 +313,10 @@ assert actual_revision == revision_data -@given(revision(), revision(), revision()) def test_enrich_revision_with_children_and_parent_no_dir( - api_request_factory, archive_data, revision, parent_revision, child_revision + api_request_factory, archive_data, revisions_list ): - + revision, parent_revision, child_revision = revisions_list(size=3) revision_data = archive_data.revision_get(revision) del revision_data["directory"] revision_data["parents"] = revision_data["parents"] + (parent_revision,) @@ -373,11 +354,8 @@ assert actual_revision == revision_data -@given(revision(), revision(), revision()) -def test_enrich_revision_no_context( - api_request_factory, revision, parent_revision, child_revision -): - +def test_enrich_revisionno_context(api_request_factory, revisions_list): + revision, parent_revision, child_revision = revisions_list(size=3) revision_data = { "id": revision, "parents": [parent_revision], @@ -417,11 +395,10 @@ assert actual_revision == revision_data -@given(revision(), revision(), revision()) def test_enrich_revision_with_no_message( - api_request_factory, archive_data, revision, parent_revision, child_revision + api_request_factory, archive_data, revisions_list ): - + revision, parent_revision, child_revision = revisions_list(size=3) revision_data = archive_data.revision_get(revision) revision_data["message"] = None revision_data["parents"] = revision_data["parents"] + (parent_revision,) @@ -465,11 +442,10 @@ assert actual_revision == revision_data -@given(revision(), revision(), revision()) def test_enrich_revision_with_invalid_message( - api_request_factory, archive_data, revision, parent_revision, child_revision + api_request_factory, archive_data, revisions_list ): - + revision, parent_revision, child_revision = revisions_list(size=3) revision_data = archive_data.revision_get(revision) revision_data["decoding_failures"] = ["message"] revision_data["parents"] = revision_data["parents"] + (parent_revision,) @@ -517,7 +493,6 @@ assert actual_revision == revision_data -@given(snapshot()) def test_enrich_snapshot(api_request_factory, archive_data, snapshot): snapshot_data = archive_data.snapshot_get(snapshot) @@ -548,7 +523,6 @@ assert actual_snapshot == snapshot_data -@given(origin()) def test_enrich_origin(api_request_factory, origin): url = reverse("api-1-origin", url_args={"origin_url": origin["url"]}) request = api_request_factory.get(url) @@ -563,7 +537,6 @@ assert actual_origin == origin_data -@given(origin()) def test_enrich_origin_search_result(api_request_factory, origin): url = reverse("api-1-origin-search", url_args={"url_pattern": origin["url"]}) request = api_request_factory.get(url) @@ -588,7 +561,6 @@ ) -@given(origin()) def test_enrich_origin_visit(api_request_factory, origin): origin_visit = random.choice(get_origin_visits(origin)) diff --git a/swh/web/tests/api/views/test_content.py b/swh/web/tests/api/views/test_content.py --- a/swh/web/tests/api/views/test_content.py +++ b/swh/web/tests/api/views/test_content.py @@ -3,13 +3,11 @@ # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information -from hypothesis import given import pytest from swh.web.common.utils import reverse from swh.web.tests.conftest import ctags_json_missing, fossology_missing from swh.web.tests.data import random_content -from swh.web.tests.strategies import content, contents_with_ctags from swh.web.tests.utils import ( check_api_get_responses, check_api_post_responses, @@ -17,7 +15,6 @@ ) -@given(content()) def test_api_content_filetype(api_client, indexer_data, content): indexer_data.content_add_mimetype(content["sha1"]) url = reverse( @@ -68,7 +65,6 @@ @pytest.mark.skipif( ctags_json_missing, reason="requires ctags with json output support" ) -@given(contents_with_ctags()) def test_api_content_symbol(api_client, indexer_data, contents_with_ctags): expected_data = {} for content_sha1 in contents_with_ctags["sha1s"]: @@ -136,7 +132,6 @@ @pytest.mark.skipif( ctags_json_missing, reason="requires ctags with json output support" ) -@given(content()) def test_api_content_ctags(api_client, indexer_data, content): indexer_data.content_add_ctags(content["sha1"]) url = reverse( @@ -155,7 +150,6 @@ @pytest.mark.skipif(fossology_missing, reason="requires fossology-nomossa installed") -@given(content()) def test_api_content_license(api_client, indexer_data, content): indexer_data.content_add_license(content["sha1"]) url = reverse( @@ -191,7 +185,6 @@ } -@given(content()) def test_api_content_metadata(api_client, archive_data, content): url = reverse("api-1-content", {"q": "sha1:%s" % content["sha1"]}) rv = check_api_get_responses(api_client, url, status_code=200) @@ -236,7 +229,6 @@ } -@given(content()) def test_api_content_raw_text(api_client, archive_data, content): url = reverse("api-1-content-raw", url_args={"q": "sha1:%s" % content["sha1"]}) @@ -250,7 +242,6 @@ assert rv.content == expected_data["data"] -@given(content()) def test_api_content_raw_text_with_filename(api_client, archive_data, content): url = reverse( "api-1-content-raw", @@ -264,7 +255,6 @@ assert rv.content == expected_data["data"] -@given(content()) def test_api_check_content_known(api_client, content): url = reverse("api-1-content-known", url_args={"q": content["sha1"]}) rv = check_api_get_responses(api_client, url, status_code=200) @@ -274,7 +264,6 @@ } -@given(content()) def test_api_check_content_known_post(api_client, content): url = reverse("api-1-content-known") rv = check_api_post_responses( @@ -298,7 +287,6 @@ } -@given(content()) def test_api_content_uppercase(api_client, content): url = reverse( "api-1-content-uppercase-checksum", url_args={"q": content["sha1"].upper()} 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_graph.py b/swh/web/tests/api/views/test_graph.py --- a/swh/web/tests/api/views/test_graph.py +++ b/swh/web/tests/api/views/test_graph.py @@ -1,4 +1,4 @@ -# Copyright (C) 2020 The Software Heritage developers +# Copyright (C) 2021 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information @@ -7,8 +7,6 @@ import json import textwrap -from hypothesis import given - from django.http.response import StreamingHttpResponse from swh.model.hashutil import hash_to_bytes @@ -16,7 +14,6 @@ from swh.web.api.views.graph import API_GRAPH_PERM from swh.web.common.utils import reverse from swh.web.config import SWH_WEB_INTERNAL_SERVER_NAME, get_config -from swh.web.tests.strategies import origin from swh.web.tests.utils import check_http_get_response @@ -165,7 +162,6 @@ assert b"".join(resp.streaming_content) == response_ndjson.encode() -@given(origin()) def test_graph_response_resolve_origins( archive_data, api_client, keycloak_oidc, requests_mock, origin ): 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 @@ -3,31 +3,16 @@ # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information -from hypothesis import given from swh.model.swhids import ObjectType from swh.web.common.identifiers import gen_swhid from swh.web.common.utils import reverse from swh.web.tests.data import random_sha1 -from swh.web.tests.strategies import ( - content, - directory, - origin, - release, - revision, - snapshot, - unknown_content, - unknown_directory, - unknown_release, - unknown_revision, - unknown_snapshot, -) from swh.web.tests.utils import check_api_get_responses, check_api_post_responses -@given(origin(), content(), directory(), release(), revision(), snapshot()) def test_swhid_resolve_success( - api_client, client, origin, content, directory, release, revision, snapshot + api_client, content, directory, origin, release, revision, snapshot ): for obj_type, obj_id in ( @@ -79,13 +64,6 @@ check_api_get_responses(api_client, url, status_code=400) -@given( - unknown_content(), - unknown_directory(), - unknown_release(), - unknown_revision(), - unknown_snapshot(), -) def test_swhid_resolve_not_found( api_client, unknown_content, @@ -116,7 +94,6 @@ check_api_get_responses(api_client, url, status_code=400) -@given(content(), directory(), release(), revision(), snapshot()) def test_api_known_swhid_all_present( api_client, content, directory, release, revision, snapshot ): @@ -135,7 +112,6 @@ assert resp.data == {swhid: {"known": True} for swhid in input_swhids} -@given(content(), 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_origin.py b/swh/web/tests/api/views/test_origin.py --- a/swh/web/tests/api/views/test_origin.py +++ b/swh/web/tests/api/views/test_origin.py @@ -26,7 +26,7 @@ ORIGIN_METADATA_KEY, ORIGIN_METADATA_VALUE, ) -from swh.web.tests.strategies import new_origin, new_snapshots, origin, visit_dates +from swh.web.tests.strategies import new_origin, new_snapshots, visit_dates from swh.web.tests.utils import check_api_get_responses @@ -322,7 +322,6 @@ assert rv.data == expected_visit -@given(origin()) def test_api_lookup_origin_visit_not_found(api_client, origin): all_visits = list(reversed(get_origin_visits(origin))) @@ -394,7 +393,6 @@ assert {origin["url"] for origin in results} == origin_urls -@given(origin()) def test_api_origin_by_url(api_client, archive_data, origin): origin_url = origin["url"] url = reverse("api-1-origin", url_args={"origin_url": origin_url}) @@ -706,7 +704,6 @@ oimsft.assert_called_with(conjunction=[ORIGIN_METADATA_VALUE], limit=100) -@given(origin()) def test_api_origin_intrinsic_metadata(api_client, origin): url = reverse( 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 @@ -5,8 +5,6 @@ from datetime import datetime -from hypothesis import given - from swh.model.hashutil import hash_to_bytes, hash_to_hex from swh.model.model import ( ObjectType, @@ -17,11 +15,9 @@ ) from swh.web.common.utils import reverse from swh.web.tests.data import random_sha1 -from swh.web.tests.strategies import content, directory, release from swh.web.tests.utils import check_api_get_responses, check_http_get_response -@given(release()) def test_api_release(api_client, archive_data, release): url = reverse("api-1-release", url_args={"sha1_git": release}) @@ -39,7 +35,6 @@ assert rv.data == expected_release -@given(content(), directory(), release()) def test_api_release_target_type_not_a_revision( api_client, archive_data, content, directory, release ): @@ -107,7 +102,6 @@ } -@given(release()) def test_api_release_uppercase(api_client, release): url = reverse( "api-1-release-uppercase-checksum", url_args={"sha1_git": release.upper()} diff --git a/swh/web/tests/api/views/test_revision.py b/swh/web/tests/api/views/test_revision.py --- a/swh/web/tests/api/views/test_revision.py +++ b/swh/web/tests/api/views/test_revision.py @@ -1,4 +1,4 @@ -# Copyright (C) 2015-2019 The Software Heritage developers +# Copyright (C) 2015-2021 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information @@ -17,11 +17,10 @@ from swh.web.api.utils import enrich_content, enrich_directory_entry, enrich_revision from swh.web.common.utils import reverse from swh.web.tests.data import random_sha1 -from swh.web.tests.strategies import content, new_person, new_swh_date, revision +from swh.web.tests.strategies import new_person, new_swh_date from swh.web.tests.utils import check_api_get_responses, check_http_get_response -@given(revision()) def test_api_revision(api_client, archive_data, revision): url = reverse("api-1-revision", url_args={"sha1_git": revision}) rv = check_api_get_responses(api_client, url, status_code=200) @@ -44,7 +43,6 @@ } -@given(revision()) def test_api_revision_raw_ok(api_client, archive_data, revision): url = reverse("api-1-revision-raw-message", url_args={"sha1_git": revision}) @@ -68,7 +66,6 @@ } -@given(revision()) def test_api_revision_log(api_client, archive_data, revision): limit = 10 @@ -111,7 +108,6 @@ } -@given(revision()) def test_api_revision_directory_ok_returns_dir_entries( api_client, archive_data, revision ): @@ -132,7 +128,7 @@ } -@given(content(), new_person(), new_swh_date()) +@given(new_person(), new_swh_date()) def test_api_revision_directory_ok_returns_content( api_client, archive_data, content, person, date ): @@ -176,7 +172,7 @@ } -@given(revision(), new_person(), new_swh_date()) +@given(new_person(), new_swh_date()) def test_api_revision_directory_ok_returns_revision( api_client, archive_data, revision, person, date ): @@ -220,7 +216,6 @@ } -@given(revision()) def test_api_revision_uppercase(api_client, revision): url = reverse( "api-1-revision-uppercase-checksum", url_args={"sha1_git": revision.upper()} diff --git a/swh/web/tests/api/views/test_snapshot.py b/swh/web/tests/api/views/test_snapshot.py --- a/swh/web/tests/api/views/test_snapshot.py +++ b/swh/web/tests/api/views/test_snapshot.py @@ -1,4 +1,4 @@ -# Copyright (C) 2018-2019 The Software Heritage developers +# Copyright (C) 2018-2021 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU Affero General Public License version 3, or any later version # See top-level LICENSE file for more information @@ -12,15 +12,10 @@ from swh.web.api.utils import enrich_snapshot from swh.web.common.utils import reverse from swh.web.tests.data import random_sha1 -from swh.web.tests.strategies import ( - new_snapshot, - origin_with_pull_request_branches, - snapshot, -) +from swh.web.tests.strategies import new_snapshot from swh.web.tests.utils import check_api_get_responses, check_http_get_response -@given(snapshot()) def test_api_snapshot(api_client, archive_data, snapshot): url = reverse("api-1-snapshot", url_args={"snapshot_id": snapshot}) @@ -30,7 +25,6 @@ assert rv.data == expected_data -@given(snapshot()) def test_api_snapshot_paginated(api_client, archive_data, snapshot): branches_offset = 0 @@ -92,7 +86,6 @@ assert rv.data == whole_snapshot -@given(snapshot()) def test_api_snapshot_filtered(api_client, archive_data, snapshot): snapshot_branches = [] @@ -129,7 +122,6 @@ check_api_get_responses(api_client, url, status_code=404) -@given(snapshot()) def test_api_snapshot_uppercase(api_client, snapshot): url = reverse( "api-1-snapshot-uppercase-checksum", url_args={"snapshot_id": snapshot.upper()} @@ -156,13 +148,12 @@ check_api_get_responses(api_client, url, status_code=200) -@given(origin_with_pull_request_branches()) def test_api_snapshot_no_pull_request_branches_filtering( - api_client, archive_data, origin + api_client, archive_data, origin_with_pull_request_branches ): """Pull request branches should not be filtered out when querying a snapshot with the Web API.""" - snapshot = archive_data.snapshot_get_latest(origin.url) + snapshot = archive_data.snapshot_get_latest(origin_with_pull_request_branches.url) url = reverse("api-1-snapshot", url_args={"snapshot_id": snapshot["id"]}) resp = check_api_get_responses(api_client, url, status_code=200) assert any([b.startswith("refs/pull/") for b in resp.data["branches"]]) 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 @@ -5,18 +5,11 @@ import re -from hypothesis import given import pytest 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.utils import ( check_api_get_responses, check_api_post_responses, @@ -28,7 +21,6 @@ # Current API: -@given(directory(), revision()) def test_api_vault_cook(api_client, mocker, directory, revision): mock_archive = mocker.patch("swh.web.api.views.vault.archive") @@ -78,7 +70,6 @@ mock_archive.vault_fetch.assert_called_with(bundle_type, swhid) -@given(directory(), revision(), unknown_directory(), unknown_revision()) def test_api_vault_cook_notfound( api_client, mocker, directory, revision, unknown_directory, unknown_revision ): @@ -191,7 +182,6 @@ # Legacy API: -@given(directory(), revision()) def test_api_vault_cook_legacy(api_client, mocker, directory, revision): mock_archive = mocker.patch("swh.web.api.views.vault.archive") @@ -243,7 +233,6 @@ mock_archive.vault_fetch.assert_called_with(bundle_type, swhid) -@given(directory(), revision()) def test_api_vault_cook_uppercase_hash_legacy(api_client, directory, revision): for obj_type, obj_id in ( @@ -279,7 +268,6 @@ assert rv["location"] == redirect_url -@given(directory(), 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/test_snapshot_context.py b/swh/web/tests/browse/test_snapshot_context.py --- a/swh/web/tests/browse/test_snapshot_context.py +++ b/swh/web/tests/browse/test_snapshot_context.py @@ -5,8 +5,6 @@ import random -from hypothesis import given - from swh.model.swhids import ObjectType from swh.web.browse.snapshot_context import ( _get_release, @@ -23,16 +21,10 @@ SnapshotReleaseInfo, ) from swh.web.common.utils import format_utc_iso_date, reverse -from swh.web.tests.strategies import ( - origin_with_multiple_visits, - origin_with_releases, - snapshot, -) -@given(origin_with_multiple_visits()) -def test_get_origin_visit_snapshot_simple(archive_data, origin): - visits = archive_data.origin_visit_get(origin["url"]) +def test_get_origin_visit_snapshot_simple(archive_data, origin_with_multiple_visits): + visits = archive_data.origin_visit_get(origin_with_multiple_visits["url"]) for visit in visits: @@ -86,13 +78,12 @@ assert branches and releases, "Incomplete test data." origin_visit_branches = get_origin_visit_snapshot( - origin, visit_id=visit["visit"] + origin_with_multiple_visits, visit_id=visit["visit"] ) assert origin_visit_branches == (branches, releases, aliases) -@given(snapshot()) def test_get_snapshot_context_no_origin(archive_data, snapshot): for browse_context, kwargs in ( @@ -172,20 +163,21 @@ ) -@given(origin_with_multiple_visits()) -def test_get_snapshot_context_with_origin(archive_data, origin): +def test_get_snapshot_context_with_origin(archive_data, origin_with_multiple_visits): - origin_visits = get_origin_visits(origin) + origin_visits = get_origin_visits(origin_with_multiple_visits) timestamp = format_utc_iso_date(origin_visits[0]["date"], "%Y-%m-%dT%H:%M:%SZ") visit_id = origin_visits[1]["visit"] + origin_url = origin_with_multiple_visits["url"] + for browse_context, kwargs in ( - ("content", {"origin_url": origin["url"], "path": "/some/path"}), - ("directory", {"origin_url": origin["url"]}), - ("log", {"origin_url": origin["url"]}), - ("directory", {"origin_url": origin["url"], "timestamp": timestamp,},), - ("directory", {"origin_url": origin["url"], "visit_id": visit_id,},), + ("content", {"origin_url": origin_url, "path": "/some/path"}), + ("directory", {"origin_url": origin_url}), + ("log", {"origin_url": origin_url}), + ("directory", {"origin_url": origin_url, "timestamp": timestamp,},), + ("directory", {"origin_url": origin_url, "visit_id": visit_id,},), ): visit_id = kwargs["visit_id"] if "visit_id" in kwargs else None @@ -243,7 +235,7 @@ branches=branches, branches_url=branches_url, is_empty=is_empty, - origin_info={"url": origin["url"]}, + origin_info={"url": origin_url}, origin_visits_url=origin_visits_url, release=None, release_alias=False, @@ -382,9 +374,8 @@ assert snapshot_context == expected_revision -@given(origin_with_releases()) -def test_get_release_large_snapshot(archive_data, origin): - snapshot = archive_data.snapshot_get_latest(origin["url"]) +def test_get_release_large_snapshot(archive_data, origin_with_releases): + snapshot = archive_data.snapshot_get_latest(origin_with_releases["url"]) release_id = random.choice( [ v["target"] diff --git a/swh/web/tests/browse/views/test_content.py b/swh/web/tests/browse/views/test_content.py --- a/swh/web/tests/browse/views/test_content.py +++ b/swh/web/tests/browse/views/test_content.py @@ -5,8 +5,6 @@ import random -from hypothesis import given - from django.utils.html import escape from swh.model.swhids import ObjectType @@ -20,39 +18,27 @@ from swh.web.common.identifiers import gen_swhid 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 ( - content, - content_application_no_highlight, - content_image_type, - content_text, - content_text_no_highlight, - content_text_non_utf8, - content_unsupported_image_type_rendering, - content_utf8_detected_as_binary, - invalid_sha1, - origin_with_multiple_visits, - unknown_content, -) from swh.web.tests.utils import check_html_get_response, check_http_get_response -@given(content_text()) -def test_content_view_text(client, archive_data, content): - sha1_git = content["sha1_git"] +def test_content_view_text(client, archive_data, content_text): + sha1_git = content_text["sha1_git"] url = reverse( "browse-content", - url_args={"query_string": content["sha1"]}, - query_params={"path": content["path"]}, + url_args={"query_string": content_text["sha1"]}, + query_params={"path": content_text["path"]}, ) - url_raw = reverse("browse-content-raw", url_args={"query_string": content["sha1"]}) + url_raw = reverse( + "browse-content-raw", url_args={"query_string": content_text["sha1"]} + ) resp = check_html_get_response( client, url, status_code=200, template_used="browse/content.html" ) - content_display = _process_content_for_display(archive_data, content) + content_display = _process_content_for_display(archive_data, content_text) mimetype = content_display["mimetype"] if mimetype.startswith("text/"): @@ -67,9 +53,10 @@ assert_not_contains(resp, "swh-metadata-popover") -@given(content_application_no_highlight(), content_text_no_highlight()) -def test_content_view_no_highlight(client, archive_data, content_app, content_text): - for content_ in (content_app, content_text): +def test_content_view_no_highlight( + client, archive_data, content_application_no_highlight, content_text_no_highlight +): + for content_ in (content_application_no_highlight, content_text_no_highlight): content = content_ sha1_git = content["sha1_git"] @@ -96,17 +83,18 @@ assert_contains(resp, swh_cnt_id_url) -@given(content_text_non_utf8()) -def test_content_view_no_utf8_text(client, archive_data, content): - sha1_git = content["sha1_git"] +def test_content_view_no_utf8_text(client, archive_data, content_text_non_utf8): + sha1_git = content_text_non_utf8["sha1_git"] - url = reverse("browse-content", url_args={"query_string": content["sha1"]}) + url = reverse( + "browse-content", url_args={"query_string": content_text_non_utf8["sha1"]} + ) resp = check_html_get_response( client, url, status_code=200, template_used="browse/content.html" ) - content_display = _process_content_for_display(archive_data, content) + content_display = _process_content_for_display(archive_data, content_text_non_utf8) swh_cnt_id = gen_swhid(ObjectType.CONTENT, sha1_git) swh_cnt_id_url = reverse("browse-swhid", url_args={"swhid": swh_cnt_id}) @@ -114,33 +102,40 @@ assert_contains(resp, escape(content_display["content_data"])) -@given(content_image_type()) -def test_content_view_image(client, archive_data, content): - url = reverse("browse-content", url_args={"query_string": content["sha1"]}) +def test_content_view_image(client, archive_data, content_image_type): + url = reverse( + "browse-content", url_args={"query_string": content_image_type["sha1"]} + ) - url_raw = reverse("browse-content-raw", url_args={"query_string": content["sha1"]}) + url_raw = reverse( + "browse-content-raw", url_args={"query_string": content_image_type["sha1"]} + ) resp = check_html_get_response( client, url, status_code=200, template_used="browse/content.html" ) - content_display = _process_content_for_display(archive_data, content) + content_display = _process_content_for_display(archive_data, content_image_type) mimetype = content_display["mimetype"] content_data = content_display["content_data"] assert_contains(resp, '' % (mimetype, content_data)) assert_contains(resp, url_raw) -@given(content_unsupported_image_type_rendering()) -def test_content_view_image_no_rendering(client, archive_data, content): - url = reverse("browse-content", url_args={"query_string": content["sha1"]}) +def test_content_view_image_no_rendering( + client, archive_data, content_unsupported_image_type_rendering +): + url = reverse( + "browse-content", + url_args={"query_string": content_unsupported_image_type_rendering["sha1"]}, + ) resp = check_html_get_response( client, url, status_code=200, template_used="browse/content.html" ) - mimetype = content["mimetype"] - encoding = content["encoding"] + mimetype = content_unsupported_image_type_rendering["mimetype"] + encoding = content_unsupported_image_type_rendering["encoding"] assert_contains( resp, ( @@ -150,13 +145,12 @@ ) -@given(content_text()) -def test_content_view_text_with_path(client, archive_data, content): - path = content["path"] +def test_content_view_text_with_path(client, archive_data, content_text): + path = content_text["path"] url = reverse( "browse-content", - url_args={"query_string": content["sha1"]}, + url_args={"query_string": content_text["sha1"]}, query_params={"path": path}, ) @@ -166,11 +160,11 @@ assert_contains(resp, '