self = <swh.search.tests.test_in_memory.InmemorySearchTest testMethod=test_origin_intrinsic_metadata_long_description>
def test_origin_intrinsic_metadata_long_description(self):
origin1 = {"url": "http://origin1"}
self.search.origin_update(
[
{
**origin1,
"intrinsic_metadata": {
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"description": " ".join(f"foo{i}" for i in range(1000000)),
},
},
]
)
self.search.flush()
> actual_page = self.search.origin_search(metadata_pattern="foo42")
.tox/py3/lib/python3.7/site-packages/swh/search/tests/test_search.py:186:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <swh.search.in_memory.InMemorySearch object at 0x7f63786c8208>
def origin_search(
self,
*,
url_pattern: Optional[str] = None,
metadata_pattern: Optional[str] = None,
with_visit: bool = False,
page_token: Optional[str] = None,
limit: int = 50,
) -> PagedResult[Dict[str, Any]]:
hits: Iterator[Dict[str, Any]] = (
self._origins[id_] for id_ in self._origin_ids
)
if url_pattern:
tokens = set(self._url_splitter.split(url_pattern))
def predicate(match):
missing_tokens = tokens - match["_url_tokens"]
if len(missing_tokens) == 0:
return True
elif len(missing_tokens) > 1:
return False
else:
# There is one missing token, look up by prefix.
(missing_token,) = missing_tokens
return any(
token.startswith(missing_token)
for token in match["_url_tokens"]
)
hits = filter(predicate, hits)
if metadata_pattern:
raise NotImplementedError(
> "Metadata search is not implemented in the in-memory backend."
)
E NotImplementedError: Metadata search is not implemented in the in-memory backend.
.tox/py3/lib/python3.7/site-packages/swh/search/in_memory.py:80: NotImplementedError
TEST RESULT
TEST RESULT
- Run At
- Dec 11 2020, 2:34 PM