def test_verify_option_enabled(requests_send): sender = RequestSender() sender.send(RESTRequest('GET', 'http://localhost/test')) assert requests_send.call_args[1]['verify'] is True sender.send(RESTRequest('GET', 'http://localhost/test'), verify=False) assert requests_send.call_args[1]['verify'] is False
def test_timeout_option_enabled(mocker, requests_send): sender = RequestSender() sender.send(RESTRequest('GET', 'http://localhost/test')) assert requests_send.call_args[1]['timeout'] is None sender.send(RESTRequest('GET', 'http://localhost/test'), timeout=0.01) assert requests_send.call_args[1]['timeout'] == 0.01
def test_persistent_session_reused(requests_send): sender = RequestSender(keep_alive=True) sender.send(RESTRequest('GET', 'http://localhost/test')) session = sender.session assert session assert getattr(session, 'keep_alive', True) sender.send(RESTRequest('GET', 'http://localhost/test')) assert sender.session == session
def test_max_redirects_option_enabled(mocker, requests_send): sender = RequestSender() session = requests.Session() mocker.patch('restmagic.sender.RequestSender.get_session', return_value=session) sender.send(RESTRequest('GET', 'http://localhost/test')) assert session.max_redirects is None sender.send(RESTRequest('GET', 'http://localhost/test'), max_redirects=3) assert session.max_redirects == 3
def test_proxy_option_enabled(requests_send): sender = RequestSender() sender.send(RESTRequest('GET', 'http://localhost/test')) assert requests_send.call_args[1]['proxies'] == {} sender.send(RESTRequest('GET', 'http://localhost/test'), proxy='127.0.0.1:9000') assert requests_send.call_args[1]['proxies'] == { 'http': '127.0.0.1:9000', 'https': '127.0.0.1:9000' }
def test_request_parts_sended(requests_send): sender = RequestSender() assert sender.response is None rest_request = RESTRequest('POST', 'http://localhost/test', headers={'Test-Header': '1234'}, body='{"test": "value"}') sender.send(rest_request) prepared_request = requests_send.call_args[0][0] assert prepared_request.method == 'POST' assert prepared_request.url == 'http://localhost/test' assert prepared_request.headers['Test-Header'] == '1234' assert prepared_request.body == b'{"test": "value"}'
def test_session_not_reused(requests_send): sender = RequestSender() sender.send(RESTRequest('GET', 'http://localhost/test')) assert not sender.session
def test_response_saved_by_send(requests_send): sender = RequestSender() assert sender.response is None sender.send(RESTRequest('GET', 'http://localhost/test')) assert sender.response == 'test sended'
def test_request_sended(): responses.add(responses.GET, re.compile('.*')) assert len(responses.calls) == 0 RequestSender().send(RESTRequest('GET', 'http://localhost/test1')) assert len(responses.calls) == 1 assert responses.calls[0].request.url == 'http://localhost/test1'
def test_body_sended_as_bytes(requests_send): sender = RequestSender() sender.send(RESTRequest('POST', 'https://httpbin.org/post', body='{"\u03C0": "\u03C0"}')) prepared_request = requests_send.call_args[0][0] assert isinstance(prepared_request.body, bytes)