| 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 451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 462 EXPECT_EQ(HeaderKeyValuePair("Accept-Encoding", "gzip,deflate"), | 462 EXPECT_EQ(HeaderKeyValuePair("Accept-Encoding", "gzip,deflate"), |
| 463 request_headers[8]); | 463 request_headers[8]); |
| 464 EXPECT_EQ(HeaderKeyValuePair("Accept-Language", "en-us,fr"), | 464 EXPECT_EQ(HeaderKeyValuePair("Accept-Language", "en-us,fr"), |
| 465 request_headers[9]); | 465 request_headers[9]); |
| 466 EXPECT_EQ("Sec-WebSocket-Key", request_headers[10].first); | 466 EXPECT_EQ("Sec-WebSocket-Key", request_headers[10].first); |
| 467 EXPECT_EQ(HeaderKeyValuePair("Sec-WebSocket-Extensions", | 467 EXPECT_EQ(HeaderKeyValuePair("Sec-WebSocket-Extensions", |
| 468 "permessage-deflate; client_max_window_bits"), | 468 "permessage-deflate; client_max_window_bits"), |
| 469 request_headers[11]); | 469 request_headers[11]); |
| 470 | 470 |
| 471 std::vector<HeaderKeyValuePair> response_headers = | 471 std::vector<HeaderKeyValuePair> response_headers = |
| 472 ToVector(*response_info_->headers); | 472 ToVector(*response_info_->headers.get()); |
| 473 ASSERT_EQ(6u, response_headers.size()); | 473 ASSERT_EQ(6u, response_headers.size()); |
| 474 // Sort the headers for ease of verification. | 474 // Sort the headers for ease of verification. |
| 475 std::sort(response_headers.begin(), response_headers.end()); | 475 std::sort(response_headers.begin(), response_headers.end()); |
| 476 | 476 |
| 477 EXPECT_EQ(HeaderKeyValuePair("Connection", "Upgrade"), response_headers[0]); | 477 EXPECT_EQ(HeaderKeyValuePair("Connection", "Upgrade"), response_headers[0]); |
| 478 EXPECT_EQ("Sec-WebSocket-Accept", response_headers[1].first); | 478 EXPECT_EQ("Sec-WebSocket-Accept", response_headers[1].first); |
| 479 EXPECT_EQ(HeaderKeyValuePair("Upgrade", "websocket"), response_headers[2]); | 479 EXPECT_EQ(HeaderKeyValuePair("Upgrade", "websocket"), response_headers[2]); |
| 480 EXPECT_EQ(HeaderKeyValuePair("foo", "bar, baz"), response_headers[3]); | 480 EXPECT_EQ(HeaderKeyValuePair("foo", "bar, baz"), response_headers[3]); |
| 481 EXPECT_EQ(HeaderKeyValuePair("hoge", "fuga"), response_headers[4]); | 481 EXPECT_EQ(HeaderKeyValuePair("hoge", "fuga"), response_headers[4]); |
| 482 EXPECT_EQ(HeaderKeyValuePair("hoge", "piyo"), response_headers[5]); | 482 EXPECT_EQ(HeaderKeyValuePair("hoge", "piyo"), response_headers[5]); |
| (...skipping 713 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1196 EXPECT_FALSE(response_info_); | 1196 EXPECT_FALSE(response_info_); |
| 1197 EXPECT_EQ("Connection closed before receiving a handshake response", | 1197 EXPECT_EQ("Connection closed before receiving a handshake response", |
| 1198 failure_message()); | 1198 failure_message()); |
| 1199 } | 1199 } |
| 1200 | 1200 |
| 1201 TEST_F(WebSocketStreamCreateTest, SelfSignedCertificateFailure) { | 1201 TEST_F(WebSocketStreamCreateTest, SelfSignedCertificateFailure) { |
| 1202 ssl_data_.push_back( | 1202 ssl_data_.push_back( |
| 1203 new SSLSocketDataProvider(ASYNC, ERR_CERT_AUTHORITY_INVALID)); | 1203 new SSLSocketDataProvider(ASYNC, ERR_CERT_AUTHORITY_INVALID)); |
| 1204 ssl_data_[0]->cert = | 1204 ssl_data_[0]->cert = |
| 1205 ImportCertFromFile(GetTestCertsDirectory(), "unittest.selfsigned.der"); | 1205 ImportCertFromFile(GetTestCertsDirectory(), "unittest.selfsigned.der"); |
| 1206 ASSERT_TRUE(ssl_data_[0]->cert); | 1206 ASSERT_TRUE(ssl_data_[0]->cert.get()); |
| 1207 scoped_ptr<DeterministicSocketData> raw_socket_data(BuildNullSocketData()); | 1207 scoped_ptr<DeterministicSocketData> raw_socket_data(BuildNullSocketData()); |
| 1208 CreateAndConnectRawExpectations("wss://localhost/", | 1208 CreateAndConnectRawExpectations("wss://localhost/", |
| 1209 NoSubProtocols(), | 1209 NoSubProtocols(), |
| 1210 "http://localhost", | 1210 "http://localhost", |
| 1211 raw_socket_data.Pass()); | 1211 raw_socket_data.Pass()); |
| 1212 RunUntilIdle(); | 1212 RunUntilIdle(); |
| 1213 EXPECT_FALSE(has_failed()); | 1213 EXPECT_FALSE(has_failed()); |
| 1214 ASSERT_TRUE(ssl_error_callbacks_); | 1214 ASSERT_TRUE(ssl_error_callbacks_); |
| 1215 ssl_error_callbacks_->CancelSSLRequest(ERR_CERT_AUTHORITY_INVALID, | 1215 ssl_error_callbacks_->CancelSSLRequest(ERR_CERT_AUTHORITY_INVALID, |
| 1216 &ssl_info_); | 1216 &ssl_info_); |
| 1217 RunUntilIdle(); | 1217 RunUntilIdle(); |
| 1218 EXPECT_TRUE(has_failed()); | 1218 EXPECT_TRUE(has_failed()); |
| 1219 } | 1219 } |
| 1220 | 1220 |
| 1221 TEST_F(WebSocketStreamCreateTest, SelfSignedCertificateSuccess) { | 1221 TEST_F(WebSocketStreamCreateTest, SelfSignedCertificateSuccess) { |
| 1222 scoped_ptr<SSLSocketDataProvider> ssl_data( | 1222 scoped_ptr<SSLSocketDataProvider> ssl_data( |
| 1223 new SSLSocketDataProvider(ASYNC, ERR_CERT_AUTHORITY_INVALID)); | 1223 new SSLSocketDataProvider(ASYNC, ERR_CERT_AUTHORITY_INVALID)); |
| 1224 ssl_data->cert = | 1224 ssl_data->cert = |
| 1225 ImportCertFromFile(GetTestCertsDirectory(), "unittest.selfsigned.der"); | 1225 ImportCertFromFile(GetTestCertsDirectory(), "unittest.selfsigned.der"); |
| 1226 ASSERT_TRUE(ssl_data->cert); | 1226 ASSERT_TRUE(ssl_data->cert.get()); |
| 1227 ssl_data_.push_back(ssl_data.release()); | 1227 ssl_data_.push_back(ssl_data.release()); |
| 1228 ssl_data.reset(new SSLSocketDataProvider(ASYNC, OK)); | 1228 ssl_data.reset(new SSLSocketDataProvider(ASYNC, OK)); |
| 1229 ssl_data_.push_back(ssl_data.release()); | 1229 ssl_data_.push_back(ssl_data.release()); |
| 1230 url_request_context_host_.AddRawExpectations(BuildNullSocketData()); | 1230 url_request_context_host_.AddRawExpectations(BuildNullSocketData()); |
| 1231 CreateAndConnectStandard( | 1231 CreateAndConnectStandard( |
| 1232 "wss://localhost/", "/", NoSubProtocols(), "http://localhost", "", ""); | 1232 "wss://localhost/", "/", NoSubProtocols(), "http://localhost", "", ""); |
| 1233 RunUntilIdle(); | 1233 RunUntilIdle(); |
| 1234 ASSERT_TRUE(ssl_error_callbacks_); | 1234 ASSERT_TRUE(ssl_error_callbacks_); |
| 1235 ssl_error_callbacks_->ContinueSSLRequest(); | 1235 ssl_error_callbacks_->ContinueSSLRequest(); |
| 1236 RunUntilIdle(); | 1236 RunUntilIdle(); |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1367 if (original) { | 1367 if (original) { |
| 1368 samples->Subtract(*original); // Cancel the original values. | 1368 samples->Subtract(*original); // Cancel the original values. |
| 1369 } | 1369 } |
| 1370 EXPECT_EQ(1, samples->GetCount(INCOMPLETE)); | 1370 EXPECT_EQ(1, samples->GetCount(INCOMPLETE)); |
| 1371 EXPECT_EQ(0, samples->GetCount(CONNECTED)); | 1371 EXPECT_EQ(0, samples->GetCount(CONNECTED)); |
| 1372 EXPECT_EQ(0, samples->GetCount(FAILED)); | 1372 EXPECT_EQ(0, samples->GetCount(FAILED)); |
| 1373 } | 1373 } |
| 1374 | 1374 |
| 1375 } // namespace | 1375 } // namespace |
| 1376 } // namespace net | 1376 } // namespace net |
| OLD | NEW |