Page MenuHomeSoftware Heritage

Jenkins > .tox.py3.lib.python3.7.site-packages.swh.deposit.tests.api.test_deposit_multipart::test_post_deposit_multipart_tar
Failed

TEST RESULT

Run At
May 28 2020, 1:37 PM
Details
authenticated_client = <rest_framework.test.APIClient object at 0x7f8bcd506ac8> deposit_collection = <DepositCollection: {'id': 37, 'name': 'test'}> atom_dataset = {'codemeta-sample': '<?xml version="1.0"?>\n <entry xmlns="http://www.w3.org/2005/Atom"\n xmlns:d...ntry>\n', 'entry-data-empty-body': '<?xml version="1.0"?>\n<entry xmlns="http://www.w3.org/2005/Atom"></entry>\n', ...} sample_archive = {'data': b'PK\x03\x04\x14\x00\x00\x00\x00\x00\x9b\\\xbcP\xcba\xb4c\x14\x00\x00\x00\x14\x00\x00\x00\x05\x00\x00\x00file...ytest-0/test_post_deposit_multipart_ta0/tmp3np1p636', 'length': 128, 'md5sum': 'e86f38db7f05a97de2b24c9abdfb8989', ...} def test_post_deposit_multipart_tar( authenticated_client, deposit_collection, atom_dataset, sample_archive ): """one multipart deposit (tar+xml) should be accepted """ # given url = reverse(COL_IRI, args=[deposit_collection.name]) # from django.core.files import uploadedfile data_atom_entry = atom_dataset["entry-data-deposit-binary"] archive = InMemoryUploadedFile( BytesIO(sample_archive["data"]), field_name=sample_archive["name"], name=sample_archive["name"], content_type="application/x-tar", size=sample_archive["length"], charset=None, ) atom_entry = InMemoryUploadedFile( BytesIO(data_atom_entry.encode("utf-8")), field_name="atom0", name="atom0", content_type='application/atom+xml; charset="utf-8"', size=len(data_atom_entry), charset="utf-8", ) external_id = "external-id" # when response = authenticated_client.post( url, format="multipart", data={"archive": archive, "atom_entry": atom_entry,}, # + headers HTTP_IN_PROGRESS="false", HTTP_SLUG=external_id, ) # then assert response.status_code == status.HTTP_201_CREATED response_content = parse_xml(BytesIO(response.content)) deposit_id = response_content["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.swh_id is None deposit_requests = DepositRequest.objects.filter(deposit=deposit) assert len(deposit_requests) == 2 for deposit_request in deposit_requests: assert deposit_request.deposit == deposit if deposit_request.type == "archive": > check_archive(sample_archive["name"], deposit_request.archive.name) .tox/py3/lib/python3.7/site-packages/swh/deposit/tests/api/test_deposit_multipart.py:183: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ archive_name = 'archive1.zip', archive_name_to_check = 'client_36/archive1.zip' def check_archive(archive_name: str, archive_name_to_check: str): """Helper function to ensure archive_name is present within the archive_name_to_check. Raises: AssertionError if archive_name is not present within archive_name_to_check """ pattern = re.compile(".*/.*_%s" % archive_name) > assert pattern.match(archive_name_to_check) is not None E AssertionError: assert None is not None E + where None = <built-in method match of re.Pattern object at 0x7f8bcd73e378>('client_36/archive1.zip') E + where <built-in method match of re.Pattern object at 0x7f8bcd73e378> = re.compile('.*/.*_archive1.zip').match .tox/py3/lib/python3.7/site-packages/swh/deposit/tests/common.py:137: AssertionError