1414 from pytest_httpserver import HTTPServer
1515
1616
17+ def _parse_accept_encoding (header : str ) -> set [str ]:
18+ """Parse Accept-Encoding header into a set of encoding names, ignoring order and whitespace."""
19+ return {enc .strip () for enc in header .split (',' )}
20+
21+
1722def _header_handler (request : Request ) -> Response :
1823 return Response (
1924 status = 200 ,
@@ -39,13 +44,14 @@ async def test_default_headers_async(httpserver: HTTPServer) -> None:
3944
4045 request_headers = json .loads (response .text )['received_headers' ]
4146
42- assert request_headers = = {
47+ expected_headers = {
4348 'User-Agent' : _get_user_agent (),
4449 'Accept' : 'application/json, */*' ,
4550 'Authorization' : 'Bearer placeholder_token' ,
46- 'Accept-Encoding' : 'gzip, br, zstd, deflate' ,
4751 'Host' : f'{ httpserver .host } :{ httpserver .port } ' ,
4852 }
53+ assert {k : v for k , v in request_headers .items () if k != 'Accept-Encoding' } == expected_headers
54+ assert _parse_accept_encoding (request_headers ['Accept-Encoding' ]) == {'gzip' , 'br' , 'zstd' , 'deflate' }
4955
5056
5157def test_default_headers_sync (httpserver : HTTPServer ) -> None :
@@ -58,13 +64,14 @@ def test_default_headers_sync(httpserver: HTTPServer) -> None:
5864
5965 request_headers = json .loads (response .text )['received_headers' ]
6066
61- assert request_headers = = {
67+ expected_headers = {
6268 'User-Agent' : _get_user_agent (),
6369 'Accept' : 'application/json, */*' ,
6470 'Authorization' : 'Bearer placeholder_token' ,
65- 'Accept-Encoding' : 'gzip, br, zstd, deflate' ,
6671 'Host' : f'{ httpserver .host } :{ httpserver .port } ' ,
6772 }
73+ assert {k : v for k , v in request_headers .items () if k != 'Accept-Encoding' } == expected_headers
74+ assert _parse_accept_encoding (request_headers ['Accept-Encoding' ]) == {'gzip' , 'br' , 'zstd' , 'deflate' }
6875
6976
7077async def test_headers_async (httpserver : HTTPServer ) -> None :
@@ -80,14 +87,15 @@ async def test_headers_async(httpserver: HTTPServer) -> None:
8087
8188 request_headers = json .loads (response .text )['received_headers' ]
8289
83- assert request_headers = = {
90+ expected_headers = {
8491 'Test-Header' : 'blah' ,
8592 'User-Agent' : 'CustomUserAgent/1.0' ,
8693 'Accept' : 'application/json, */*' ,
8794 'Authorization' : 'strange_value' ,
88- 'Accept-Encoding' : 'gzip, br, zstd, deflate' ,
8995 'Host' : f'{ httpserver .host } :{ httpserver .port } ' ,
9096 }
97+ assert {k : v for k , v in request_headers .items () if k != 'Accept-Encoding' } == expected_headers
98+ assert _parse_accept_encoding (request_headers ['Accept-Encoding' ]) == {'gzip' , 'br' , 'zstd' , 'deflate' }
9199
92100
93101def test_headers_sync (httpserver : HTTPServer ) -> None :
@@ -107,11 +115,12 @@ def test_headers_sync(httpserver: HTTPServer) -> None:
107115
108116 request_headers = json .loads (response .text )['received_headers' ]
109117
110- assert request_headers = = {
118+ expected_headers = {
111119 'Test-Header' : 'blah' ,
112120 'User-Agent' : 'CustomUserAgent/1.0' ,
113121 'Accept' : 'application/json, */*' ,
114122 'Authorization' : 'strange_value' ,
115- 'Accept-Encoding' : 'gzip, br, zstd, deflate' ,
116123 'Host' : f'{ httpserver .host } :{ httpserver .port } ' ,
117124 }
125+ assert {k : v for k , v in request_headers .items () if k != 'Accept-Encoding' } == expected_headers
126+ assert _parse_accept_encoding (request_headers ['Accept-Encoding' ]) == {'gzip' , 'br' , 'zstd' , 'deflate' }
0 commit comments