authenticated_client = <rest_framework.test.APIClient object at 0x7f958e08c5f8>
deposit_collection = <DepositCollection: {'id': 20, 'name': 'test'}>
sample_archive = {'data': b'PK\x03\x04\x14\x00\x00\x00\x00\x00WtsQ\xcba\xb4c\x14\x00\x00\x00\x14\x00\x00\x00\x05\x00\x00\x00file1some c...ytest-0/test_post_deposit_binary_uploa0/tmpg72dhmla', 'length': 128, 'md5sum': '70400616dfc840da543f9ac0cfeca681', ...}
def test_post_deposit_binary_upload_ok(
authenticated_client, deposit_collection, sample_archive
):
"""Binary upload with correct headers should return 201 with receipt
"""
# given
url = reverse(COL_IRI, args=[deposit_collection.name])
external_id = "some-external-id-1"
# when
response = authenticated_client.post(
url,
content_type="application/zip", # as zip
data=sample_archive["data"],
# + headers
CONTENT_LENGTH=sample_archive["length"],
# other headers needs HTTP_ prefix to be taken into account
HTTP_SLUG=external_id,
HTTP_CONTENT_MD5=sample_archive["md5sum"],
HTTP_PACKAGING="http://purl.org/net/sword/package/SimpleZip",
HTTP_IN_PROGRESS="false",
HTTP_CONTENT_DISPOSITION="attachment; filename=%s" % (sample_archive["name"],),
)
# then
response_content = parse_xml(BytesIO(response.content))
assert response.status_code == status.HTTP_201_CREATED
deposit_id = response_content["swh:deposit_id"]
deposit = Deposit.objects.get(pk=deposit_id)
assert deposit.status == DEPOSIT_STATUS_DEPOSITED
assert deposit.external_id == external_id
assert deposit.collection == deposit_collection
assert deposit.swhid is None
deposit_request = DepositRequest.objects.get(deposit=deposit)
check_archive(sample_archive["name"], deposit_request.archive.name)
assert deposit_request.metadata is None
assert deposit_request.raw_metadata is None
response_content = parse_xml(BytesIO(response.content))
assert response_content["swh:deposit_archive"] == sample_archive["name"]
assert int(response_content["swh:deposit_id"]) == deposit.id
assert response_content["swh:deposit_status"] == deposit.status
# deprecated tags
> assert response_content["deposit_archive"] == sample_archive["name"]
E KeyError: 'deposit_archive'
.tox/py3/lib/python3.7/site-packages/swh/deposit/tests/api/test_collection_post_binary.py:128: KeyError
TEST RESULT
TEST RESULT
- Run At
- Nov 19 2020, 3:36 PM