Fix zenodo tests

pull/1390/head
YuviPanda 2024-12-17 12:58:01 -08:00
rodzic f7dfff1876
commit 3be6ca99c2
1 zmienionych plików z 2 dodań i 17 usunięć

Wyświetl plik

@ -21,18 +21,7 @@ doi_responses = {
} }
def doi_resolver(req, context): def test_content_id():
resp = doi_responses.get(req.url)
# doi responses are redirects
if resp is not None:
context.status_code = 302
context.headers["Location"] = resp
return resp
def test_content_id(requests_mock):
requests_mock.get(re.compile("https://"), json=doi_resolver)
zen = Zenodo() zen = Zenodo()
zen.detect("10.5281/zenodo.3232985") zen.detect("10.5281/zenodo.3232985")
assert zen.content_id == "3232985" assert zen.content_id == "3232985"
@ -60,15 +49,11 @@ test_hosts = [
@pytest.mark.parametrize("test_input,expected", test_hosts) @pytest.mark.parametrize("test_input,expected", test_hosts)
def test_detect_zenodo(test_input, expected, requests_mock): def test_detect_zenodo(test_input, expected):
requests_mock.get(re.compile("https://"), json=doi_resolver)
# valid Zenodo DOIs trigger this content provider # valid Zenodo DOIs trigger this content provider
assert Zenodo().detect(test_input[0]) == expected assert Zenodo().detect(test_input[0]) == expected
assert Zenodo().detect(test_input[1]) == expected assert Zenodo().detect(test_input[1]) == expected
assert Zenodo().detect(test_input[2]) == expected assert Zenodo().detect(test_input[2]) == expected
# only two of the three calls above have to resolve a DOI (2 req per doi resolution)
assert requests_mock.call_count == 4
requests_mock.reset_mock()
# Don't trigger the Zenodo content provider # Don't trigger the Zenodo content provider
assert Zenodo().detect("/some/path/here") is None assert Zenodo().detect("/some/path/here") is None