import pytest from urllib3_mock import Responses from test.fixtures import ( # noqa: F401 iptrunk_side_subscription_factory, iptrunk_subscription_factory, router_subscription_factory, site_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)