def session_with_retry_policy() -> Session: http = Session() retry_strategy = Retry(total=5, status_forcelist=[500, 502, 503, 504], method_whitelist=["POST"], backoff_factor=3) adaptor = HTTPAdapter(max_retries=retry_strategy) http.adapters = {"https://": adaptor, "http://": adaptor} return http
def mock_session(session: Session, *args, **kwargs): """Add IcingaMockAdapter to the given session, remove all other adapters.""" # Close adapters for save removal session.close() # Remove all adapters session.adapters = OrderedDict() # Add mock adapter adapter = IcingaMockAdapter(*args, **kwargs) # HTTP because requests.PreparedRequest.prepare_url() handles only URLs starting with "http" session.mount("http://", adapter)
def test_class_adapter(): class_session = Session() class TestMockClass(BaseMockClass): def _test_json(self, request): return "hello alabama" a = ClassAdapter(TestMockClass) class_session.adapters = OrderedDict() class_session.mount("http://test.com", a) response = class_session.get('http://test.com/test.json') assert response.text == "hello alabama"
def _get_session(): session = Session() a = Adapter('tests/fixtures') session.adapters = OrderedDict() session.mount("http://test.com", a) return session