Changeset View
Changeset View
Standalone View
Standalone View
swh/deposit/tests/api/test_deposit_private_read_metadata.py
Show First 20 Lines • Show All 53 Lines • ▼ Show 20 Lines | for atom_xml in metadata_xml_atoms: | ||||
deposit = update_deposit_with_metadata( | deposit = update_deposit_with_metadata( | ||||
authenticated_client, deposit_collection, deposit, atom_xml, | authenticated_client, deposit_collection, deposit, atom_xml, | ||||
) | ) | ||||
for url in private_get_raw_url_endpoints(deposit_collection, deposit): | for url in private_get_raw_url_endpoints(deposit_collection, deposit): | ||||
response = authenticated_client.get(url) | response = authenticated_client.get(url) | ||||
assert response.status_code == status.HTTP_200_OK | assert response.status_code == status.HTTP_200_OK | ||||
assert response._headers["content-type"][1] == "application/json" | assert response._headers["content-type"][1] == "application/json" | ||||
data = response.json() | actual_data = response.json() | ||||
assert data == { | assert actual_data == { | ||||
"origin": { | "origin": { | ||||
"type": "deposit", | "type": "deposit", | ||||
"url": "https://hal-test.archives-ouvertes.fr/some-external-id", | "url": "https://hal-test.archives-ouvertes.fr/some-external-id", | ||||
}, | }, | ||||
"origin_metadata": { | |||||
"metadata_raw": metadata_xml_atoms, | "metadata_raw": metadata_xml_atoms, | ||||
"metadata_dict": utils.merge(*metadata_xml_raws), | "metadata_dict": utils.merge(*metadata_xml_raws), | ||||
"provider": { | "provider": { | ||||
"metadata": {}, | "metadata": {}, | ||||
"provider_name": "", | "provider_name": "", | ||||
"provider_type": "deposit_client", | "provider_type": "deposit_client", | ||||
"provider_url": "https://hal-test.archives-ouvertes.fr/", | "provider_url": "https://hal-test.archives-ouvertes.fr/", | ||||
}, | }, | ||||
"tool": { | "tool": { | ||||
"configuration": {"sword_version": "2"}, | "configuration": {"sword_version": "2"}, | ||||
"name": "swh-deposit", | "name": "swh-deposit", | ||||
"version": __version__, | "version": __version__, | ||||
}, | }, | ||||
}, | |||||
"deposit": { | "deposit": { | ||||
"author": SWH_PERSON, | "author": SWH_PERSON, | ||||
"committer": SWH_PERSON, | "committer": SWH_PERSON, | ||||
"committer_date": { | "committer_date": { | ||||
"negative_utc": False, | "negative_utc": False, | ||||
"offset": 0, | "offset": 0, | ||||
"timestamp": {"microseconds": 0, "seconds": 1507389428}, | "timestamp": {"microseconds": 0, "seconds": 1507389428}, | ||||
}, | }, | ||||
Show All 30 Lines | ): | ||||
rev_id = "da78a9d4cf1d5d29873693fd496142e3a18c20fa" | rev_id = "da78a9d4cf1d5d29873693fd496142e3a18c20fa" | ||||
swhid = "swh:1:rev:%s" % rev_id | swhid = "swh:1:rev:%s" % rev_id | ||||
fake_parent = Deposit( | fake_parent = Deposit( | ||||
swhid=swhid, client=deposit.client, collection=deposit.collection | swhid=swhid, client=deposit.client, collection=deposit.collection | ||||
) | ) | ||||
fake_parent.save() | fake_parent.save() | ||||
deposit.parent = fake_parent | deposit.parent = fake_parent | ||||
deposit.save() | deposit.save() | ||||
anlambert: Is this indentation change intended ? | |||||
Done Inline Actionsah no... it makes it do it as many times as there are atom keys, thx for noticing! ardumont: ah no...
it makes it do it as many times as there are atom keys, thx for noticing! | |||||
for url in private_get_raw_url_endpoints(deposit_collection, deposit): | for url in private_get_raw_url_endpoints(deposit_collection, deposit): | ||||
response = authenticated_client.get(url) | response = authenticated_client.get(url) | ||||
assert response.status_code == status.HTTP_200_OK | assert response.status_code == status.HTTP_200_OK | ||||
assert response._headers["content-type"][1] == "application/json" | assert response._headers["content-type"][1] == "application/json" | ||||
data = response.json() | actual_data = response.json() | ||||
assert data == { | assert actual_data == { | ||||
"origin": { | "origin": { | ||||
"type": "deposit", | "type": "deposit", | ||||
"url": "https://hal-test.archives-ouvertes.fr/some-external-id", | "url": "https://hal-test.archives-ouvertes.fr/some-external-id", | ||||
}, | }, | ||||
"origin_metadata": { | |||||
"metadata_raw": metadata_xml_atoms, | "metadata_raw": metadata_xml_atoms, | ||||
"metadata_dict": utils.merge(*metadata_xml_raws), | "metadata_dict": utils.merge(*metadata_xml_raws), | ||||
"provider": { | "provider": { | ||||
"metadata": {}, | "metadata": {}, | ||||
"provider_name": "", | "provider_name": "", | ||||
"provider_type": "deposit_client", | "provider_type": "deposit_client", | ||||
"provider_url": "https://hal-test.archives-ouvertes.fr/", | "provider_url": "https://hal-test.archives-ouvertes.fr/", | ||||
}, | }, | ||||
"tool": { | "tool": { | ||||
"configuration": {"sword_version": "2"}, | "configuration": {"sword_version": "2"}, | ||||
"name": "swh-deposit", | "name": "swh-deposit", | ||||
"version": __version__, | "version": __version__, | ||||
}, | }, | ||||
}, | |||||
"deposit": { | "deposit": { | ||||
"author": SWH_PERSON, | "author": SWH_PERSON, | ||||
"committer": SWH_PERSON, | "committer": SWH_PERSON, | ||||
"committer_date": { | "committer_date": { | ||||
"negative_utc": False, | "negative_utc": False, | ||||
"offset": 0, | "offset": 0, | ||||
"timestamp": {"microseconds": 0, "seconds": 1507389428}, | "timestamp": {"microseconds": 0, "seconds": 1507389428}, | ||||
}, | }, | ||||
Show All 39 Lines | for atom_xml in metadata_xml_atoms: | ||||
authenticated_client, deposit_collection, deposit, atom_xml, | authenticated_client, deposit_collection, deposit, atom_xml, | ||||
) | ) | ||||
for url in private_get_raw_url_endpoints(deposit_collection, deposit): | for url in private_get_raw_url_endpoints(deposit_collection, deposit): | ||||
response = authenticated_client.get(url) | response = authenticated_client.get(url) | ||||
assert response.status_code == status.HTTP_200_OK | assert response.status_code == status.HTTP_200_OK | ||||
assert response._headers["content-type"][1] == "application/json" | assert response._headers["content-type"][1] == "application/json" | ||||
data = response.json() | actual_data = response.json() | ||||
assert data == { | assert actual_data == { | ||||
"origin": { | "origin": { | ||||
"type": "deposit", | "type": "deposit", | ||||
"url": "https://hal-test.archives-ouvertes.fr/hal-01243065", | "url": "https://hal-test.archives-ouvertes.fr/hal-01243065", | ||||
}, | }, | ||||
"origin_metadata": { | |||||
"metadata_raw": metadata_xml_atoms, | "metadata_raw": metadata_xml_atoms, | ||||
"metadata_dict": utils.merge(*metadata_xml_raws), | "metadata_dict": utils.merge(*metadata_xml_raws), | ||||
"provider": { | "provider": { | ||||
"metadata": {}, | "metadata": {}, | ||||
"provider_name": "", | "provider_name": "", | ||||
"provider_type": "deposit_client", | "provider_type": "deposit_client", | ||||
"provider_url": "https://hal-test.archives-ouvertes.fr/", | "provider_url": "https://hal-test.archives-ouvertes.fr/", | ||||
}, | }, | ||||
"tool": { | "tool": { | ||||
"configuration": {"sword_version": "2"}, | "configuration": {"sword_version": "2"}, | ||||
"name": "swh-deposit", | "name": "swh-deposit", | ||||
"version": __version__, | "version": __version__, | ||||
}, | }, | ||||
}, | |||||
"deposit": { | "deposit": { | ||||
"author": SWH_PERSON, | "author": SWH_PERSON, | ||||
"committer": SWH_PERSON, | "committer": SWH_PERSON, | ||||
"committer_date": { | "committer_date": { | ||||
"negative_utc": False, | "negative_utc": False, | ||||
"offset": 120, | "offset": 120, | ||||
"timestamp": {"microseconds": 0, "seconds": 1493820527}, | "timestamp": {"microseconds": 0, "seconds": 1493820527}, | ||||
}, | }, | ||||
Show All 26 Lines | ): | ||||
deposit.complete_date = "2016-04-06" | deposit.complete_date = "2016-04-06" | ||||
deposit.save() | deposit.save() | ||||
for url in private_get_raw_url_endpoints(deposit_collection, deposit): | for url in private_get_raw_url_endpoints(deposit_collection, deposit): | ||||
response = authenticated_client.get(url) | response = authenticated_client.get(url) | ||||
assert response.status_code == status.HTTP_200_OK | assert response.status_code == status.HTTP_200_OK | ||||
assert response._headers["content-type"][1] == "application/json" | assert response._headers["content-type"][1] == "application/json" | ||||
data = response.json() | actual_data = response.json() | ||||
expected_origin = { | assert actual_data == { | ||||
"origin": { | |||||
"type": "deposit", | "type": "deposit", | ||||
"url": "https://hal-test.archives-ouvertes.fr/%s" % (deposit.external_id), | "url": "https://hal-test.archives-ouvertes.fr/external-id-partial", | ||||
} | }, | ||||
expected_origin_metadata = { | |||||
"metadata_raw": [codemeta_entry_data], | "metadata_raw": [codemeta_entry_data], | ||||
"metadata_dict": parse_xml(codemeta_entry_data), | "metadata_dict": parse_xml(codemeta_entry_data), | ||||
"provider": { | "provider": { | ||||
"metadata": {}, | "metadata": {}, | ||||
"provider_name": "", | "provider_name": "", | ||||
"provider_type": "deposit_client", | "provider_type": "deposit_client", | ||||
"provider_url": "https://hal-test.archives-ouvertes.fr/", | "provider_url": "https://hal-test.archives-ouvertes.fr/", | ||||
}, | }, | ||||
"tool": { | "tool": { | ||||
"configuration": {"sword_version": "2"}, | "configuration": {"sword_version": "2"}, | ||||
"name": "swh-deposit", | "name": "swh-deposit", | ||||
"version": __version__, | "version": __version__, | ||||
}, | }, | ||||
} | "deposit": { | ||||
expected_deposit_info = { | |||||
"author": SWH_PERSON, | "author": SWH_PERSON, | ||||
"committer": SWH_PERSON, | "committer": SWH_PERSON, | ||||
"committer_date": { | "committer_date": { | ||||
"negative_utc": False, | "negative_utc": False, | ||||
"offset": 0, | "offset": 0, | ||||
"timestamp": {"microseconds": 0, "seconds": 1459900800}, | "timestamp": {"microseconds": 0, "seconds": 1459900800}, | ||||
}, | }, | ||||
"author_date": { | "author_date": { | ||||
"negative_utc": False, | "negative_utc": False, | ||||
"offset": 0, | "offset": 0, | ||||
"timestamp": {"microseconds": 0, "seconds": 1459900800}, | "timestamp": {"microseconds": 0, "seconds": 1459900800}, | ||||
}, | }, | ||||
"client": deposit_collection.name, | "client": deposit_collection.name, | ||||
"id": deposit.id, | "id": deposit.id, | ||||
"collection": deposit_collection.name, | "collection": deposit_collection.name, | ||||
"revision_parents": [], | "revision_parents": [], | ||||
}, | |||||
} | } | ||||
expected_meta = { | |||||
"origin": expected_origin, | |||||
"origin_metadata": expected_origin_metadata, | |||||
"deposit": expected_deposit_info, | |||||
} | |||||
assert data == expected_meta | |||||
def test_read_metadata_5( | def test_read_metadata_5( | ||||
authenticated_client, deposit_collection, partial_deposit, atom_dataset | authenticated_client, deposit_collection, partial_deposit, atom_dataset | ||||
): | ): | ||||
"""dateCreated/datePublished provided, revision uses author/committer | """dateCreated/datePublished provided, revision uses author/committer | ||||
date | date | ||||
If multiple dateCreated provided, the first occurrence (of | If multiple dateCreated provided, the first occurrence (of | ||||
Show All 16 Lines | deposit = update_deposit_with_metadata( | ||||
authenticated_client, deposit_collection, deposit, codemeta_entry_data | authenticated_client, deposit_collection, deposit, codemeta_entry_data | ||||
) | ) | ||||
for url in private_get_raw_url_endpoints(deposit_collection, deposit): | for url in private_get_raw_url_endpoints(deposit_collection, deposit): | ||||
response = authenticated_client.get(url) | response = authenticated_client.get(url) | ||||
assert response.status_code == status.HTTP_200_OK | assert response.status_code == status.HTTP_200_OK | ||||
assert response._headers["content-type"][1] == "application/json" | assert response._headers["content-type"][1] == "application/json" | ||||
data = response.json() | actual_data = response.json() | ||||
expected_origin = { | assert actual_data == { | ||||
"origin": { | |||||
"type": "deposit", | "type": "deposit", | ||||
"url": "https://hal-test.archives-ouvertes.fr/external-id-partial", | "url": "https://hal-test.archives-ouvertes.fr/external-id-partial", | ||||
} | }, | ||||
expected_origin_metadata = { | |||||
"metadata_raw": [codemeta_entry_data], | "metadata_raw": [codemeta_entry_data], | ||||
"metadata_dict": parse_xml(codemeta_entry_data), | "metadata_dict": parse_xml(codemeta_entry_data), | ||||
"provider": { | "provider": { | ||||
"metadata": {}, | "metadata": {}, | ||||
"provider_name": "", | "provider_name": "", | ||||
"provider_type": "deposit_client", | "provider_type": "deposit_client", | ||||
"provider_url": "https://hal-test.archives-ouvertes.fr/", | "provider_url": "https://hal-test.archives-ouvertes.fr/", | ||||
}, | }, | ||||
"tool": { | "tool": { | ||||
"configuration": {"sword_version": "2"}, | "configuration": {"sword_version": "2"}, | ||||
"name": "swh-deposit", | "name": "swh-deposit", | ||||
"version": __version__, | "version": __version__, | ||||
}, | }, | ||||
} | "deposit": { | ||||
expected_deposit_info = { | |||||
"author": SWH_PERSON, | "author": SWH_PERSON, | ||||
"committer": SWH_PERSON, | "committer": SWH_PERSON, | ||||
"committer_date": { | "committer_date": { | ||||
"negative_utc": False, | "negative_utc": False, | ||||
"offset": 120, | "offset": 120, | ||||
"timestamp": {"microseconds": 0, "seconds": 1493820527}, | "timestamp": {"microseconds": 0, "seconds": 1493820527}, | ||||
}, | }, | ||||
"author_date": { | "author_date": { | ||||
"negative_utc": False, | "negative_utc": False, | ||||
"offset": 120, | "offset": 120, | ||||
"timestamp": {"microseconds": 0, "seconds": 1428332927}, | "timestamp": {"microseconds": 0, "seconds": 1428332927}, | ||||
}, | }, | ||||
"client": deposit_collection.name, | "client": deposit_collection.name, | ||||
"id": deposit.id, | "id": deposit.id, | ||||
"collection": deposit_collection.name, | "collection": deposit_collection.name, | ||||
"revision_parents": [], | "revision_parents": [], | ||||
}, | |||||
} | } | ||||
expected_meta = { | |||||
"origin": expected_origin, | |||||
"origin_metadata": expected_origin_metadata, | |||||
"deposit": expected_deposit_info, | |||||
} | |||||
assert data == expected_meta | |||||
def test_access_to_nonexisting_deposit_returns_404_response( | def test_access_to_nonexisting_deposit_returns_404_response( | ||||
authenticated_client, deposit_collection, | authenticated_client, deposit_collection, | ||||
): | ): | ||||
"""Read unknown collection should return a 404 response | """Read unknown collection should return a 404 response | ||||
""" | """ | ||||
unknown_id = 999 | unknown_id = 999 | ||||
Show All 10 Lines |
Is this indentation change intended ?