Changeset View
Changeset View
Standalone View
Standalone View
swh/search/tests/test_search.py
Show First 20 Lines • Show All 491 Lines • ▼ Show 20 Lines | def test_origin_intrinsic_metadata_inconsistent_type(self): | ||||
actual_page = self.search.origin_search(metadata_pattern="baz qux") | actual_page = self.search.origin_search(metadata_pattern="baz qux") | ||||
assert actual_page.next_page_token is None | assert actual_page.next_page_token is None | ||||
assert actual_page.results == [origin3_bazqux] | assert actual_page.results == [origin3_bazqux] | ||||
actual_page = self.search.origin_search(metadata_pattern="foo bar") | actual_page = self.search.origin_search(metadata_pattern="foo bar") | ||||
assert actual_page.next_page_token is None | assert actual_page.next_page_token is None | ||||
assert actual_page.results == [origin1_foobar] | assert actual_page.results == [origin1_foobar] | ||||
def test_origin_intrinsic_metadata_date(self): | def test_origin_intrinsic_metadata_string_mapping(self): | ||||
"""Checks inserting a date-like in a field does not update the mapping to | """Checks inserting a date-like in a field does not update the mapping to | ||||
require every document uses a date in that field; or that search queries | require every document uses a date in that field; or that search queries | ||||
use a date either. | use a date either. | ||||
Likewise for numeric fields.""" | Likewise for numeric and boolean fields.""" | ||||
origin1 = {"url": "http://origin1"} | origin1 = {"url": "http://origin1"} | ||||
origin2 = {"url": "http://origin2"} | origin2 = {"url": "http://origin2"} | ||||
self.search.origin_update( | self.search.origin_update( | ||||
[ | [ | ||||
{ | { | ||||
**origin1, | **origin1, | ||||
"intrinsic_metadata": { | "intrinsic_metadata": { | ||||
"@context": "https://doi.org/10.5063/schema/codemeta-2.0", | "@context": "https://doi.org/10.5063/schema/codemeta-2.0", | ||||
"dateCreated": "2021-02-18T10:16:52", | "dateCreated": "2021-02-18T10:16:52", | ||||
"version": "1.0", | "version": "1.0", | ||||
anlambert: maybe you could add a test checking searching `"True"` returns that origin ? | |||||
"isAccessibleForFree": True, | |||||
}, | }, | ||||
} | } | ||||
] | ] | ||||
) | ) | ||||
self.search.flush() | self.search.flush() | ||||
self.search.origin_update( | self.search.origin_update( | ||||
[ | [ | ||||
{ | { | ||||
**origin2, | **origin2, | ||||
"intrinsic_metadata": { | "intrinsic_metadata": { | ||||
"@context": "https://doi.org/10.5063/schema/codemeta-2.0", | "@context": "https://doi.org/10.5063/schema/codemeta-2.0", | ||||
"dateCreated": "a long time ago", | "dateCreated": "a long time ago", | ||||
"address": "in a galaxy far, far away", | "address": "in a galaxy far, far away", | ||||
"version": "a new hope", | "version": "a new hope", | ||||
Not Done Inline Actionssame here anlambert: same here | |||||
"isAccessibleForFree": "it depends", | |||||
}, | }, | ||||
}, | }, | ||||
] | ] | ||||
) | ) | ||||
self.search.flush() | self.search.flush() | ||||
actual_page = self.search.origin_search(metadata_pattern="2021") | actual_page = self.search.origin_search(metadata_pattern="2021") | ||||
assert actual_page.next_page_token is None | assert actual_page.next_page_token is None | ||||
assert actual_page.results == [origin1] | assert actual_page.results == [origin1] | ||||
actual_page = self.search.origin_search(metadata_pattern="long time ago") | actual_page = self.search.origin_search(metadata_pattern="long time ago") | ||||
assert actual_page.next_page_token is None | assert actual_page.next_page_token is None | ||||
assert actual_page.results == [origin2] | assert actual_page.results == [origin2] | ||||
actual_page = self.search.origin_search(metadata_pattern="true") | |||||
assert actual_page.next_page_token is None | |||||
assert actual_page.results == [origin1] | |||||
actual_page = self.search.origin_search(metadata_pattern="it depends") | |||||
assert actual_page.next_page_token is None | |||||
assert actual_page.results == [origin2] | |||||
def test_origin_intrinsic_metadata_update(self): | def test_origin_intrinsic_metadata_update(self): | ||||
origin = {"url": "http://origin1"} | origin = {"url": "http://origin1"} | ||||
origin_data = { | origin_data = { | ||||
**origin, | **origin, | ||||
"intrinsic_metadata": { | "intrinsic_metadata": { | ||||
"@context": "https://doi.org/10.5063/schema/codemeta-2.0", | "@context": "https://doi.org/10.5063/schema/codemeta-2.0", | ||||
"author": "John Doe", | "author": "John Doe", | ||||
}, | }, | ||||
▲ Show 20 Lines • Show All 143 Lines • Show Last 20 Lines |
maybe you could add a test checking searching "True" returns that origin ?