OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/websockets/websocket_stream.h" | 5 #include "net/websockets/websocket_stream.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 NoSubProtocols(), LocalhostOrigin(), LocalhostUrl(), | 330 NoSubProtocols(), LocalhostOrigin(), LocalhostUrl(), |
331 "", "", ""); | 331 "", "", ""); |
332 EXPECT_FALSE(request_info_); | 332 EXPECT_FALSE(request_info_); |
333 EXPECT_FALSE(response_info_); | 333 EXPECT_FALSE(response_info_); |
334 EXPECT_TRUE(url_request_); | 334 EXPECT_TRUE(url_request_); |
335 WaitUntilConnectDone(); | 335 WaitUntilConnectDone(); |
336 EXPECT_FALSE(has_failed()); | 336 EXPECT_FALSE(has_failed()); |
337 EXPECT_TRUE(stream_); | 337 EXPECT_TRUE(stream_); |
338 EXPECT_TRUE(request_info_); | 338 EXPECT_TRUE(request_info_); |
339 EXPECT_TRUE(response_info_); | 339 EXPECT_TRUE(response_info_); |
| 340 EXPECT_EQ(ERR_WEBSOCKET_HANDSHAKE_SUCCESS, |
| 341 url_request_context_host_.network_delegate().last_error()); |
340 } | 342 } |
341 | 343 |
342 TEST_F(WebSocketStreamCreateTest, HandshakeInfo) { | 344 TEST_F(WebSocketStreamCreateTest, HandshakeInfo) { |
343 static const char kResponse[] = | 345 static const char kResponse[] = |
344 "HTTP/1.1 101 Switching Protocols\r\n" | 346 "HTTP/1.1 101 Switching Protocols\r\n" |
345 "Upgrade: websocket\r\n" | 347 "Upgrade: websocket\r\n" |
346 "Connection: Upgrade\r\n" | 348 "Connection: Upgrade\r\n" |
347 "Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n" | 349 "Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n" |
348 "foo: bar, baz\r\n" | 350 "foo: bar, baz\r\n" |
349 "hoge: fuga\r\n" | 351 "hoge: fuga\r\n" |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
476 "/testing_path", NoSubProtocols(), GoogleOrigin(), | 478 "/testing_path", NoSubProtocols(), GoogleOrigin(), |
477 GoogleUrl(), "", "", | 479 GoogleUrl(), "", "", |
478 "Sec-WebSocket-Protocol: chatv20.chromium.org\r\n"); | 480 "Sec-WebSocket-Protocol: chatv20.chromium.org\r\n"); |
479 WaitUntilConnectDone(); | 481 WaitUntilConnectDone(); |
480 EXPECT_FALSE(stream_); | 482 EXPECT_FALSE(stream_); |
481 EXPECT_TRUE(has_failed()); | 483 EXPECT_TRUE(has_failed()); |
482 EXPECT_EQ("Error during WebSocket handshake: " | 484 EXPECT_EQ("Error during WebSocket handshake: " |
483 "Response must not include 'Sec-WebSocket-Protocol' header " | 485 "Response must not include 'Sec-WebSocket-Protocol' header " |
484 "if not present in request: chatv20.chromium.org", | 486 "if not present in request: chatv20.chromium.org", |
485 failure_message()); | 487 failure_message()); |
| 488 EXPECT_EQ(ERR_INVALID_RESPONSE, |
| 489 url_request_context_host_.network_delegate().last_error()); |
486 } | 490 } |
487 | 491 |
488 // Missing sub-protocol response is rejected. | 492 // Missing sub-protocol response is rejected. |
489 TEST_F(WebSocketStreamCreateTest, UnacceptedSubProtocol) { | 493 TEST_F(WebSocketStreamCreateTest, UnacceptedSubProtocol) { |
490 std::vector<std::string> sub_protocols; | 494 std::vector<std::string> sub_protocols; |
491 sub_protocols.push_back("chat.example.com"); | 495 sub_protocols.push_back("chat.example.com"); |
492 CreateAndConnectStandard("ws://localhost/testing_path", "localhost", | 496 CreateAndConnectStandard("ws://localhost/testing_path", "localhost", |
493 "/testing_path", sub_protocols, LocalhostOrigin(), | 497 "/testing_path", sub_protocols, LocalhostOrigin(), |
494 LocalhostUrl(), "", | 498 LocalhostUrl(), "", |
495 "Sec-WebSocket-Protocol: chat.example.com\r\n", ""); | 499 "Sec-WebSocket-Protocol: chat.example.com\r\n", ""); |
(...skipping 763 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1259 LocalhostOrigin(), LocalhostUrl(), "", | 1263 LocalhostOrigin(), LocalhostUrl(), "", |
1260 std::move(socket_data)); | 1264 std::move(socket_data)); |
1261 WaitUntilConnectDone(); | 1265 WaitUntilConnectDone(); |
1262 EXPECT_TRUE(has_failed()); | 1266 EXPECT_TRUE(has_failed()); |
1263 EXPECT_EQ("Establishing a tunnel via proxy server failed.", | 1267 EXPECT_EQ("Establishing a tunnel via proxy server failed.", |
1264 failure_message()); | 1268 failure_message()); |
1265 } | 1269 } |
1266 | 1270 |
1267 } // namespace | 1271 } // namespace |
1268 } // namespace net | 1272 } // namespace net |
OLD | NEW |