44from click .testing import CliRunner
55
66import httpx
7- from httpx import main
8-
9- if typing .TYPE_CHECKING : # pragma: no cover
10- # don't let mypy be misled by the fallback defined in httpx/__init__.py
11- from httpx ._main import main # noqa: F811
127
138
149def splitlines (output : str ) -> typing .Iterable [str ]:
@@ -21,15 +16,15 @@ def remove_date_header(lines: typing.Iterable[str]) -> typing.Iterable[str]:
2116
2217def test_help ():
2318 runner = CliRunner ()
24- result = runner .invoke (main , ["--help" ])
19+ result = runner .invoke (httpx . main , ["--help" ])
2520 assert result .exit_code == 0
2621 assert "A next generation HTTP client." in result .output
2722
2823
2924def test_get (server ):
3025 url = str (server .url )
3126 runner = CliRunner ()
32- result = runner .invoke (main , [url ])
27+ result = runner .invoke (httpx . main , [url ])
3328 assert result .exit_code == 0
3429 assert remove_date_header (splitlines (result .output )) == [
3530 "HTTP/1.1 200 OK" ,
@@ -44,7 +39,7 @@ def test_get(server):
4439def test_json (server ):
4540 url = str (server .url .copy_with (path = "/json" ))
4641 runner = CliRunner ()
47- result = runner .invoke (main , [url ])
42+ result = runner .invoke (httpx . main , [url ])
4843 assert result .exit_code == 0
4944 assert remove_date_header (splitlines (result .output )) == [
5045 "HTTP/1.1 200 OK" ,
@@ -62,7 +57,7 @@ def test_binary(server):
6257 url = str (server .url .copy_with (path = "/echo_binary" ))
6358 runner = CliRunner ()
6459 content = "Hello, world!"
65- result = runner .invoke (main , [url , "-c" , content ])
60+ result = runner .invoke (httpx . main , [url , "-c" , content ])
6661 assert result .exit_code == 0
6762 assert remove_date_header (splitlines (result .output )) == [
6863 "HTTP/1.1 200 OK" ,
@@ -77,7 +72,7 @@ def test_binary(server):
7772def test_redirects (server ):
7873 url = str (server .url .copy_with (path = "/redirect_301" ))
7974 runner = CliRunner ()
80- result = runner .invoke (main , [url ])
75+ result = runner .invoke (httpx . main , [url ])
8176 assert result .exit_code == 1
8277 assert remove_date_header (splitlines (result .output )) == [
8378 "HTTP/1.1 301 Moved Permanently" ,
@@ -91,7 +86,7 @@ def test_redirects(server):
9186def test_follow_redirects (server ):
9287 url = str (server .url .copy_with (path = "/redirect_301" ))
9388 runner = CliRunner ()
94- result = runner .invoke (main , [url , "--follow-redirects" ])
89+ result = runner .invoke (httpx . main , [url , "--follow-redirects" ])
9590 assert result .exit_code == 0
9691 assert remove_date_header (splitlines (result .output )) == [
9792 "HTTP/1.1 301 Moved Permanently" ,
@@ -111,7 +106,7 @@ def test_follow_redirects(server):
111106def test_post (server ):
112107 url = str (server .url .copy_with (path = "/echo_body" ))
113108 runner = CliRunner ()
114- result = runner .invoke (main , [url , "-m" , "POST" , "-j" , '{"hello": "world"}' ])
109+ result = runner .invoke (httpx . main , [url , "-m" , "POST" , "-j" , '{"hello": "world"}' ])
115110 assert result .exit_code == 0
116111 assert remove_date_header (splitlines (result .output )) == [
117112 "HTTP/1.1 200 OK" ,
@@ -126,7 +121,7 @@ def test_post(server):
126121def test_verbose (server ):
127122 url = str (server .url )
128123 runner = CliRunner ()
129- result = runner .invoke (main , [url , "-v" ])
124+ result = runner .invoke (httpx . main , [url , "-v" ])
130125 assert result .exit_code == 0
131126 assert remove_date_header (splitlines (result .output )) == [
132127 "* Connecting to '127.0.0.1'" ,
@@ -150,7 +145,7 @@ def test_verbose(server):
150145def test_auth (server ):
151146 url = str (server .url )
152147 runner = CliRunner ()
153- result = runner .invoke (main , [url , "-v" , "--auth" , "username" , "password" ])
148+ result = runner .invoke (httpx . main , [url , "-v" , "--auth" , "username" , "password" ])
154149 print (result .output )
155150 assert result .exit_code == 0
156151 assert remove_date_header (splitlines (result .output )) == [
@@ -177,15 +172,15 @@ def test_download(server):
177172 url = str (server .url )
178173 runner = CliRunner ()
179174 with runner .isolated_filesystem ():
180- runner .invoke (main , [url , "--download" , "index.txt" ])
175+ runner .invoke (httpx . main , [url , "--download" , "index.txt" ])
181176 assert os .path .exists ("index.txt" )
182177 with open ("index.txt" , "r" ) as input_file :
183178 assert input_file .read () == "Hello, world!"
184179
185180
186181def test_errors ():
187182 runner = CliRunner ()
188- result = runner .invoke (main , ["invalid://example.org" ])
183+ result = runner .invoke (httpx . main , ["invalid://example.org" ])
189184 assert result .exit_code == 1
190185 assert splitlines (result .output ) == [
191186 "UnsupportedProtocol: Request URL has an unsupported protocol 'invalid://'." ,
0 commit comments