| 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 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 requested_subprotocols) {} | 100 requested_subprotocols) {} |
| 101 | 101 |
| 102 void OnStreamCreated(WebSocketBasicHandshakeStream* stream) override { | 102 void OnStreamCreated(WebSocketBasicHandshakeStream* stream) override { |
| 103 stream->SetWebSocketKeyForTesting("dGhlIHNhbXBsZSBub25jZQ=="); | 103 stream->SetWebSocketKeyForTesting("dGhlIHNhbXBsZSBub25jZQ=="); |
| 104 } | 104 } |
| 105 }; | 105 }; |
| 106 | 106 |
| 107 class WebSocketStreamCreateTest : public ::testing::Test { | 107 class WebSocketStreamCreateTest : public ::testing::Test { |
| 108 public: | 108 public: |
| 109 WebSocketStreamCreateTest() : has_failed_(false), ssl_fatal_(false) {} | 109 WebSocketStreamCreateTest() : has_failed_(false), ssl_fatal_(false) {} |
| 110 ~WebSocketStreamCreateTest() override { |
| 111 // Permit any endpoint locks to be released. |
| 112 stream_request_.reset(); |
| 113 stream_.reset(); |
| 114 RunUntilIdle(); |
| 115 } |
| 110 | 116 |
| 111 void CreateAndConnectCustomResponse( | 117 void CreateAndConnectCustomResponse( |
| 112 const std::string& socket_url, | 118 const std::string& socket_url, |
| 113 const std::string& socket_host, | 119 const std::string& socket_host, |
| 114 const std::string& socket_path, | 120 const std::string& socket_path, |
| 115 const std::vector<std::string>& sub_protocols, | 121 const std::vector<std::string>& sub_protocols, |
| 116 const std::string& origin, | 122 const std::string& origin, |
| 117 const std::string& extra_request_headers, | 123 const std::string& extra_request_headers, |
| 118 const std::string& response_body, | 124 const std::string& response_body, |
| 119 scoped_ptr<base::Timer> timer = scoped_ptr<base::Timer>()) { | 125 scoped_ptr<base::Timer> timer = scoped_ptr<base::Timer>()) { |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 scoped_ptr<WebSocketStream> stream_; | 247 scoped_ptr<WebSocketStream> stream_; |
| 242 // Only set if the connection failed. | 248 // Only set if the connection failed. |
| 243 std::string failure_message_; | 249 std::string failure_message_; |
| 244 bool has_failed_; | 250 bool has_failed_; |
| 245 scoped_ptr<WebSocketHandshakeRequestInfo> request_info_; | 251 scoped_ptr<WebSocketHandshakeRequestInfo> request_info_; |
| 246 scoped_ptr<WebSocketHandshakeResponseInfo> response_info_; | 252 scoped_ptr<WebSocketHandshakeResponseInfo> response_info_; |
| 247 scoped_ptr<WebSocketEventInterface::SSLErrorCallbacks> ssl_error_callbacks_; | 253 scoped_ptr<WebSocketEventInterface::SSLErrorCallbacks> ssl_error_callbacks_; |
| 248 SSLInfo ssl_info_; | 254 SSLInfo ssl_info_; |
| 249 bool ssl_fatal_; | 255 bool ssl_fatal_; |
| 250 ScopedVector<SSLSocketDataProvider> ssl_data_; | 256 ScopedVector<SSLSocketDataProvider> ssl_data_; |
| 257 ScopedWebSocketEndpointZeroUnlockDelay zero_unlock_delay_; |
| 251 }; | 258 }; |
| 252 | 259 |
| 253 // There are enough tests of the Sec-WebSocket-Extensions header that they | 260 // There are enough tests of the Sec-WebSocket-Extensions header that they |
| 254 // deserve their own test fixture. | 261 // deserve their own test fixture. |
| 255 class WebSocketStreamCreateExtensionTest : public WebSocketStreamCreateTest { | 262 class WebSocketStreamCreateExtensionTest : public WebSocketStreamCreateTest { |
| 256 public: | 263 public: |
| 257 // Performs a standard connect, with the value of the Sec-WebSocket-Extensions | 264 // Performs a standard connect, with the value of the Sec-WebSocket-Extensions |
| 258 // header in the response set to |extensions_header_value|. Runs the event | 265 // header in the response set to |extensions_header_value|. Runs the event |
| 259 // loop to allow the connect to complete. | 266 // loop to allow the connect to complete. |
| 260 void CreateAndConnectWithExtensions( | 267 void CreateAndConnectWithExtensions( |
| (...skipping 1115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1376 if (original) { | 1383 if (original) { |
| 1377 samples->Subtract(*original); // Cancel the original values. | 1384 samples->Subtract(*original); // Cancel the original values. |
| 1378 } | 1385 } |
| 1379 EXPECT_EQ(1, samples->GetCount(INCOMPLETE)); | 1386 EXPECT_EQ(1, samples->GetCount(INCOMPLETE)); |
| 1380 EXPECT_EQ(0, samples->GetCount(CONNECTED)); | 1387 EXPECT_EQ(0, samples->GetCount(CONNECTED)); |
| 1381 EXPECT_EQ(0, samples->GetCount(FAILED)); | 1388 EXPECT_EQ(0, samples->GetCount(FAILED)); |
| 1382 } | 1389 } |
| 1383 | 1390 |
| 1384 } // namespace | 1391 } // namespace |
| 1385 } // namespace net | 1392 } // namespace net |
| OLD | NEW |