Page MenuHomeSoftware Heritage

D8839.diff
No OneTemporary

D8839.diff

diff --git a/swh/loader/package/maven/tests/data/https_maven.org/sprova4j-0.1.0-sources.jar b/swh/loader/package/maven/tests/data/https_repo1.maven.org/maven2_al_aldi_sprova4j_0.1.0_sprova4j-0.1.0-sources.jar
rename from swh/loader/package/maven/tests/data/https_maven.org/sprova4j-0.1.0-sources.jar
rename to swh/loader/package/maven/tests/data/https_repo1.maven.org/maven2_al_aldi_sprova4j_0.1.0_sprova4j-0.1.0-sources.jar
diff --git a/swh/loader/package/maven/tests/data/https_maven.org/sprova4j-0.1.0-sources.jar.sha1 b/swh/loader/package/maven/tests/data/https_repo1.maven.org/maven2_al_aldi_sprova4j_0.1.0_sprova4j-0.1.0-sources.jar.sha1
rename from swh/loader/package/maven/tests/data/https_maven.org/sprova4j-0.1.0-sources.jar.sha1
rename to swh/loader/package/maven/tests/data/https_repo1.maven.org/maven2_al_aldi_sprova4j_0.1.0_sprova4j-0.1.0-sources.jar.sha1
diff --git a/swh/loader/package/maven/tests/data/https_maven.org/sprova4j-0.1.0.pom b/swh/loader/package/maven/tests/data/https_repo1.maven.org/maven2_al_aldi_sprova4j_0.1.0_sprova4j-0.1.0.pom
rename from swh/loader/package/maven/tests/data/https_maven.org/sprova4j-0.1.0.pom
rename to swh/loader/package/maven/tests/data/https_repo1.maven.org/maven2_al_aldi_sprova4j_0.1.0_sprova4j-0.1.0.pom
diff --git a/swh/loader/package/maven/tests/data/https_maven.org/sprova4j-0.1.1-sources.jar b/swh/loader/package/maven/tests/data/https_repo1.maven.org/maven2_al_aldi_sprova4j_0.1.1_sprova4j-0.1.1-sources.jar
rename from swh/loader/package/maven/tests/data/https_maven.org/sprova4j-0.1.1-sources.jar
rename to swh/loader/package/maven/tests/data/https_repo1.maven.org/maven2_al_aldi_sprova4j_0.1.1_sprova4j-0.1.1-sources.jar
diff --git a/swh/loader/package/maven/tests/data/https_maven.org/sprova4j-0.1.1-sources.jar.sha1 b/swh/loader/package/maven/tests/data/https_repo1.maven.org/maven2_al_aldi_sprova4j_0.1.1_sprova4j-0.1.1-sources.jar.sha1
rename from swh/loader/package/maven/tests/data/https_maven.org/sprova4j-0.1.1-sources.jar.sha1
rename to swh/loader/package/maven/tests/data/https_repo1.maven.org/maven2_al_aldi_sprova4j_0.1.1_sprova4j-0.1.1-sources.jar.sha1
diff --git a/swh/loader/package/maven/tests/data/https_maven.org/sprova4j-0.1.1.pom b/swh/loader/package/maven/tests/data/https_repo1.maven.org/maven2_al_aldi_sprova4j_0.1.1_sprova4j-0.1.1.pom
rename from swh/loader/package/maven/tests/data/https_maven.org/sprova4j-0.1.1.pom
rename to swh/loader/package/maven/tests/data/https_repo1.maven.org/maven2_al_aldi_sprova4j_0.1.1_sprova4j-0.1.1.pom
diff --git a/swh/loader/package/maven/tests/test_maven.py b/swh/loader/package/maven/tests/test_maven.py
--- a/swh/loader/package/maven/tests/test_maven.py
+++ b/swh/loader/package/maven/tests/test_maven.py
@@ -8,9 +8,9 @@
from itertools import chain
import json
import os
-from pathlib import Path
import pytest
+import requests
from swh.core.tarball import uncompress
from swh.loader.package import __version__
@@ -79,54 +79,19 @@
)
-@pytest.fixture
-def data_jar_1(datadir):
- content = Path(
- datadir, "https_maven.org", "sprova4j-0.1.0-sources.jar"
- ).read_bytes()
- return content
-
-
-@pytest.fixture
-def data_jar_1_sha1(datadir):
- content = Path(
- datadir, "https_maven.org", "sprova4j-0.1.0-sources.jar.sha1"
- ).read_bytes()
- return content
-
-
-@pytest.fixture
-def data_pom_1(datadir):
- content = Path(datadir, "https_maven.org", "sprova4j-0.1.0.pom").read_bytes()
- return content
-
-
-@pytest.fixture
-def data_jar_2(datadir):
- content = Path(
- datadir, "https_maven.org", "sprova4j-0.1.1-sources.jar"
- ).read_bytes()
- return content
-
-
-@pytest.fixture
-def data_jar_2_sha1(datadir):
- content = Path(
- datadir, "https_maven.org", "sprova4j-0.1.1-sources.jar.sha1"
- ).read_bytes()
- return content
+@pytest.fixture(autouse=True)
+def network_requests_mock(requests_mock_datadir):
+ pass
@pytest.fixture
-def data_pom_2(datadir):
- content = Path(datadir, "https_maven.org", "sprova4j-0.1.1.pom").read_bytes()
- return content
-
+def jar_dirs(tmp_path):
+ jar_1_path = os.path.join(tmp_path, os.path.basename(MVN_ARTIFACTS[0]["url"]))
+ jar_2_path = os.path.join(tmp_path, os.path.basename(MVN_ARTIFACTS[1]["url"]))
-@pytest.fixture
-def jar_dirs(datadir, tmp_path):
- jar_1_path = os.path.join(datadir, "https_maven.org", "sprova4j-0.1.0-sources.jar")
- jar_2_path = os.path.join(datadir, "https_maven.org", "sprova4j-0.1.1-sources.jar")
+ with open(jar_1_path, "wb") as jar_1, open(jar_2_path, "wb") as jar_2:
+ jar_1.write(requests.get(MVN_ARTIFACTS[0]["url"]).content)
+ jar_2.write(requests.get(MVN_ARTIFACTS[1]["url"]).content)
jar_1_extract_path = os.path.join(tmp_path, "jar_1")
jar_2_extract_path = os.path.join(tmp_path, "jar_2")
@@ -203,29 +168,11 @@
@pytest.fixture
-def expected_pom_metadata(data_pom_1, data_pom_2):
- return [data_pom_1, data_pom_2]
-
-
-@pytest.fixture(autouse=True)
-def network_requests_mock(
- requests_mock,
- data_jar_1,
- data_jar_1_sha1,
- data_pom_1,
- data_jar_2,
- data_jar_2_sha1,
- data_pom_2,
-):
- requests_mock.get(MVN_ARTIFACTS[0]["url"], content=data_jar_1)
- requests_mock.get(MVN_ARTIFACTS[0]["url"] + ".sha1", content=data_jar_1_sha1)
- requests_mock.get(MVN_ARTIFACTS_POM[0], content=data_pom_1)
- requests_mock.get(MVN_ARTIFACTS[1]["url"], content=data_jar_2)
- requests_mock.get(MVN_ARTIFACTS[1]["url"] + ".sha1", content=data_jar_2_sha1)
- requests_mock.get(MVN_ARTIFACTS_POM[1], content=data_pom_2)
+def expected_pom_metadata():
+ return [requests.get(pom_url).content for pom_url in MVN_ARTIFACTS_POM]
-def test_maven_loader_visit_with_no_artifact_found(swh_storage, requests_mock_datadir):
+def test_maven_loader_visit_with_no_artifact_found(swh_storage):
origin_url = "https://ftp.g.o/unknown"
unknown_artifact_url = "https://ftp.g.o/unknown/8sync-0.1.0.tar.gz"
loader = MavenLoader(
@@ -267,9 +214,7 @@
} == stats
-def test_maven_loader_jar_visit_inconsistent_base_url(
- swh_storage, requests_mock, data_jar_1, data_pom_1
-):
+def test_maven_loader_jar_visit_inconsistent_base_url(swh_storage):
"""With no prior visit, loading a jar ends up with 1 snapshot"""
with pytest.raises(ValueError, match="more than one Maven instance"):
MavenLoader(
@@ -283,7 +228,10 @@
def test_maven_loader_first_visit(
- swh_storage, expected_contents_and_directories, expected_snapshot, expected_releases
+ swh_storage,
+ expected_contents_and_directories,
+ expected_snapshot,
+ expected_releases,
):
"""With no prior visit, loading a jar ends up with 1 snapshot"""
@@ -329,6 +277,9 @@
):
"""With no prior visit, load a maven project ends up with 1 snapshot"""
+ # reset requests history as some are sent by fixtures
+ requests_mock.reset_mock()
+
loader = MavenLoader(swh_storage, MVN_ORIGIN_URL, artifacts=MVN_ARTIFACTS)
actual_load_status = loader.load()
@@ -361,7 +312,10 @@
def test_maven_loader_extrinsic_metadata(
- swh_storage, expected_releases, expected_json_metadata, expected_pom_metadata
+ swh_storage,
+ expected_releases,
+ expected_json_metadata,
+ expected_pom_metadata,
):
"""With no prior visit, loading a jar ends up with 1 snapshot.
Extrinsic metadata is the pom file associated to the source jar.
@@ -425,7 +379,10 @@
def test_maven_loader_extrinsic_metadata_no_pom(
- swh_storage, requests_mock, expected_releases, expected_json_metadata
+ swh_storage,
+ requests_mock,
+ expected_releases,
+ expected_json_metadata,
):
"""With no prior visit, loading a jar ends up with 1 snapshot.
Extrinsic metadata is None if the pom file cannot be retrieved.

File Metadata

Mime Type
text/plain
Expires
Dec 21 2024, 2:33 AM (11 w, 4 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3220754

Event Timeline