Page MenuHomeSoftware Heritage

D3142.id11192.diff
No OneTemporary

D3142.id11192.diff

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
@@ -171,6 +171,7 @@
status="done",
revision_id=hash_to_hex(rev_id),
directory_id=hash_to_hex(dir_id),
+ snapshot_id=r["snapshot_id"],
origin_url=self.url,
)
except Exception:
@@ -246,6 +247,7 @@
status: str,
revision_id: Optional[str] = None,
directory_id: Optional[str] = None,
+ snapshot_id: Optional[str] = None,
origin_url: Optional[str] = None,
):
"""Update deposit's information including status, and persistent
@@ -258,6 +260,8 @@
payload["revision_id"] = revision_id
if directory_id:
payload["directory_id"] = directory_id
+ if snapshot_id:
+ payload["snapshot_id"] = snapshot_id
if origin_url:
payload["origin_url"] = origin_url
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
@@ -7,7 +7,7 @@
import pytest
-from swh.model.hashutil import hash_to_bytes
+from swh.model.hashutil import hash_to_bytes, hash_to_hex
from swh.loader.package.deposit.loader import DepositLoader
from swh.loader.package.tests.common import (
@@ -19,6 +19,9 @@
from swh.core.pytest_plugin import requests_mock_datadir_factory
+DEPOSIT_URL = "https://deposit.softwareheritage.org/1/private"
+
+
@pytest.fixture
def requests_mock_datadir(requests_mock_datadir):
"""Enhance default mock data to mock put requests as the loader does some
@@ -68,7 +71,7 @@
requests_mock_datadir_missing_one = requests_mock_datadir_factory(
- ignore_urls=["https://deposit.softwareheritage.org/1/private/666/raw/",]
+ ignore_urls=[f"{DEPOSIT_URL}/666/raw/",]
)
@@ -167,11 +170,9 @@
assert origin_visit["status"] == "full"
assert origin_visit["type"] == "deposit"
+ revision_id = "637318680351f5d78856d13264faebbd91efe9bb"
expected_branches = {
- "HEAD": {
- "target": "637318680351f5d78856d13264faebbd91efe9bb",
- "target_type": "revision",
- },
+ "HEAD": {"target": revision_id, "target_type": "revision",},
}
expected_snapshot = {
@@ -180,6 +181,9 @@
}
check_snapshot(expected_snapshot, storage=loader.storage)
+ revision = next(loader.storage.revision_get([hash_to_bytes(revision_id)]))
+ assert revision
+
# check metadata
tool = {
@@ -215,6 +219,27 @@
assert metadata0["provider_type"] == "deposit_client"
assert metadata0["tool_id"] == tool["id"]
+ # Retrieve the information for deposit status update query to the deposit
+ urls = [
+ m
+ for m in requests_mock_datadir.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": "done",
+ "revision_id": revision_id,
+ "directory_id": hash_to_hex(revision["directory"]),
+ "snapshot_id": expected_snapshot_id,
+ "origin_url": url,
+ }
+
+ assert body == expected_body
+
def test_deposit_loading_ok_2(swh_config, requests_mock_datadir):
"""Field dates should be se appropriately
@@ -257,7 +282,7 @@
assert revision["date"] == raw_meta["deposit"]["author_date"]
assert revision["committer_date"] == raw_meta["deposit"]["committer_date"]
- read_api = f"https://deposit.softwareheritage.org/1/private/{deposit_id}/meta/"
+ read_api = f"{DEPOSIT_URL}/{deposit_id}/meta/"
assert revision["metadata"] == {
"extrinsic": {
@@ -327,3 +352,24 @@
"provider_url": "https://hal-test.archives-ouvertes.fr/",
"tool_id": 1,
}
+
+ # Retrieve the information for deposit status update query to the deposit
+ urls = [
+ m
+ for m in requests_mock_datadir.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": "done",
+ "revision_id": revision_id,
+ "directory_id": hash_to_hex(revision["directory"]),
+ "snapshot_id": expected_snapshot_id,
+ "origin_url": url,
+ }
+
+ assert body == expected_body

File Metadata

Mime Type
text/plain
Expires
Thu, Jul 3, 4:06 PM (2 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3215666

Event Timeline