def test_call_with_existing_session(mock_response, mock_endpoint, mock_logger): service = mock.Mock() service.get_hosts.return_value = ["http://host1.biz"] service.required_headers = {} session = mock.Mock() session.send.return_value = mock_response client.call(service, mock_endpoint, session=session, logger=mock_logger) assert not session.close.called
def test_call_with_explicit_encoding(mock_response, mock_endpoint, mock_logger): service = mock.Mock() service.get_hosts.return_value = ["http://host1.biz"] service.required_headers = {} session = mock.Mock() session.send.return_value = mock_response client.call(service, mock_endpoint, session=session, logger=mock_logger, encoding="FAKE-CODEC") assert "FAKE-CODEC" == mock_response.encoding
def test_call_auth_priority(MockSession, mock_adapt_session, mock_build_request_object, mock_endpoint, mock_logger): service = mock.Mock() service.get_hosts.return_value = ["http://host1.biz"] service.required_headers = {} service.auth = ("service-user", "p455w0rd!") mock_session = MockSession() mock_session.proxies = {} mock_session.auth = ("session-user", "p455w0rd!") mock_adapt_session.return_value = mock_session client.call(service, mock_endpoint, auth=("direct-user", "p455w0rd!"), session=mock_session, logger=mock_logger) assert mock_build_request_object.call_args[1]["auth"] == ("direct-user", "p455w0rd!") client.call(service, mock_endpoint, session=mock_session, logger=mock_logger) assert mock_build_request_object.call_args[1]["auth"] == ("session-user", "p455w0rd!") mock_session.auth = () client.call(service, mock_endpoint, logger=mock_logger) assert mock_build_request_object.call_args[1]["auth"] == ("service-user", "p455w0rd!")
def test_call_when_raw_response_object_requested(mock_response, mock_endpoint, mock_logger): service = mock.Mock() service.get_hosts.return_value = ["http://host1.biz"] service.required_headers = {} session = mock.Mock() session.send.return_value = mock_response response = client.call(service, mock_endpoint, session=session, logger=mock_logger, return_raw_response_object=True) assert response is mock_response
def test_return_raw_response_object_in_call_overrides_endpoint( mock_response, mock_endpoint): service = mock.Mock() service.get_hosts.return_value = ["http://host1.biz"] service.required_headers = {} session = mock.Mock() session.send.return_value = mock_response mock_endpoint.return_raw_response_object = False response = client.call( service, mock_endpoint, session=session, logger=mock.Mock(), return_raw_response_object=True, ) assert response is mock_response
def test_call( MockSession, MockAdapter, mock_build_request_object, mock_adapt_session, mock_timeout, mock_response, mock_endpoint, mock_logger, ): service = mock.Mock() service.get_hosts.return_value = ["http://host1.biz"] mock_endpoint.default_method = "GET" mock_endpoint.streaming = True request = mock.Mock() request.url = "http://host1.biz/foo/" mock_build_request_object.return_value = request mock_response.status_code = 200 mock_response.url = "http://host1.biz/foo/" mock_session = MockSession() mock_session.send.return_value = mock_response mock_session.proxies = {} mock_session.auth = () mock_adapt_session.return_value = mock_session client.call(service, mock_endpoint, timeout_spec=mock_timeout, logger=mock_logger) mock_adapt_session.assert_called_once_with(mock_session, MockAdapter()) mock_session.send.assert_called_once_with( request, timeout=(mock_timeout.connection_timeout, mock_timeout.read_timeout), stream=mock_endpoint.streaming, allow_redirects=True, proxies=service.proxies, ) mock_logger.info.assert_any_call("%s %s", "GET", "http://host1.biz/foo/") mock_logger.info.assert_any_call("%d %s%s", 200, "http://host1.biz/foo/", "") mock_endpoint.default_method = "POST" request.method = "POST" client.call(service, mock_endpoint, session=mock_session, timeout_spec=mock_timeout, logger=mock_logger) mock_session.send.assert_any_call( request, timeout=(mock_timeout.connection_timeout, mock_timeout.read_timeout), stream=mock_endpoint.streaming, allow_redirects=True, proxies=service.proxies, ) mock_logger.info.assert_any_call("%s %s", "GET", "http://host1.biz/foo/") mock_logger.info.assert_any_call("%d %s%s", 200, "http://host1.biz/foo/", "") request.method = "PUT" client.call(service, mock_endpoint, method="PUT", session=mock_session, timeout_spec=mock_timeout, logger=mock_logger) mock_session.send.assert_any_call( request, timeout=(mock_timeout.connection_timeout, mock_timeout.read_timeout), stream=mock_endpoint.streaming, allow_redirects=True, proxies=service.proxies, )