swh_storage = <swh.storage.proxies.retry.RetryingProxyStorage object at 0x7ffaa675e358>
deposit_client = <swh.loader.package.deposit.loader.ApiClient object at 0x7ffaa66e4400>
requests_mock_datadir_missing_one = <requests_mock.mocker.Mocker object at 0x7ffaa66e46d8>
def test_deposit_loading_failure_to_retrieve_1_artifact(
swh_storage, deposit_client, requests_mock_datadir_missing_one
):
"""Deposit with missing artifact ends up with an uneventful/partial visit
"""
# private api url form: 'https://deposit.s.o/1/private/hal/666/raw/'
url = "some-url-2"
deposit_id = 666
requests_mock_datadir_missing_one.put(re.compile("https"))
loader = DepositLoader(
swh_storage, url, deposit_id, deposit_client, default_filename="archive.zip"
)
actual_load_status = loader.load()
assert actual_load_status["status"] == "uneventful"
assert actual_load_status["snapshot_id"] is not None
assert_last_visit_matches(loader.storage, url, status="partial", type="deposit")
stats = get_stats(loader.storage)
assert {
"content": 0,
"directory": 0,
"origin": 1,
"origin_visit": 1,
"release": 0,
"revision": 0,
"skipped_content": 0,
"snapshot": 1,
} == stats
# Retrieve the information for deposit status update query to the deposit
urls = [
m
for m in requests_mock_datadir_missing_one.request_history
if m.url == f"{DEPOSIT_URL}/{deposit_id}/update/"
]
assert len(urls) == 1
update_query = urls[0]
body = update_query.json()
expected_body = {
"status": "failed",
"status_detail": (
"Failed to load branch HEAD for some-url-2: Fail to query "
"'https://deposit.softwareheritage.org/1/private/666/raw/'. Reason: 404"
),
}
> assert body == expected_body
E assert {'status': 'f...some-url-2']}} == {'status': 'f... Reason: 404"}
E Omitting 1 identical items, use -vv to show
E Differing items:
E {'status_detail': {'loading': ['Failed to load branch HEAD for some-url-2']}} != {'status_detail': "Failed to load branch HEAD for some-url-2: Fail to query 'https://deposit.softwareheritage.org/1/private/666/raw/'. Reason: 404"}
E Full diff:
E {
E 'status': 'failed',
E - 'status_detail': 'Failed to load branch HEAD for some-url-2: Fail to query '...
E
E ...Full output truncated (7 lines hidden), use '-vv' to show
.tox/py3/lib/python3.7/site-packages/swh/loader/package/deposit/tests/test_deposit.py:161: AssertionError
TEST RESULT
TEST RESULT
- Run At
- Aug 12 2021, 12:13 PM