diff --git a/swh/loader/package/tests/data/https_example.org/package_example_example-v1.0.tar.gz b/swh/loader/package/tests/data/https_example.org/package_example_example-v1.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@ Optional[Release]: + msg = ( + f"Synthetic release for source package {p_info.url} " + f"version {p_info.version}\n" + ) + + return Release( + name=p_info.version.encode(), + message=msg.encode(), + date=None, + author=EMPTY_AUTHOR, + target_type=ModelObjectType.DIRECTORY, + target=directory, + synthetic=True, + ) + + +def test_loader_origin_visit_success(swh_storage, requests_mock_datadir): + + loader = StubPackageLoader(swh_storage, ORIGIN_URL) + + assert loader.load() == { + "snapshot_id": "dcb9ecef64af73f2cdac7f5463cb6dece6b1db61", + "status": "eventful", + } + + assert set(loader.last_snapshot().branches.keys()) == { + f"branch-{version}".encode() for version in loader.get_versions() + } def test_loader_origin_visit_failure(swh_storage): @@ -115,7 +153,7 @@ ) storage.release_add([rel1, rel2]) - loader = StubPackageLoader(storage, "http://example.org/") + loader = StubPackageLoader(storage, ORIGIN_URL) p_info = Mock(wraps=BasePackageInfo(None, None, None)) # type: ignore @@ -164,7 +202,7 @@ synthetic=False, ) - loader = StubPackageLoader(storage, "http://example.org/") + loader = StubPackageLoader(storage, ORIGIN_URL) p_info = Mock(wraps=BasePackageInfo(None, None, None)) # type: ignore @@ -188,7 +226,7 @@ """Checks PackageLoader.load() fetches known extids efficiently""" storage = Mock(wraps=get_storage("memory")) - loader = StubPackageLoader(storage, "http://example.org") + loader = StubPackageLoader(storage, ORIGIN_URL) loader.load() @@ -221,7 +259,7 @@ ] storage.release_add(rels[0:3]) - origin = "http://example.org" + origin = ORIGIN_URL rel1_swhid = rels[0].swhid() rel2_swhid = rels[1].swhid() rel3_swhid = rels[2].swhid() @@ -251,7 +289,7 @@ date = datetime.datetime.now(tz=datetime.timezone.utc) storage.origin_add([Origin(url=origin)]) storage.origin_visit_add( - [OriginVisit(origin="http://example.org", visit=1, date=date, type="tar")] + [OriginVisit(origin=origin, visit=1, date=date, type="tar")] ) storage.origin_visit_status_add( [ @@ -265,7 +303,7 @@ ] ) - loader = StubPackageLoader(storage, "http://example.org") + loader = StubPackageLoader(storage, origin) patch.object( loader, "_load_release", @@ -280,18 +318,24 @@ # in the storage. # v2.0: loaded, because there is already a similar extid, but different type call( - StubPackageInfo(origin, "example-v2.0.tar", "v2.0"), + StubPackageInfo( + f"{origin}/example-v2.0.tar.gz", "example-v2.0.tar.gz", "v2.0" + ), Origin(url=origin), ), # v3.0: loaded despite having an (extid_type, extid) in storage, because # the target of the extid is not in the previous snapshot call( - StubPackageInfo(origin, "example-v3.0.tar", "v3.0"), + StubPackageInfo( + f"{origin}/example-v3.0.tar.gz", "example-v3.0.tar.gz", "v3.0" + ), Origin(url=origin), ), # v4.0: loaded, because there isn't its extid call( - StubPackageInfo(origin, "example-v4.0.tar", "v4.0"), + StubPackageInfo( + f"{origin}/example-v4.0.tar.gz", "example-v4.0.tar.gz", "v4.0" + ), Origin(url=origin), ), ] @@ -350,7 +394,7 @@ storage = get_storage("memory") - origin = "http://example.org" + origin = ORIGIN_URL dir1_swhid = CoreSWHID(object_type=ObjectType.DIRECTORY, object_id=b"d" * 20) dir2_swhid = CoreSWHID(object_type=ObjectType.DIRECTORY, object_id=b"e" * 20) @@ -407,7 +451,7 @@ date = datetime.datetime.now(tz=datetime.timezone.utc) storage.origin_add([Origin(url=origin)]) storage.origin_visit_add( - [OriginVisit(origin="http://example.org", visit=1, date=date, type="tar")] + [OriginVisit(origin=origin, visit=1, date=date, type="tar")] ) storage.origin_visit_status_add( [ @@ -421,7 +465,7 @@ ] ) - loader = StubPackageLoader(storage, "http://example.org") + loader = StubPackageLoader(storage, origin) patch.object( loader, "_load_release", @@ -448,9 +492,19 @@ # v1.0: not loaded because there is already a revision matching it # v2.0: loaded, as the revision is missing from the storage even though there # is an extid - call(StubPackageInfo(origin, "example-v2.0.tar", "v2.0"), Origin(url=origin)), + call( + StubPackageInfo( + f"{origin}/example-v2.0.tar.gz", "example-v2.0.tar.gz", "v2.0" + ), + Origin(url=origin), + ), # v3.0: loaded (did not exist yet) - call(StubPackageInfo(origin, "example-v3.0.tar", "v3.0"), Origin(url=origin)), + call( + StubPackageInfo( + f"{origin}/example-v3.0.tar.gz", "example-v3.0.tar.gz", "v3.0" + ), + Origin(url=origin), + ), ] snapshot = Snapshot( @@ -530,7 +584,7 @@ def test_loader_sentry_tags_on_error(swh_storage, sentry_events): - origin_url = "http://example.org/package/name" + origin_url = ORIGIN_URL loader = StubPackageLoaderWithError(swh_storage, origin_url) loader.load() sentry_tags = sentry_events[0]["tags"]