Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/api/views/test_origin.py
Show All 17 Lines | |||||
from swh.storage.utils import now | from swh.storage.utils import now | ||||
from swh.web.api.utils import enrich_origin, enrich_origin_visit | from swh.web.api.utils import enrich_origin, enrich_origin_visit | ||||
from swh.web.common.exc import BadInputExc | from swh.web.common.exc import BadInputExc | ||||
from swh.web.common.origin_visits import get_origin_visits | from swh.web.common.origin_visits import get_origin_visits | ||||
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_DIRECTORY, | |||||
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, 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 | ||||
▲ Show 20 Lines • Show All 657 Lines • ▼ Show 20 Lines | def test_api_origin_metadata_search(api_client, mocker, backend): | ||||
rv = check_api_get_responses(api_client, url, status_code=200) | rv = check_api_get_responses(api_client, url, status_code=200) | ||||
rv.data = sorted(rv.data, key=lambda d: d["url"]) | rv.data = sorted(rv.data, key=lambda d: d["url"]) | ||||
expected_data = sorted( | expected_data = sorted( | ||||
[ | [ | ||||
{ | { | ||||
"url": origin_url, | "url": origin_url, | ||||
"metadata": { | "metadata": { | ||||
"from_revision": ORIGIN_MASTER_REVISION[origin_url], | "from_directory": ORIGIN_MASTER_DIRECTORY[origin_url], | ||||
"tool": { | "tool": { | ||||
"name": INDEXER_TOOL["tool_name"], | "name": INDEXER_TOOL["tool_name"], | ||||
"version": INDEXER_TOOL["tool_version"], | "version": INDEXER_TOOL["tool_version"], | ||||
"configuration": INDEXER_TOOL["tool_configuration"], | "configuration": INDEXER_TOOL["tool_configuration"], | ||||
"id": INDEXER_TOOL["id"], | "id": INDEXER_TOOL["id"], | ||||
}, | }, | ||||
"mappings": [], | "mappings": [], | ||||
}, | }, | ||||
Show All 17 Lines | |||||
def test_api_origin_metadata_search_limit(api_client, mocker): | def test_api_origin_metadata_search_limit(api_client, mocker): | ||||
mock_idx_storage = mocker.patch("swh.web.common.archive.idx_storage") | mock_idx_storage = mocker.patch("swh.web.common.archive.idx_storage") | ||||
oimsft = mock_idx_storage.origin_intrinsic_metadata_search_fulltext | oimsft = mock_idx_storage.origin_intrinsic_metadata_search_fulltext | ||||
oimsft.side_effect = lambda conjunction, limit: [ | oimsft.side_effect = lambda conjunction, limit: [ | ||||
OriginIntrinsicMetadataRow( | OriginIntrinsicMetadataRow( | ||||
id=origin_url, | id=origin_url, | ||||
from_revision=hash_to_bytes(master_rev), | from_directory=hash_to_bytes(directory), | ||||
indexer_configuration_id=INDEXER_TOOL["id"], | indexer_configuration_id=INDEXER_TOOL["id"], | ||||
metadata={ORIGIN_METADATA_KEY: ORIGIN_METADATA_VALUE}, | metadata={ORIGIN_METADATA_KEY: ORIGIN_METADATA_VALUE}, | ||||
mappings=[], | mappings=[], | ||||
) | ) | ||||
for origin_url, master_rev in ORIGIN_MASTER_REVISION.items() | for origin_url, directory in ORIGIN_MASTER_DIRECTORY.items() | ||||
] | ] | ||||
url = reverse( | url = reverse( | ||||
"api-1-origin-metadata-search", query_params={"fulltext": ORIGIN_METADATA_VALUE} | "api-1-origin-metadata-search", query_params={"fulltext": ORIGIN_METADATA_VALUE} | ||||
) | ) | ||||
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=70) | oimsft.assert_called_with(conjunction=[ORIGIN_METADATA_VALUE], limit=70) | ||||
▲ Show 20 Lines • Show All 92 Lines • Show Last 20 Lines |