Changeset View
Changeset View
Standalone View
Standalone View
swh/deposit/tests/api/test_deposit_multipart.py
Show First 20 Lines • Show All 157 Lines • ▼ Show 20 Lines | def post_deposit_multipart_zip(self): | ||||
deposit_requests = DepositRequest.objects.filter(deposit=deposit) | deposit_requests = DepositRequest.objects.filter(deposit=deposit) | ||||
self.assertEquals(len(deposit_requests), 2) | self.assertEquals(len(deposit_requests), 2) | ||||
for deposit_request in deposit_requests: | for deposit_request in deposit_requests: | ||||
self.assertEquals(deposit_request.deposit, deposit) | self.assertEquals(deposit_request.deposit, deposit) | ||||
if deposit_request.type.name == 'archive': | if deposit_request.type.name == 'archive': | ||||
self.assertRegex(deposit_request.archive.name, | self.assertRegex(deposit_request.archive.name, | ||||
self.archive['name']) | self.archive['name']) | ||||
self.assertIsNone(deposit_request.metadata) | |||||
self.assertIsNone(deposit_request.raw_metadata) | |||||
else: | else: | ||||
self.assertEquals( | self.assertEquals( | ||||
deposit_request.metadata['id'], | deposit_request.metadata['id'], | ||||
'urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a') | 'urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a') | ||||
self.assertEquals(deposit_request.raw_metadata, | |||||
data_atom_entry.decode('utf-8')) | |||||
@istest | @istest | ||||
def post_deposit_multipart_tar(self): | def post_deposit_multipart_tar(self): | ||||
"""one multipart deposit (tar+xml) should be accepted | """one multipart deposit (tar+xml) should be accepted | ||||
""" | """ | ||||
# given | # given | ||||
url = reverse(COL_IRI, args=[self.collection.name]) | url = reverse(COL_IRI, args=[self.collection.name]) | ||||
▲ Show 20 Lines • Show All 46 Lines • ▼ Show 20 Lines | def post_deposit_multipart_tar(self): | ||||
deposit_requests = DepositRequest.objects.filter(deposit=deposit) | deposit_requests = DepositRequest.objects.filter(deposit=deposit) | ||||
self.assertEquals(len(deposit_requests), 2) | self.assertEquals(len(deposit_requests), 2) | ||||
for deposit_request in deposit_requests: | for deposit_request in deposit_requests: | ||||
self.assertEquals(deposit_request.deposit, deposit) | self.assertEquals(deposit_request.deposit, deposit) | ||||
if deposit_request.type.name == 'archive': | if deposit_request.type.name == 'archive': | ||||
self.assertRegex(deposit_request.archive.name, | self.assertRegex(deposit_request.archive.name, | ||||
self.archive['name']) | self.archive['name']) | ||||
self.assertIsNone(deposit_request.metadata) | |||||
self.assertIsNone(deposit_request.raw_metadata) | |||||
else: | else: | ||||
self.assertEquals( | self.assertEquals( | ||||
deposit_request.metadata['id'], | deposit_request.metadata['id'], | ||||
'urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a') | 'urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a') | ||||
self.assertEquals(deposit_request.raw_metadata, | |||||
data_atom_entry.decode('utf-8')) | |||||
@istest | @istest | ||||
def post_deposit_multipart_put_to_replace_metadata(self): | def post_deposit_multipart_put_to_replace_metadata(self): | ||||
"""One multipart deposit followed by a metadata update should be | """One multipart deposit followed by a metadata update should be | ||||
accepted | accepted | ||||
""" | """ | ||||
# given | # given | ||||
▲ Show 20 Lines • Show All 51 Lines • ▼ Show 20 Lines | def post_deposit_multipart_put_to_replace_metadata(self): | ||||
self.assertEquals(deposit_request.deposit, deposit) | self.assertEquals(deposit_request.deposit, deposit) | ||||
if deposit_request.type.name == 'archive': | if deposit_request.type.name == 'archive': | ||||
self.assertRegex(deposit_request.archive.name, | self.assertRegex(deposit_request.archive.name, | ||||
self.archive['name']) | self.archive['name']) | ||||
else: | else: | ||||
self.assertEquals( | self.assertEquals( | ||||
deposit_request.metadata['id'], | deposit_request.metadata['id'], | ||||
'urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a') | 'urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a') | ||||
self.assertEquals(deposit_request.raw_metadata, | |||||
data_atom_entry.decode('utf-8')) | |||||
replace_metadata_uri = response._headers['location'][1] | replace_metadata_uri = response._headers['location'][1] | ||||
response = self.client.put( | response = self.client.put( | ||||
replace_metadata_uri, | replace_metadata_uri, | ||||
content_type='application/atom+xml;type=entry', | content_type='application/atom+xml;type=entry', | ||||
data=self.data_atom_entry_update_in_place, | data=self.data_atom_entry_update_in_place, | ||||
HTTP_IN_PROGRESS='false') | HTTP_IN_PROGRESS='false') | ||||
Show All 13 Lines | def post_deposit_multipart_put_to_replace_metadata(self): | ||||
self.assertEquals(deposit_request.deposit, deposit) | self.assertEquals(deposit_request.deposit, deposit) | ||||
if deposit_request.type.name == 'archive': | if deposit_request.type.name == 'archive': | ||||
self.assertRegex(deposit_request.archive.name, | self.assertRegex(deposit_request.archive.name, | ||||
self.archive['name']) | self.archive['name']) | ||||
else: | else: | ||||
self.assertEquals( | self.assertEquals( | ||||
deposit_request.metadata['id'], | deposit_request.metadata['id'], | ||||
'urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa7b') | 'urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa7b') | ||||
self.assertEquals( | |||||
deposit_request.raw_metadata, | |||||
self.data_atom_entry_update_in_place) | |||||
# FAILURE scenarios | # FAILURE scenarios | ||||
@istest | @istest | ||||
def post_deposit_multipart_only_archive_and_atom_entry(self): | def post_deposit_multipart_only_archive_and_atom_entry(self): | ||||
"""Multipart deposit only accepts one archive and one atom+xml""" | """Multipart deposit only accepts one archive and one atom+xml""" | ||||
# given | # given | ||||
url = reverse(COL_IRI, args=[self.collection.name]) | url = reverse(COL_IRI, args=[self.collection.name]) | ||||
▲ Show 20 Lines • Show All 56 Lines • Show Last 20 Lines |