Changeset View
Changeset View
Standalone View
Standalone View
swh/loader/package/tests/test_loader.py
# Copyright (C) 2019-2020 The Software Heritage developers | # Copyright (C) 2019-2021 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
import attr | import attr | ||||
import pytest | import pytest | ||||
from swh.loader.package.loader import BasePackageInfo, PackageLoader | from swh.loader.package.loader import BasePackageInfo, PackageLoader | ||||
Show All 10 Lines | |||||
class FakeStorage2(FakeStorage): | class FakeStorage2(FakeStorage): | ||||
def origin_add(self, origins): | def origin_add(self, origins): | ||||
pass | pass | ||||
def origin_visit_add(self, visits): | def origin_visit_add(self, visits): | ||||
raise ValueError("We refuse to add an origin visit") | raise ValueError("We refuse to add an origin visit") | ||||
def test_loader_origin_visit_failure(swh_config): | def test_loader_origin_visit_failure(swh_storage): | ||||
"""Failure to add origin or origin visit should failed immediately | """Failure to add origin or origin visit should failed immediately | ||||
""" | """ | ||||
loader = PackageLoader("some-url") | loader = PackageLoader(swh_storage, "some-url") | ||||
loader.storage = FakeStorage() | loader.storage = FakeStorage() | ||||
actual_load_status = loader.load() | actual_load_status = loader.load() | ||||
assert actual_load_status == {"status": "failed"} | assert actual_load_status == {"status": "failed"} | ||||
loader.storage = FakeStorage2() | loader.storage = FakeStorage2() | ||||
actual_load_status2 = loader.load() | actual_load_status2 = loader.load() | ||||
Show All 38 Lines | class DummyPackageLoader(PackageLoader): | ||||
pass | pass | ||||
monkeypatch.delenv("SWH_CONFIG_FILENAME", raising=False) | monkeypatch.delenv("SWH_CONFIG_FILENAME", raising=False) | ||||
with pytest.raises( | with pytest.raises( | ||||
AssertionError, match="SWH_CONFIG_FILENAME environment variable is undefined" | AssertionError, match="SWH_CONFIG_FILENAME environment variable is undefined" | ||||
): | ): | ||||
DummyPackageLoader(url="some-url") | DummyPackageLoader.from_configfile(url="some-url") |