| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "extensions/browser/api/cast_channel/cast_socket.h" | 5 #include "extensions/browser/api/cast_channel/cast_socket.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/memory/weak_ptr.h" | 9 #include "base/memory/weak_ptr.h" |
| 10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 number.push_back(0); | 197 number.push_back(0); |
| 198 number.push_back(1); | 198 number.push_back(1); |
| 199 return net::IPEndPoint(number, 8009); | 199 return net::IPEndPoint(number, 8009); |
| 200 } | 200 } |
| 201 | 201 |
| 202 // Returns the size of the body (in bytes) of the given serialized message. | 202 // Returns the size of the body (in bytes) of the given serialized message. |
| 203 static size_t ComputeBodySize(const std::string& msg) { | 203 static size_t ComputeBodySize(const std::string& msg) { |
| 204 return msg.length() - MessageFramer::MessageHeader::header_size(); | 204 return msg.length() - MessageFramer::MessageHeader::header_size(); |
| 205 } | 205 } |
| 206 | 206 |
| 207 virtual ~TestCastSocket() {} | 207 ~TestCastSocket() override {} |
| 208 | 208 |
| 209 // Helpers to set mock results for various operations. | 209 // Helpers to set mock results for various operations. |
| 210 void SetupTcp1Connect(net::IoMode mode, int result) { | 210 void SetupTcp1Connect(net::IoMode mode, int result) { |
| 211 tcp_connect_data_[0].reset(new net::MockConnect(mode, result)); | 211 tcp_connect_data_[0].reset(new net::MockConnect(mode, result)); |
| 212 } | 212 } |
| 213 void SetupSsl1Connect(net::IoMode mode, int result) { | 213 void SetupSsl1Connect(net::IoMode mode, int result) { |
| 214 ssl_connect_data_[0].reset(new net::MockConnect(mode, result)); | 214 ssl_connect_data_[0].reset(new net::MockConnect(mode, result)); |
| 215 } | 215 } |
| 216 void SetupTcp2Connect(net::IoMode mode, int result) { | 216 void SetupTcp2Connect(net::IoMode mode, int result) { |
| 217 tcp_connect_data_[1].reset(new net::MockConnect(mode, result)); | 217 tcp_connect_data_[1].reset(new net::MockConnect(mode, result)); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 277 verify_challenge_result_ = value; | 277 verify_challenge_result_ = value; |
| 278 } | 278 } |
| 279 | 279 |
| 280 void TriggerTimeout() { | 280 void TriggerTimeout() { |
| 281 mock_timer_->Fire(); | 281 mock_timer_->Fire(); |
| 282 } | 282 } |
| 283 | 283 |
| 284 void DisallowVerifyChallengeResult() { verify_challenge_disallow_ = true; } | 284 void DisallowVerifyChallengeResult() { verify_challenge_disallow_ = true; } |
| 285 | 285 |
| 286 private: | 286 private: |
| 287 virtual scoped_ptr<net::TCPClientSocket> CreateTcpSocket() override { | 287 scoped_ptr<net::TCPClientSocket> CreateTcpSocket() override { |
| 288 if (tcp_unresponsive_) { | 288 if (tcp_unresponsive_) { |
| 289 return scoped_ptr<net::TCPClientSocket>(new MockTCPSocket(true)); | 289 return scoped_ptr<net::TCPClientSocket>(new MockTCPSocket(true)); |
| 290 } else { | 290 } else { |
| 291 net::MockConnect* connect_data = tcp_connect_data_[connect_index_].get(); | 291 net::MockConnect* connect_data = tcp_connect_data_[connect_index_].get(); |
| 292 connect_data->peer_addr = ip_; | 292 connect_data->peer_addr = ip_; |
| 293 return scoped_ptr<net::TCPClientSocket>(new MockTCPSocket(*connect_data)); | 293 return scoped_ptr<net::TCPClientSocket>(new MockTCPSocket(*connect_data)); |
| 294 } | 294 } |
| 295 } | 295 } |
| 296 | 296 |
| 297 virtual scoped_ptr<net::SSLClientSocket> CreateSslSocket( | 297 scoped_ptr<net::SSLClientSocket> CreateSslSocket( |
| 298 scoped_ptr<net::StreamSocket> socket) override { | 298 scoped_ptr<net::StreamSocket> socket) override { |
| 299 net::MockConnect* connect_data = ssl_connect_data_[connect_index_].get(); | 299 net::MockConnect* connect_data = ssl_connect_data_[connect_index_].get(); |
| 300 connect_data->peer_addr = ip_; | 300 connect_data->peer_addr = ip_; |
| 301 ++connect_index_; | 301 ++connect_index_; |
| 302 | 302 |
| 303 ssl_data_.reset(new net::StaticSocketDataProvider( | 303 ssl_data_.reset(new net::StaticSocketDataProvider( |
| 304 reads_.data(), reads_.size(), writes_.data(), writes_.size())); | 304 reads_.data(), reads_.size(), writes_.data(), writes_.size())); |
| 305 ssl_data_->set_connect_data(*connect_data); | 305 ssl_data_->set_connect_data(*connect_data); |
| 306 // NOTE: net::MockTCPClientSocket inherits from net::SSLClientSocket !! | 306 // NOTE: net::MockTCPClientSocket inherits from net::SSLClientSocket !! |
| 307 return scoped_ptr<net::SSLClientSocket>( | 307 return scoped_ptr<net::SSLClientSocket>( |
| 308 new net::MockTCPClientSocket( | 308 new net::MockTCPClientSocket( |
| 309 net::AddressList(), &capturing_net_log_, ssl_data_.get())); | 309 net::AddressList(), &capturing_net_log_, ssl_data_.get())); |
| 310 } | 310 } |
| 311 | 311 |
| 312 virtual bool ExtractPeerCert(std::string* cert) override { | 312 bool ExtractPeerCert(std::string* cert) override { |
| 313 if (extract_cert_result_) | 313 if (extract_cert_result_) |
| 314 cert->assign("dummy_test_cert"); | 314 cert->assign("dummy_test_cert"); |
| 315 return extract_cert_result_; | 315 return extract_cert_result_; |
| 316 } | 316 } |
| 317 | 317 |
| 318 virtual bool VerifyChallengeReply() override { | 318 bool VerifyChallengeReply() override { |
| 319 EXPECT_FALSE(verify_challenge_disallow_); | 319 EXPECT_FALSE(verify_challenge_disallow_); |
| 320 return verify_challenge_result_; | 320 return verify_challenge_result_; |
| 321 } | 321 } |
| 322 | 322 |
| 323 virtual base::Timer* GetTimer() override { | 323 base::Timer* GetTimer() override { return mock_timer_.get(); } |
| 324 return mock_timer_.get(); | |
| 325 } | |
| 326 | 324 |
| 327 net::CapturingNetLog capturing_net_log_; | 325 net::CapturingNetLog capturing_net_log_; |
| 328 net::IPEndPoint ip_; | 326 net::IPEndPoint ip_; |
| 329 // Simulated connect data | 327 // Simulated connect data |
| 330 scoped_ptr<net::MockConnect> tcp_connect_data_[2]; | 328 scoped_ptr<net::MockConnect> tcp_connect_data_[2]; |
| 331 scoped_ptr<net::MockConnect> ssl_connect_data_[2]; | 329 scoped_ptr<net::MockConnect> ssl_connect_data_[2]; |
| 332 // Simulated read / write data | 330 // Simulated read / write data |
| 333 std::vector<net::MockWrite> writes_; | 331 std::vector<net::MockWrite> writes_; |
| 334 std::vector<net::MockRead> reads_; | 332 std::vector<net::MockRead> reads_; |
| 335 scoped_ptr<net::SocketDataProvider> ssl_data_; | 333 scoped_ptr<net::SocketDataProvider> ssl_data_; |
| (...skipping 867 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1203 A<const LastErrors&>())); | 1201 A<const LastErrors&>())); |
| 1204 ConnectHelper(); | 1202 ConnectHelper(); |
| 1205 | 1203 |
| 1206 EXPECT_EQ(cast_channel::READY_STATE_CLOSED, socket_->ready_state()); | 1204 EXPECT_EQ(cast_channel::READY_STATE_CLOSED, socket_->ready_state()); |
| 1207 EXPECT_EQ(cast_channel::CHANNEL_ERROR_INVALID_MESSAGE, | 1205 EXPECT_EQ(cast_channel::CHANNEL_ERROR_INVALID_MESSAGE, |
| 1208 socket_->error_state()); | 1206 socket_->error_state()); |
| 1209 } | 1207 } |
| 1210 } // namespace cast_channel | 1208 } // namespace cast_channel |
| 1211 } // namespace core_api | 1209 } // namespace core_api |
| 1212 } // namespace extensions | 1210 } // namespace extensions |
| OLD | NEW |