diff --git a/swh/loader/package/deposit/loader.py b/swh/loader/package/deposit/loader.py --- a/swh/loader/package/deposit/loader.py +++ b/swh/loader/package/deposit/loader.py @@ -251,8 +251,11 @@ return {"status": "failed"} # Then usual loading - r = super().load() - success = r["status"] != "failed" + return super().load() + + def finalize_visit(self, status_visit: str, **kwargs) -> Dict[str, Any]: + r = super().finalize_visit(status_visit=status_visit, **kwargs) + success = status_visit == "full" # Update deposit status try: diff --git a/swh/loader/package/deposit/tests/test_deposit.py b/swh/loader/package/deposit/tests/test_deposit.py --- a/swh/loader/package/deposit/tests/test_deposit.py +++ b/swh/loader/package/deposit/tests/test_deposit.py @@ -107,6 +107,7 @@ # 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) actual_load_status = loader.load() @@ -127,6 +128,23 @@ "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", + } + + assert body == expected_body + def test_deposit_revision_metadata_structure( swh_storage, deposit_client, requests_mock_datadir diff --git a/swh/loader/package/loader.py b/swh/loader/package/loader.py --- a/swh/loader/package/loader.py +++ b/swh/loader/package/loader.py @@ -289,6 +289,7 @@ def finalize_visit( self, + *, snapshot: Optional[Snapshot], visit: OriginVisit, status_visit: str,