3
3
4
4
from click .testing import CliRunner
5
5
6
- import httpx
6
+ import httpx . __main__
7
7
8
8
9
9
def splitlines (output : str ) -> typing .Iterable [str ]:
@@ -16,15 +16,15 @@ def remove_date_header(lines: typing.Iterable[str]) -> typing.Iterable[str]:
16
16
17
17
def test_help ():
18
18
runner = CliRunner ()
19
- result = runner .invoke (httpx .main , ["--help" ])
19
+ result = runner .invoke (httpx .__main__ . main , ["--help" ])
20
20
assert result .exit_code == 0
21
21
assert "A next generation HTTP client." in result .output
22
22
23
23
24
24
def test_get (server ):
25
25
url = str (server .url )
26
26
runner = CliRunner ()
27
- result = runner .invoke (httpx .main , [url ])
27
+ result = runner .invoke (httpx .__main__ . main , [url ])
28
28
assert result .exit_code == 0
29
29
assert remove_date_header (splitlines (result .output )) == [
30
30
"HTTP/1.1 200 OK" ,
@@ -39,7 +39,7 @@ def test_get(server):
39
39
def test_json (server ):
40
40
url = str (server .url .copy_with (path = "/json" ))
41
41
runner = CliRunner ()
42
- result = runner .invoke (httpx .main , [url ])
42
+ result = runner .invoke (httpx .__main__ . main , [url ])
43
43
assert result .exit_code == 0
44
44
assert remove_date_header (splitlines (result .output )) == [
45
45
"HTTP/1.1 200 OK" ,
@@ -57,7 +57,7 @@ def test_binary(server):
57
57
url = str (server .url .copy_with (path = "/echo_binary" ))
58
58
runner = CliRunner ()
59
59
content = "Hello, world!"
60
- result = runner .invoke (httpx .main , [url , "-c" , content ])
60
+ result = runner .invoke (httpx .__main__ . main , [url , "-c" , content ])
61
61
assert result .exit_code == 0
62
62
assert remove_date_header (splitlines (result .output )) == [
63
63
"HTTP/1.1 200 OK" ,
@@ -72,7 +72,7 @@ def test_binary(server):
72
72
def test_redirects (server ):
73
73
url = str (server .url .copy_with (path = "/redirect_301" ))
74
74
runner = CliRunner ()
75
- result = runner .invoke (httpx .main , [url ])
75
+ result = runner .invoke (httpx .__main__ . main , [url ])
76
76
assert result .exit_code == 1
77
77
assert remove_date_header (splitlines (result .output )) == [
78
78
"HTTP/1.1 301 Moved Permanently" ,
@@ -86,7 +86,7 @@ def test_redirects(server):
86
86
def test_follow_redirects (server ):
87
87
url = str (server .url .copy_with (path = "/redirect_301" ))
88
88
runner = CliRunner ()
89
- result = runner .invoke (httpx .main , [url , "--follow-redirects" ])
89
+ result = runner .invoke (httpx .__main__ . main , [url , "--follow-redirects" ])
90
90
assert result .exit_code == 0
91
91
assert remove_date_header (splitlines (result .output )) == [
92
92
"HTTP/1.1 301 Moved Permanently" ,
@@ -106,7 +106,9 @@ def test_follow_redirects(server):
106
106
def test_post (server ):
107
107
url = str (server .url .copy_with (path = "/echo_body" ))
108
108
runner = CliRunner ()
109
- result = runner .invoke (httpx .main , [url , "-m" , "POST" , "-j" , '{"hello": "world"}' ])
109
+ result = runner .invoke (
110
+ httpx .__main__ .main , [url , "-m" , "POST" , "-j" , '{"hello": "world"}' ]
111
+ )
110
112
assert result .exit_code == 0
111
113
assert remove_date_header (splitlines (result .output )) == [
112
114
"HTTP/1.1 200 OK" ,
@@ -121,7 +123,7 @@ def test_post(server):
121
123
def test_verbose (server ):
122
124
url = str (server .url )
123
125
runner = CliRunner ()
124
- result = runner .invoke (httpx .main , [url , "-v" ])
126
+ result = runner .invoke (httpx .__main__ . main , [url , "-v" ])
125
127
assert result .exit_code == 0
126
128
assert remove_date_header (splitlines (result .output )) == [
127
129
"* Connecting to '127.0.0.1'" ,
@@ -145,7 +147,9 @@ def test_verbose(server):
145
147
def test_auth (server ):
146
148
url = str (server .url )
147
149
runner = CliRunner ()
148
- result = runner .invoke (httpx .main , [url , "-v" , "--auth" , "username" , "password" ])
150
+ result = runner .invoke (
151
+ httpx .__main__ .main , [url , "-v" , "--auth" , "username" , "password" ]
152
+ )
149
153
print (result .output )
150
154
assert result .exit_code == 0
151
155
assert remove_date_header (splitlines (result .output )) == [
@@ -172,15 +176,15 @@ def test_download(server):
172
176
url = str (server .url )
173
177
runner = CliRunner ()
174
178
with runner .isolated_filesystem ():
175
- runner .invoke (httpx .main , [url , "--download" , "index.txt" ])
179
+ runner .invoke (httpx .__main__ . main , [url , "--download" , "index.txt" ])
176
180
assert os .path .exists ("index.txt" )
177
181
with open ("index.txt" , "r" ) as input_file :
178
182
assert input_file .read () == "Hello, world!"
179
183
180
184
181
185
def test_errors ():
182
186
runner = CliRunner ()
183
- result = runner .invoke (httpx .main , ["invalid://example.org" ])
187
+ result = runner .invoke (httpx .__main__ . main , ["invalid://example.org" ])
184
188
assert result .exit_code == 1
185
189
assert splitlines (result .output ) == [
186
190
"UnsupportedProtocol: Request URL has an unsupported protocol 'invalid://'." ,
0 commit comments