diff --git a/test/conftest.py b/test/conftest.py index d450ab43e176bc08a6b5e5658b8814b30801316f..8e32c666cdd9800a2d8c0e6b55fe09b22258af34 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -30,6 +30,7 @@ from sqlalchemy import create_engine, select, text from sqlalchemy.engine import make_url from sqlalchemy.orm import scoped_session, sessionmaker from starlette.testclient import TestClient +from urllib3_mock import Responses from gso.db.models import PartnerType from gso.main import init_gso_app @@ -516,3 +517,26 @@ def product_type_1_subscriptions_factory(product_type_1_subscription_factory): @pytest.fixture() def generic_subscription_1(product_type_1_subscription_factory): return product_type_1_subscription_factory() + + +@pytest.fixture(autouse=True) +def responses(): + responses_mock = Responses("requests.packages.urllib3") + + def _find_request(call): + mock_url = responses_mock._find_match(call.request) # noqa: SLF001 + if not mock_url: + pytest.fail(f"Call not mocked: {call.request}") + return mock_url + + def _to_tuple(url_mock): + return url_mock["url"], url_mock["method"], url_mock["match_querystring"] + + with responses_mock: + yield responses_mock + + mocked_urls = map(_to_tuple, responses_mock._urls) # noqa: SLF001 + used_urls = map(_to_tuple, map(_find_request, responses_mock.calls)) + not_used = set(mocked_urls) - set(used_urls) + if not_used: + pytest.fail(f"Found unused responses mocks: {not_used}", pytrace=False) diff --git a/test/workflows/conftest.py b/test/workflows/conftest.py deleted file mode 100644 index 9d298a779f3e4f190e009973caa321658eb2433b..0000000000000000000000000000000000000000 --- a/test/workflows/conftest.py +++ /dev/null @@ -1,25 +0,0 @@ -import pytest -from urllib3_mock import Responses - - -@pytest.fixture(autouse=True) -def responses(): - responses_mock = Responses("requests.packages.urllib3") - - def _find_request(call): - mock_url = responses_mock._find_match(call.request) # noqa: SLF001 - if not mock_url: - pytest.fail(f"Call not mocked: {call.request}") - return mock_url - - def _to_tuple(url_mock): - return url_mock["url"], url_mock["method"], url_mock["match_querystring"] - - with responses_mock: - yield responses_mock - - mocked_urls = map(_to_tuple, responses_mock._urls) # noqa: SLF001 - used_urls = map(_to_tuple, map(_find_request, responses_mock.calls)) - not_used = set(mocked_urls) - set(used_urls) - if not_used: - pytest.fail(f"Found unused responses mocks: {not_used}", pytrace=False)