Page MenuHomeSoftware Heritage

D7524.diff
No OneTemporary

D7524.diff

diff --git a/swh/deposit/api/private/deposit_read.py b/swh/deposit/api/private/deposit_read.py
--- a/swh/deposit/api/private/deposit_read.py
+++ b/swh/deposit/api/private/deposit_read.py
@@ -165,8 +165,12 @@
if raw_metadata:
metadata_tree = ElementTree.fromstring(raw_metadata)
author_date, commit_date = self._parse_dates(deposit, metadata_tree)
+ release_notes_elements = metadata_tree.findall(
+ "codemeta:releaseNotes", namespaces=NAMESPACES
+ )
else:
author_date = commit_date = None
+ release_notes_elements = []
if deposit.parent and deposit.parent.swhid:
parent_swhid = deposit.parent.swhid
@@ -177,9 +181,6 @@
else:
parents = []
- release_notes_elements = metadata_tree.findall(
- "codemeta:releaseNotes", namespaces=NAMESPACES
- )
release_notes: Optional[str]
if release_notes_elements:
release_notes = "\n\n".join(
diff --git a/swh/deposit/tests/api/test_deposit_private_read_metadata.py b/swh/deposit/tests/api/test_deposit_private_read_metadata.py
--- a/swh/deposit/tests/api/test_deposit_private_read_metadata.py
+++ b/swh/deposit/tests/api/test_deposit_private_read_metadata.py
@@ -35,6 +35,53 @@
return deposit
+def test_read_missing_metadata(
+ authenticated_client, deposit_collection, partial_deposit, atom_dataset
+):
+ """Private metadata read api to existing deposit should return metadata
+
+ """
+ deposit = partial_deposit
+ deposit.external_id = "some-external-id"
+ deposit.origin_url = f"https://hal-test.archives-ouvertes.fr/{deposit.external_id}"
+ deposit.save()
+
+ for url in private_get_raw_url_endpoints(deposit_collection, deposit):
+ response = authenticated_client.get(url)
+ assert response.status_code == status.HTTP_200_OK
+ assert response["content-type"] == "application/json"
+ actual_data = response.json()
+ assert actual_data == {
+ "origin": {
+ "type": "deposit",
+ "url": "https://hal-test.archives-ouvertes.fr/some-external-id",
+ },
+ "raw_metadata": None,
+ "provider": {
+ "metadata": {},
+ "provider_name": "",
+ "provider_type": "deposit_client",
+ "provider_url": "https://hal-test.archives-ouvertes.fr/",
+ },
+ "tool": {
+ "configuration": {"sword_version": "2"},
+ "name": "swh-deposit",
+ "version": __version__,
+ },
+ "deposit": {
+ "author": SWH_PERSON,
+ "committer": SWH_PERSON,
+ "committer_date": None,
+ "author_date": None,
+ "client": "test",
+ "id": deposit.id,
+ "collection": "test",
+ "revision_parents": [],
+ "release_notes": None,
+ },
+ }
+
+
def test_read_metadata(
authenticated_client, deposit_collection, partial_deposit, atom_dataset
):

File Metadata

Mime Type
text/plain
Expires
Jul 3 2025, 9:53 AM (5 w, 2 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3216508

Event Timeline