8000 Add a test for using HTTPHeaderDict with PoolManager(headers) by bluetech · Pull Request #2274 · urllib3/urllib3 · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Add a test for using HTTPHeaderDict with PoolManager(headers) #2274

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 19, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 30 additions & 1 deletion test/with_dummyserver/test_poolmanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from dummyserver.server import HAS_IPV6
from dummyserver.testcase import HTTPDummyServerTestCase, IPv6HTTPDummyServerTestCase
from urllib3 import HTTPResponse, request
from urllib3 import HTTPHeaderDict, HTTPResponse, request
from urllib3.connectionpool import port_by_scheme
from urllib3.exceptions import MaxRetryError, URLSchemeUnknown
from urllib3.poolmanager import PoolManager
Expand Down Expand Up @@ -335,6 +335,35 @@ def test_headers(self):
assert returned_headers.get("Foo") is None
assert returned_headers.get("Baz") == "quux"

def test_headers_http_header_dict(self):
headers = HTTPHeaderDict()
headers.add("Foo", "bar")
headers.add("Multi", "1")
headers.add("Baz", "quux")
headers.add("Multi", "2")

with PoolManager(headers=headers) as http:
r = http.request("GET", f"{self.base_url}/headers")
returned_headers = json.loads(r.data.decode())
assert returned_headers["Foo"] == "bar"
assert returned_headers["Multi"] == "1, 2"
assert returned_headers["Baz"] == "quux"

r = http.request(
"GET",
f"{self.base_url}/headers",
headers={
**headers,
"Extra": "extra",
"Foo": "new",
},
)
returned_headers = json.loads(r.data.decode())
assert returned_headers["Foo"] == "new"
assert returned_headers["Multi"] == "1, 2"
assert returned_headers["Baz"] == "quux"
assert returned_headers["Extra"] == "extra"

def test_body(self):
with PoolManager() as http:
r = http.request("POST", f"{self.base_url}/echo", body=b"test")
Expand Down
0