Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/api/views/test_origin.py
Show All 20 Lines | |||||
from swh.web.common.utils import reverse | from swh.web.common.utils import reverse | ||||
from swh.web.tests.api.views.utils import scroll_results | from swh.web.tests.api.views.utils import scroll_results | ||||
from swh.web.tests.data import ( | from swh.web.tests.data import ( | ||||
INDEXER_TOOL, | INDEXER_TOOL, | ||||
ORIGIN_MASTER_REVISION, | ORIGIN_MASTER_REVISION, | ||||
ORIGIN_METADATA_KEY, | ORIGIN_METADATA_KEY, | ||||
ORIGIN_METADATA_VALUE, | 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 | from swh.web.tests.utils import check_api_get_responses | ||||
def test_api_lookup_origin_visits_raise_error(api_client, mocker): | def test_api_lookup_origin_visits_raise_error(api_client, mocker): | ||||
mock_get_origin_visits = mocker.patch("swh.web.api.views.origin.get_origin_visits") | mock_get_origin_visits = mocker.patch("swh.web.api.views.origin.get_origin_visits") | ||||
err_msg = "voluntary error to check the bad request middleware." | err_msg = "voluntary error to check the bad request middleware." | ||||
mock_get_origin_visits.side_effect = BadInputExc(err_msg) | mock_get_origin_visits.side_effect = BadInputExc(err_msg) | ||||
▲ Show 20 Lines • Show All 279 Lines • ▼ Show 20 Lines | def test_inner(archive_data): | ||||
with_origin_link=True, | with_origin_link=True, | ||||
with_origin_visit_link=False, | with_origin_visit_link=False, | ||||
request=rv.wsgi_request, | request=rv.wsgi_request, | ||||
) | ) | ||||
assert rv.data == expected_visit | assert rv.data == expected_visit | ||||
@given(origin()) | |||||
def test_api_lookup_origin_visit_not_found(api_client, origin): | def test_api_lookup_origin_visit_not_found(api_client, origin): | ||||
all_visits = list(reversed(get_origin_visits(origin))) | all_visits = list(reversed(get_origin_visits(origin))) | ||||
max_visit_id = max([v["visit"] for v in all_visits]) | max_visit_id = max([v["visit"] for v in all_visits]) | ||||
url = reverse( | url = reverse( | ||||
"api-1-origin-visit", | "api-1-origin-visit", | ||||
▲ Show 20 Lines • Show All 55 Lines • ▼ Show 20 Lines | def test_api_origins_scroll(api_client, archive_data, origin_count): | ||||
url = reverse("api-1-origins", query_params={"origin_count": origin_count}) | url = reverse("api-1-origins", query_params={"origin_count": origin_count}) | ||||
results = scroll_results(api_client, url) | results = scroll_results(api_client, url) | ||||
assert len(results) == len(origins) | assert len(results) == len(origins) | ||||
assert {origin["url"] for origin in results} == origin_urls | assert {origin["url"] for origin in results} == origin_urls | ||||
@given(origin()) | |||||
def test_api_origin_by_url(api_client, archive_data, origin): | def test_api_origin_by_url(api_client, archive_data, origin): | ||||
origin_url = origin["url"] | origin_url = origin["url"] | ||||
url = reverse("api-1-origin", url_args={"origin_url": origin_url}) | url = reverse("api-1-origin", url_args={"origin_url": origin_url}) | ||||
rv = check_api_get_responses(api_client, url, status_code=200) | rv = check_api_get_responses(api_client, url, status_code=200) | ||||
expected_origin = archive_data.origin_get([origin_url])[0] | expected_origin = archive_data.origin_get([origin_url])[0] | ||||
expected_origin = enrich_origin(expected_origin, rv.wsgi_request) | expected_origin = enrich_origin(expected_origin, rv.wsgi_request) | ||||
assert rv.data == expected_origin | assert rv.data == expected_origin | ||||
▲ Show 20 Lines • Show All 295 Lines • ▼ Show 20 Lines | url = reverse( | ||||
"api-1-origin-metadata-search", | "api-1-origin-metadata-search", | ||||
query_params={"fulltext": ORIGIN_METADATA_VALUE, "limit": 987}, | query_params={"fulltext": ORIGIN_METADATA_VALUE, "limit": 987}, | ||||
) | ) | ||||
rv = check_api_get_responses(api_client, url, status_code=200) | rv = check_api_get_responses(api_client, url, status_code=200) | ||||
assert len(rv.data) == len(ORIGIN_MASTER_REVISION) | assert len(rv.data) == len(ORIGIN_MASTER_REVISION) | ||||
oimsft.assert_called_with(conjunction=[ORIGIN_METADATA_VALUE], limit=100) | oimsft.assert_called_with(conjunction=[ORIGIN_METADATA_VALUE], limit=100) | ||||
@given(origin()) | |||||
def test_api_origin_intrinsic_metadata(api_client, origin): | def test_api_origin_intrinsic_metadata(api_client, origin): | ||||
url = reverse( | url = reverse( | ||||
"api-origin-intrinsic-metadata", url_args={"origin_url": origin["url"]} | "api-origin-intrinsic-metadata", url_args={"origin_url": origin["url"]} | ||||
) | ) | ||||
rv = check_api_get_responses(api_client, url, status_code=200) | rv = check_api_get_responses(api_client, url, status_code=200) | ||||
assert ORIGIN_METADATA_KEY in rv.data | assert ORIGIN_METADATA_KEY in rv.data | ||||
Show All 23 Lines |