method_name = 'build_extrinsic_origin_metadata'
swh_storage = <swh.storage.proxies.retry.RetryingProxyStorage object at 0x7ffaa7110da0>
requests_mock_datadir = <requests_mock.mocker.Mocker object at 0x7ffaa705a048>
@pytest.mark.parametrize(
"method_name",
["build_extrinsic_snapshot_metadata", "build_extrinsic_origin_metadata",],
)
def test_cran_fail_to_build_or_load_extrinsic_metadata(
method_name, swh_storage, requests_mock_datadir
):
"""problem during loading: {visit: failed, status: failed, no snapshot}
"""
version = "2.22-6"
base_url = "https://cran.r-project.org"
origin_url = f"{base_url}/Packages/Recommended_KernSmooth/index.html"
artifact_url = (
f"{base_url}/src_contrib_1.4.0_Recommended_KernSmooth_{version}.tar.gz" # noqa
)
full_method_name = f"swh.loader.package.cran.loader.CRANLoader.{method_name}"
with patch(
full_method_name,
side_effect=ValueError("Fake to fail to build or load extrinsic metadata"),
):
loader = CRANLoader(
swh_storage,
origin_url,
artifacts=[{"url": artifact_url, "version": version}],
)
actual_load_status = loader.load()
> assert actual_load_status == {
"status": "failed",
"snapshot_id": SNAPSHOT.id.hex(),
}
E AssertionError: assert {'snapshot_id...us': 'failed'} == {'snapshot_id...us': 'failed'}
E Omitting 1 identical items, use -vv to show
E Differing items:
E {'snapshot_id': '1a8893e6a86f444e8be8e7bda6cb34fb1735a00e'} != {'snapshot_id': '920adcccc78aaeedd3cfa4459dd900d8c3431a21'}
E Full diff:
E - {'snapshot_id': '920adcccc78aaeedd3cfa4459dd900d8c3431a21', 'status': 'failed'}
E + {'snapshot_id': '1a8893e6a86f444e8be8e7bda6cb34fb1735a00e', 'status': 'failed'}
.tox/py3/lib/python3.7/site-packages/swh/loader/package/cran/tests/test_cran.py:345: AssertionError
TEST RESULT
TEST RESULT
- Run At
- Aug 12 2021, 12:13 PM