Changeset View
Changeset View
Standalone View
Standalone View
swh/deposit/tests/api/test_deposit_update.py
Show First 20 Lines • Show All 105 Lines • ▼ Show 20 Lines | def test_replace_metadata_to_deposit_is_possible( | ||||
deposit_collection, | deposit_collection, | ||||
atom_dataset, | atom_dataset, | ||||
): | ): | ||||
"""Replace all metadata with another one should return a 204 response | """Replace all metadata with another one should return a 204 response | ||||
""" | """ | ||||
# given | # given | ||||
deposit = partial_deposit_with_metadata | deposit = partial_deposit_with_metadata | ||||
raw_metadata0 = atom_dataset["entry-data0"] % deposit.external_id.encode("utf-8") | raw_metadata0 = atom_dataset["entry-data0"] | ||||
requests_meta = DepositRequest.objects.filter(deposit=deposit, type="metadata") | requests_meta = DepositRequest.objects.filter(deposit=deposit, type="metadata") | ||||
assert len(requests_meta) == 1 | assert len(requests_meta) == 1 | ||||
request_meta0 = requests_meta[0] | request_meta0 = requests_meta[0] | ||||
assert request_meta0.raw_metadata == raw_metadata0 | assert request_meta0.raw_metadata == raw_metadata0 | ||||
requests_archive0 = DepositRequest.objects.filter(deposit=deposit, type="archive") | requests_archive0 = DepositRequest.objects.filter(deposit=deposit, type="archive") | ||||
assert len(requests_archive0) == 1 | assert len(requests_archive0) == 1 | ||||
▲ Show 20 Lines • Show All 108 Lines • ▼ Show 20 Lines | ): | ||||
assert response.status_code == status.HTTP_201_CREATED | assert response.status_code == status.HTTP_201_CREATED | ||||
requests = DepositRequest.objects.filter(deposit=deposit, type="metadata").order_by( | requests = DepositRequest.objects.filter(deposit=deposit, type="metadata").order_by( | ||||
"id" | "id" | ||||
) | ) | ||||
assert len(requests) == 2 | assert len(requests) == 2 | ||||
expected_raw_meta0 = atom_dataset["entry-data0"] % ( | expected_raw_meta0 = atom_dataset["entry-data0"] | ||||
deposit.external_id.encode("utf-8") | |||||
) | |||||
# a new one was added | # a new one was added | ||||
assert requests[0].raw_metadata == expected_raw_meta0 | assert requests[0].raw_metadata == expected_raw_meta0 | ||||
assert requests[1].raw_metadata == atom_entry | assert requests[1].raw_metadata == atom_entry | ||||
# check we did not touch the other parts | # check we did not touch the other parts | ||||
requests_archive1 = DepositRequest.objects.filter(deposit=deposit, type="archive") | requests_archive1 = DepositRequest.objects.filter(deposit=deposit, type="archive") | ||||
assert len(requests_archive1) == 1 | assert len(requests_archive1) == 1 | ||||
assert set(requests_archive0) == set(requests_archive1) | assert set(requests_archive0) == set(requests_archive1) | ||||
▲ Show 20 Lines • Show All 46 Lines • ▼ Show 20 Lines | ): | ||||
) | ) | ||||
assert response.status_code == status.HTTP_201_CREATED | assert response.status_code == status.HTTP_201_CREATED | ||||
requests = DepositRequest.objects.filter(deposit=deposit, type="metadata").order_by( | requests = DepositRequest.objects.filter(deposit=deposit, type="metadata").order_by( | ||||
"id" | "id" | ||||
) | ) | ||||
assert len(requests) == 1 + 1, "New deposit request archive got added" | assert len(requests) == 1 + 1, "New deposit request archive got added" | ||||
expected_raw_meta0 = atom_dataset["entry-data0"] % ( | expected_raw_meta0 = atom_dataset["entry-data0"] | ||||
deposit.external_id.encode("utf-8") | |||||
) | |||||
# a new one was added | # a new one was added | ||||
assert requests[0].raw_metadata == expected_raw_meta0 | assert requests[0].raw_metadata == expected_raw_meta0 | ||||
assert requests[1].raw_metadata == data_atom_entry | assert requests[1].raw_metadata == data_atom_entry | ||||
# check we did not touch the other parts | # check we did not touch the other parts | ||||
requests_archive1 = DepositRequest.objects.filter(deposit=deposit, type="archive") | requests_archive1 = DepositRequest.objects.filter(deposit=deposit, type="archive") | ||||
assert len(requests_archive1) == 1 + 1, "New deposit request metadata got added" | assert len(requests_archive1) == 1 + 1, "New deposit request metadata got added" | ||||
▲ Show 20 Lines • Show All 198 Lines • ▼ Show 20 Lines | |||||
): | ): | ||||
"""Scenario: Replace metadata and archive(s) with new ones should be ok | """Scenario: Replace metadata and archive(s) with new ones should be ok | ||||
Response: 204 | Response: 204 | ||||
""" | """ | ||||
# given | # given | ||||
deposit = partial_deposit_with_metadata | deposit = partial_deposit_with_metadata | ||||
raw_metadata0 = atom_dataset["entry-data0"] % deposit.external_id.encode("utf-8") | raw_metadata0 = atom_dataset["entry-data0"] | ||||
requests_meta = DepositRequest.objects.filter(deposit=deposit, type="metadata") | requests_meta = DepositRequest.objects.filter(deposit=deposit, type="metadata") | ||||
assert len(requests_meta) == 1 | assert len(requests_meta) == 1 | ||||
request_meta0 = requests_meta[0] | request_meta0 = requests_meta[0] | ||||
assert request_meta0.raw_metadata == raw_metadata0 | assert request_meta0.raw_metadata == raw_metadata0 | ||||
requests_archive0 = DepositRequest.objects.filter(deposit=deposit, type="archive") | requests_archive0 = DepositRequest.objects.filter(deposit=deposit, type="archive") | ||||
assert len(requests_archive0) == 1 | assert len(requests_archive0) == 1 | ||||
▲ Show 20 Lines • Show All 267 Lines • Show Last 20 Lines |