@@ -30,12 +30,12 @@ def _make_connection_request(request_headers, method="GET"):
30
30
def test_connection_request ():
31
31
event = _make_connection_request (
32
32
[
33
- ("Host" , "localhost" ),
34
- ("Connection" , "Keep-Alive, Upgrade" ),
35
- ("Upgrade" , "WebSocket" ),
36
- ("Sec-WebSocket-Version" , "13" ),
37
- ("Sec-WebSocket-Key" , generate_nonce ()),
38
- ("X-Foo" , "bar" ),
33
+ (b "Host" , b "localhost" ),
34
+ (b "Connection" , b "Keep-Alive, Upgrade" ),
35
+ (b "Upgrade" , b "WebSocket" ),
36
+ (b "Sec-WebSocket-Version" , b "13" ),
37
+ (b "Sec-WebSocket-Key" , generate_nonce ()),
38
+ (b "X-Foo" , b "bar" ),
39
39
]
40
40
)
41
41
@@ -57,11 +57,11 @@ def test_connection_request_bad_method():
57
57
with pytest .raises (RemoteProtocolError ) as excinfo :
58
58
event = _make_connection_request (
59
59
[
60
- ("Host" , "localhost" ),
61
- ("Connection" , "Keep-Alive, Upgrade" ),
62
- ("Upgrade" , "WebSocket" ),
63
- ("Sec-WebSocket-Version" , "13" ),
64
- ("Sec-WebSocket-Key" , generate_nonce ()),
60
+ (b "Host" , b "localhost" ),
61
+ (b "Connection" , b "Keep-Alive, Upgrade" ),
62
+ (b "Upgrade" , b "WebSocket" ),
63
+ (b "Sec-WebSocket-Version" , b "13" ),
64
+ (b "Sec-WebSocket-Key" , generate_nonce ()),
65
65
],
66
66
method = "POST" ,
67
67
)
@@ -72,11 +72,11 @@ def test_connection_request_bad_connection_header():
72
72
with pytest .raises (RemoteProtocolError ) as excinfo :
73
73
event = _make_connection_request (
74
74
[
75
- ("Host" , "localhost" ),
76
- ("Connection" , "Keep-Alive, No-Upgrade" ),
77
- ("Upgrade" , "WebSocket" ),
78
- ("Sec-WebSocket-Version" , "13" ),
79
- ("Sec-WebSocket-Key" , generate_nonce ()),
75
+ (b "Host" , b "localhost" ),
76
+ (b "Connection" , b "Keep-Alive, No-Upgrade" ),
77
+ (b "Upgrade" , b "WebSocket" ),
78
+ (b "Sec-WebSocket-Version" , b "13" ),
79
+ (b "Sec-WebSocket-Key" , generate_nonce ()),
80
80
]
81
81
)
82
82
assert str (excinfo .value ) == "Missing header, 'Connection: Upgrade'"
@@ -86,26 +86,26 @@ def test_connection_request_bad_upgrade_header():
86
86
with pytest .raises (RemoteProtocolError ) as excinfo :
87
87
event = _make_connection_request (
88
88
[
89
- ("Host" , "localhost" ),
90
- ("Connection" , "Keep-Alive, Upgrade" ),
91
- ("Upgrade" , "h2c" ),
92
- ("Sec-WebSocket-Version" , "13" ),
93
- ("Sec-WebSocket-Key" , generate_nonce ()),
89
+ (b "Host" , b "localhost" ),
90
+ (b "Connection" , b "Keep-Alive, Upgrade" ),
91
+ (b "Upgrade" , b "h2c" ),
92
+ (b "Sec-WebSocket-Version" , b "13" ),
93
+ (b "Sec-WebSocket-Key" , generate_nonce ()),
94
94
]
95
95
)
96
96
assert str (excinfo .value ) == "Missing header, 'Upgrade: WebSocket'"
97
97
98
98
99
- @pytest .mark .parametrize ("version" , ["12" , "not-a-digit" ])
99
+ @pytest .mark .parametrize ("version" , [b "12" , b "not-a-digit" ])
100
100
def test_connection_request_bad_version_header (version ):
101
101
with pytest .raises (RemoteProtocolError ) as excinfo :
102
102
event = _make_connection_request (
103
103
[
104
- ("Host" , "localhost" ),
105
- ("Connection" , "Keep-Alive, Upgrade" ),
106
- ("Upgrade" , "WebSocket" ),
107
- ("Sec-WebSocket-Version" , version ),
108
- ("Sec-WebSocket-Key" , generate_nonce ()),
104
+ (b "Host" , b "localhost" ),
105
+ (b "Connection" , b "Keep-Alive, Upgrade" ),
106
+ (b "Upgrade" , b "WebSocket" ),
107
+ (b "Sec-WebSocket-Version" , version ),
108
+ (b "Sec-WebSocket-Key" , generate_nonce ()),
109
109
]
110
110
)
111
111
assert str (excinfo .value ) == "Missing header, 'Sec-WebSocket-Version'"
@@ -118,10 +118,10 @@ def test_connection_request_key_header():
118
118
with pytest .raises (RemoteProtocolError ) as excinfo :
119
119
event = _make_connection_request (
120
120
[
121
- ("Host" , "localhost" ),
122
- ("Connection" , "Keep-Alive, Upgrade" ),
123
- ("Upgrade" , "WebSocket" ),
124
- ("Sec-WebSocket-Version" , "13" ),
121
+ (b "Host" , b "localhost" ),
122
+ (b "Connection" , b "Keep-Alive, Upgrade" ),
123
+ (b "Upgrade" , b "WebSocket" ),
124
+ (b "Sec-WebSocket-Version" , b "13" ),
125
125
]
126
126
)
127
127
assert str (excinfo .value ) == "Missing header, 'Sec-WebSocket-Key'"
@@ -138,7 +138,7 @@ def test_upgrade_request():
138
138
(b"Sec-WebSocket-Key" , generate_nonce ()),
139
139
(b"X-Foo" , b"bar" ),
140
140
],
141
- b "/" ,
141
+ "/" ,
142
142
)
143
143
event = next (server .events ())
144
144
@@ -168,11 +168,11 @@ def _make_handshake(
168
168
method = "GET" ,
169
169
target = "/" ,
170
170
headers = [
171
- ("Host" , "localhost" ),
172
- ("Connection" , "Keep-Alive, Upgrade" ),
173
- ("Upgrade" , "WebSocket" ),
174
- ("Sec-WebSocket-Version" , "13" ),
175
- ("Sec-WebSocket-Key" , nonce ),
171
+ (b "Host" , b "localhost" ),
172
+ (b "Connection" , b "Keep-Alive, Upgrade" ),
173
+ (b "Upgrade" , b "WebSocket" ),
174
+ (b "Sec-WebSocket-Version" , b "13" ),
175
+ (b "Sec-WebSocket-Key" , nonce ),
176
176
]
177
177
+ request_headers ,
178
178
)
@@ -198,9 +198,9 @@ def test_handshake():
198
198
assert response == h11 .InformationalResponse (
199
199
status_code = 101 ,
200
200
headers = [
201
- ("connection" , "Upgrade" ),
202
- ("sec-websocket-accept" , generate_accept_token (nonce )),
203
- ("upgrade" , "WebSocket" ),
201
+ (b "connection" , b "Upgrade" ),
202
+ (b "sec-websocket-accept" , generate_accept_token (nonce )),
203
+ (b "upgrade" , b "WebSocket" ),
204
204
],
205
205
)
206
206
@@ -212,18 +212,18 @@ def test_handshake_extra_headers():
212
212
assert response == h11 .InformationalResponse (
213
213
status_code = 101 ,
214
214
headers = [
215
- ("connection" , "Upgrade" ),
216
- ("sec-websocket-accept" , generate_accept_token (nonce )),
217
- ("upgrade" , "WebSocket" ),
218
- ("x-foo" , "bar" ),
215
+ (b "connection" , b "Upgrade" ),
216
+ (b "sec-websocket-accept" , generate_accept_token (nonce )),
217
+ (b "upgrade" , b "WebSocket" ),
218
+ (b "x-foo" , b "bar" ),
219
219
],
220
220
)
221
221
222
222
223
223
@pytest .mark .parametrize ("accept_subprotocol" , ["one" , "two" ])
224
224
def test_handshake_with_subprotocol (accept_subprotocol ):
225
225
response , _ = _make_handshake (
226
- [("Sec-Websocket-Protocol" , "one, two" )], subprotocol = accept_subprotocol
226
+ [(b "Sec-Websocket-Protocol" , b "one, two" )], subprotocol = accept_subprotocol
227
227
)
228
228
229
229
headers = normed_header_dict (response .headers )
@@ -233,7 +233,8 @@ def test_handshake_with_subprotocol(accept_subprotocol):
233
233
def test_handshake_with_extension ():
234
234
extension = FakeExtension (accept_response = True )
235
235
response , _ = _make_handshake (
236
- [("Sec-Websocket-Extensions" , extension .name )], extensions = [extension ]
236
+ [(b"Sec-Websocket-Extensions" , extension .name .encode ("ascii" ))],
237
+ extensions = [extension ],
237
238
)
238
239
239
240
headers = normed_header_dict (response .headers )
@@ -245,7 +246,12 @@ def test_handshake_with_extension_params():
245
246
accepted_params = "parameter1=value1; parameter2=value2"
246
247
extension = FakeExtension (accept_response = accepted_params )
247
248
response , _ = _make_handshake (
248
- [("Sec-Websocket-Extensions" , "%s; %s" % (extension .name , offered_params ))],
249
+ [
250
+ (
251
+ b"Sec-Websocket-Extensions" ,
252
+ ("%s; %s" % (extension .name , offered_params )).encode ("ascii" ),
253
+ )
254
+ ],
249
255
extensions = [extension ],
250
256
)
251
257
@@ -259,7 +265,12 @@ def test_handshake_with_extension_params():
259
265
def test_handshake_with_extra_unaccepted_extension ():
260
266
extension = FakeExtension (accept_response = True )
261
267
response , _ = _make_handshake (
262
- [("Sec-Websocket-Extensions" , "pretend, %s" % extension .name )],
268
+ [
269
+ (
270
+ b"Sec-Websocket-Extensions" ,
271
+ b"pretend, %s" % extension .name .encode ("ascii" ),
272
+ )
273
+ ],
263
274
extensions = [extension ],
264
275
)
265
276
@@ -284,11 +295,11 @@ def _make_handshake_rejection(status_code, body=None):
284
295
method = "GET" ,
285
296
target = "/" ,
286
297
headers = [
287
- ("Host" , "localhost" ),
288
- ("Connection" , "Keep-Alive, Upgrade" ),
289
- ("Upgrade" , "WebSocket" ),
290
- ("Sec-WebSocket-Version" , "13" ),
291
- ("Sec-WebSocket-Key" , nonce ),
298
+ (b "Host" , b "localhost" ),
299
+ (b "Connection" , b "Keep-Alive, Upgrade" ),
300
+ (b "Upgrade" , b "WebSocket" ),
301
+ (b "Sec-WebSocket-Version" , b "13" ),
302
+ (b "Sec-WebSocket-Key" , nonce ),
292
303
],
293
304
)
294
305
)
@@ -317,15 +328,15 @@ def _make_handshake_rejection(status_code, body=None):
317
328
def test_handshake_rejection ():
318
329
events = _make_handshake_rejection (400 )
319
330
assert events == [
320
- h11 .Response (headers = [("content-length" , "0" )], status_code = 400 ),
331
+ h11 .Response (headers = [(b "content-length" , b "0" )], status_code = 400 ),
321
332
h11 .EndOfMessage (),
322
333
]
323
334
324
335
325
336
def test_handshake_rejection_with_body ():
326
337
events = _make_handshake_rejection (400 , body = b"Hello" )
327
338
assert events == [
328
- h11 .Response (headers = [("content-length" , "5" )], status_code = 400 ),
339
+ h11 .Response (headers = [(b "content-length" , b "5" )], status_code = 400 ),
329
340
h11 .Data (data = b"Hello" ),
330
341
h11 .EndOfMessage (),
331
342
]
0 commit comments