You've already forked httpie-cli
mirror of
https://github.com/httpie/cli.git
synced 2025-08-10 22:42:05 +02:00
Better DNS error handling (#1249)
* Better DNS error handling * Update httpie/core.py Co-authored-by: Batuhan Taskaya <isidentical@gmail.com> Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import pytest
|
||||
import socket
|
||||
from unittest import mock
|
||||
from pytest import raises
|
||||
from requests import Request
|
||||
@@ -31,6 +33,21 @@ def test_error_traceback(program):
|
||||
http('--traceback', 'www.google.com')
|
||||
|
||||
|
||||
@mock.patch('httpie.core.program')
|
||||
@pytest.mark.parametrize("error_code, expected_message", [
|
||||
(socket.EAI_AGAIN, "check your connection"),
|
||||
(socket.EAI_NONAME, "check the URL"),
|
||||
])
|
||||
def test_error_custom_dns(program, error_code, expected_message):
|
||||
exc = ConnectionError('Connection aborted')
|
||||
exc.__context__ = socket.gaierror(error_code, "<test>")
|
||||
program.side_effect = exc
|
||||
|
||||
r = http('www.google.com', tolerate_error_exit_status=True)
|
||||
assert r.exit_status == ExitStatus.ERROR
|
||||
assert expected_message in r.stderr
|
||||
|
||||
|
||||
def test_max_headers_limit(httpbin_both):
|
||||
with raises(ConnectionError) as e:
|
||||
http('--max-headers=1', httpbin_both + '/get')
|
||||
|
Reference in New Issue
Block a user