import socket import pytest from pytest_httpbin import certs from .utils import HTTPBIN_WITH_CHUNKED_SUPPORT_DOMAIN, HTTPBIN_WITH_CHUNKED_SUPPORT @pytest.fixture(scope='function', autouse=True) def httpbin_add_ca_bundle(monkeypatch): """ Make pytest-httpbin's CA trusted by default. (Same as `httpbin_ca_bundle`, just auto-used.). """ monkeypatch.setenv('REQUESTS_CA_BUNDLE', certs.where()) @pytest.fixture(scope='function') def httpbin_secure_untrusted(monkeypatch, httpbin_secure): """ Like the `httpbin_secure` fixture, but without the make-CA-trusted-by-default. """ monkeypatch.delenv('REQUESTS_CA_BUNDLE') return httpbin_secure @pytest.fixture(scope='session') def _httpbin_with_chunked_support_available(): try: socket.gethostbyname(HTTPBIN_WITH_CHUNKED_SUPPORT_DOMAIN) return True except OSError: return False @pytest.fixture(scope='function') def httpbin_with_chunked_support(_httpbin_with_chunked_support_available): if _httpbin_with_chunked_support_available: return HTTPBIN_WITH_CHUNKED_SUPPORT pytest.skip(f'{HTTPBIN_WITH_CHUNKED_SUPPORT_DOMAIN} not resolvable')