kopia lustrzana https://github.com/jupyterhub/repo2docker
remove test parameterization and use fix regex match
rodzic
776d538689
commit
cb7bb0bb43
|
@ -49,10 +49,9 @@ test_hosts = [
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
@pytest.mark.parametrize("test_input", test_hosts)
|
def test_detect_hydroshare():
|
||||||
def test_detect_hydroshare(test_input):
|
|
||||||
with patch.object(Hydroshare, "urlopen") as fake_urlopen:
|
with patch.object(Hydroshare, "urlopen") as fake_urlopen:
|
||||||
fake_urlopen.return_value.url = test_input[0]
|
fake_urlopen.return_value.url = "https://www.hydroshare.org/resource/b8f6eae9d89241cf8b5904033460af61"
|
||||||
|
|
||||||
def read():
|
def read():
|
||||||
return '{"dates": [{"type": "modified", "start_date": "2019-09-25T16:09:17.006152Z"}]}'
|
return '{"dates": [{"type": "modified", "start_date": "2019-09-25T16:09:17.006152Z"}]}'
|
||||||
|
@ -60,13 +59,13 @@ def test_detect_hydroshare(test_input):
|
||||||
fake_urlopen.return_value.read = read
|
fake_urlopen.return_value.read = read
|
||||||
# valid Hydroshare DOIs trigger this content provider
|
# valid Hydroshare DOIs trigger this content provider
|
||||||
expected = "https://www.hydroshare.org/resource/b8f6eae9d89241cf8b5904033460af61"
|
expected = "https://www.hydroshare.org/resource/b8f6eae9d89241cf8b5904033460af61"
|
||||||
assert Hydroshare().detect(test_input[0]) == expected
|
assert Hydroshare().detect("https://www.hydroshare.org/resource/b8f6eae9d89241cf8b5904033460af61") == expected
|
||||||
# assert a call to urlopen was called to fetch version
|
# assert a call to urlopen was called to fetch version
|
||||||
assert fake_urlopen.call_count == 1
|
assert fake_urlopen.call_count == 1
|
||||||
assert Hydroshare().detect(test_input[1]) == expected
|
assert Hydroshare().detect("10.4211/hs.b8f6eae9d89241cf8b5904033460af61") == expected
|
||||||
# assert 2 more calls were made, one to resolve the DOI and another to fetch the version
|
# assert 2 more calls were made, one to resolve the DOI and another to fetch the version
|
||||||
assert fake_urlopen.call_count == 3
|
assert fake_urlopen.call_count == 3
|
||||||
assert Hydroshare().detect(test_input[2]) == expected
|
assert Hydroshare().detect("https://doi.org/10.4211/hs.b8f6eae9d89241cf8b5904033460af61") == expected
|
||||||
# assert 2 more calls were made, one to resolve the DOI and another to fetch the version
|
# assert 2 more calls were made, one to resolve the DOI and another to fetch the version
|
||||||
assert fake_urlopen.call_count == 5
|
assert fake_urlopen.call_count == 5
|
||||||
|
|
||||||
|
@ -174,7 +173,7 @@ def test_fetch_bag_failure():
|
||||||
"resource": "123456789",
|
"resource": "123456789",
|
||||||
}
|
}
|
||||||
with TemporaryDirectory() as d:
|
with TemporaryDirectory() as d:
|
||||||
with pytest.raises(ContentProviderException, match="Failed to download bag. status code 500.\n"):
|
with pytest.raises(ContentProviderException, match=r"Failed to download bag. status code 500.\n"):
|
||||||
hydro.fetch(spec, d)
|
hydro.fetch(spec, d)
|
||||||
|
|
||||||
|
|
||||||
|
@ -196,5 +195,5 @@ def test_fetch_bag_timeout():
|
||||||
}
|
}
|
||||||
with TemporaryDirectory() as d:
|
with TemporaryDirectory() as d:
|
||||||
with pytest.raises(ContentProviderException,
|
with pytest.raises(ContentProviderException,
|
||||||
match="Bag taking too long to prepare, exiting now, try again later."):
|
match=r"Bag taking too long to prepare, exiting now, try again later."):
|
||||||
hydro.fetch(spec, d, timeout=0)
|
hydro.fetch(spec, d, timeout=0)
|
||||||
|
|
Ładowanie…
Reference in New Issue