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, '