def METHOD_NAME(database_path):
    # type: (str) -> None
    responses = {
        Endpoint("https://example.org/simple/foo", "a/b"): create_project(
            "foo",
            file("https://files.example.org/foo-1.0.tar.gz", md5="weak"),
            file("https://files.example.org/foo-2.0.tar.gz", sha256="strong", sha384="fancy"),
        ),
        Endpoint("https://example.org/simple/bar", "x/y"): create_project(
            "bar", file("https://files.example.org/bar-1.1.tar.gz", sha1="middling", sha384="fancy")
        ),
    }
    with mock.patch.object(Client, "request", side_effect=responses.get) as request:
        fingerprint_service = FingerprintService(path=database_path)
        artifacts = sorted(
            fingerprint_service.fingerprint(
                endpoints=set(responses),
                artifacts=[
                    PartialArtifact(url="https://files.example.org/foo-1.0.tar.gz"),
                    PartialArtifact(url="https://files.example.org/foo-2.0.tar.gz"),
                    PartialArtifact(url="https://files.example.org/bar-1.1.tar.gz"),
                    PartialArtifact(url="https://files.example.org/baz-2.0.tar.gz"),
                ],
            )
        )
        assert (
            sorted(
                [
                    PartialArtifact(
                        url="https://files.example.org/foo-1.0.tar.gz",
                        fingerprint=Fingerprint("md5", "weak"),
                    ),
                    PartialArtifact(
                        url="https://files.example.org/foo-2.0.tar.gz",
                        fingerprint=Fingerprint("sha256", "strong"),
                    ),
                    PartialArtifact(
                        url="https://files.example.org/bar-1.1.tar.gz",
                        fingerprint=Fingerprint("sha384", "fancy"),
                    ),
                    PartialArtifact(url="https://files.example.org/baz-2.0.tar.gz"),
                ]
            )
            == artifacts
        )
    request.assert_has_calls([mock.call(endpoint) for endpoint in responses], any_order=True)