Page MenuHomeSoftware Heritage

Jenkins > .tox.py3.lib.python3.7.site-packages.swh.storage.tests.migrate_extrinsic_metadata.test_debian::test_debian_origins_from_row
Failed

TEST RESULT

Run At
Sep 11 2020, 11:55 AM
Details
def test_debian_origins_from_row(): """Tests debian_origins_from_row on a real example (with some parts omitted, for conciseness).""" origin_url = "deb://Debian/packages/kalgebra" visit = OriginVisit( origin=origin_url, date=datetime.datetime( 2020, 1, 27, 19, 32, 3, 925498, tzinfo=datetime.timezone.utc, ), type="deb", visit=280, ) def mock_origin_visit_get(origin, page_token, order): if origin in ( "deb://Debian-Security/packages/kalgebra", "http://snapshot.debian.org/package/kalgebra/", ): return PagedResult(results=[], next_page_token=None) elif origin == "deb://Debian/packages/kalgebra": if page_token == None: return PagedResult( # ... results=[visit,], next_page_token="280", ) elif page_token == "280": return PagedResult(results=[], next_page_token=None) else: assert False, page_token else: assert False, origin storage = Mock() storage.origin_visit_get.side_effect = mock_origin_visit_get storage.origin_visit_status_get.return_value = PagedResult( results=[ OriginVisitStatus( origin=origin_url, visit=280, date=datetime.datetime( 2020, 1, 27, 19, 32, 3, 925498, tzinfo=datetime.timezone.utc ), status="full", snapshot=b"\xafD\x15\x98){\xd4$\xdeI\x1f\xbe\x95lh`x\x14\xce\xc4", metadata=None, ) ], next_page_token=None, ) snapshot = Snapshot( id=b"\xafD\x15\x98){\xd4$\xdeI\x1f\xbe\x95lh`x\x14\xce\xc4", branches={ # ... b"releases/unstable/main/4:19.12.1-1": SnapshotBranch( target=b"\x00\x00\x03l1\x1e\xf3:(\x1b\x05h\x8fn\xad\xcf\xc0\x94:\xee", target_type=TargetType.REVISION, ), }, ) revision_row = { "id": b"\x00\x00\x03l1\x1e\xf3:(\x1b\x05h\x8fn\xad\xcf\xc0\x94:\xee", "metadata": { # ... "original_artifact": [ { "filename": "kalgebra_19.12.1-1.dsc", # ... }, ] }, } with patch("snapshot_get_all_branches", return_value=snapshot): > assert debian_origins_from_row(revision_row, storage) == [origin_url] .tox/py3/lib/python3.7/site-packages/swh/storage/tests/migrate_extrinsic_metadata/test_debian.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ row = {'id': b'\x00\x00\x03l1\x1e\xf3:(\x1b\x05h\x8fn\xad\xcf\xc0\x94:\xee', 'metadata': {'original_artifact': [{'filename': 'kalgebra_19.12.1-1.dsc'}]}} storage = <Mock id='140634146586520'> def debian_origins_from_row(row, storage): """Guesses a Debian origin from a row. May return an empty list if it cannot reliably guess it, but all results are guaranteed to be correct.""" filenames = [entry["filename"] for entry in row["metadata"]["original_artifact"]] package_names = {filename.split("_")[0] for filename in filenames} assert len(package_names) == 1, package_names > package_name = package_names[0] E TypeError: 'set' object is not subscriptable .tox/py3/lib/python3.7/site-packages/swh/storage/migrate_extrinsic_metadata.py:210: TypeError