Changeset View
Changeset View
Standalone View
Standalone View
swh/scrubber/tests/test_init.py
- This file was added.
# Copyright (C) 2020-2022 The Software Heritage developers | |||||
# See the AUTHORS file at the top-level directory of this distribution | |||||
# License: GNU General Public License version 3, or any later version | |||||
# See top-level LICENSE file for more information | |||||
from typing import Any | |||||
import pytest | |||||
from swh.scrubber import get_scrubber_db | |||||
@pytest.mark.parametrize("clz", ["local", "postgresql"]) | |||||
def test_get_scrubber_db(mocker, clz): | |||||
mock_scrubber = mocker.patch("swh.scrubber.db.ScrubberDb") | |||||
def test_connect(db_str: str, **kwargs) -> Any: | |||||
return "connection-result" | |||||
mock_scrubber.connect.side_effect = test_connect | |||||
actual_result = get_scrubber_db(clz, db="service=scrubber-db") | |||||
assert mock_scrubber.connect.called is True | |||||
assert actual_result == "connection-result" | |||||
@pytest.mark.parametrize("clz", ["something", "anything"]) | |||||
def test_get_scrubber_db_raise(clz): | |||||
assert clz not in ["local", "postgresql"] | |||||
with pytest.raises(ValueError, match="Unknown"): | |||||
get_scrubber_db(clz, db="service=scrubber-db") |