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 |