Index: components/cast_channel/cast_socket_unittest.cc |
diff --git a/components/cast_channel/cast_socket_unittest.cc b/components/cast_channel/cast_socket_unittest.cc |
index d0d2461cc20dcf18faf6afa3026806d3ae402f1f..bc4ae2874804776744b6d2353b9fcac2d4f453d1 100644 |
--- a/components/cast_channel/cast_socket_unittest.cc |
+++ b/components/cast_channel/cast_socket_unittest.cc |
@@ -158,7 +158,8 @@ class CompleteHandler { |
public: |
CompleteHandler() {} |
MOCK_METHOD1(OnCloseComplete, void(int result)); |
- MOCK_METHOD1(OnConnectComplete, void(ChannelError error_state)); |
+ MOCK_METHOD2(OnConnectComplete, |
+ void(int channel_id, ChannelError error_state)); |
MOCK_METHOD1(OnWriteComplete, void(int result)); |
MOCK_METHOD1(OnReadComplete, void(int result)); |
@@ -356,7 +357,7 @@ class CastSocketTest : public testing::Test { |
SendMessage(EqualsProto(challenge_proto), _)) |
.WillOnce(PostCompletionCallbackTask<1>(net::OK)); |
EXPECT_CALL(*socket_->GetMockTransport(), Start()); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::NONE)); |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::NONE)); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
base::Unretained(&handler_))); |
RunPendingTasks(); |
@@ -432,7 +433,7 @@ TEST_F(CastSocketTest, TestConnectAuthMessageCorrupted) { |
SendMessage(EqualsProto(challenge_proto), _)) |
.WillOnce(PostCompletionCallbackTask<1>(net::OK)); |
EXPECT_CALL(*socket_->GetMockTransport(), Start()); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::TRANSPORT_ERROR)); |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::TRANSPORT_ERROR)); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
base::Unretained(&handler_))); |
RunPendingTasks(); |
@@ -457,7 +458,7 @@ TEST_F(CastSocketTest, TestConnectTcpConnectErrorAsync) { |
socket_->SetupTcpConnect(net::ASYNC, net::ERR_FAILED); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::CONNECT_ERROR)); |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::CONNECT_ERROR)); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
base::Unretained(&handler_))); |
RunPendingTasks(); |
@@ -472,7 +473,7 @@ TEST_F(CastSocketTest, TestConnectTcpConnectErrorSync) { |
socket_->SetupTcpConnect(net::SYNCHRONOUS, net::ERR_FAILED); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::CONNECT_ERROR)); |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::CONNECT_ERROR)); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
base::Unretained(&handler_))); |
RunPendingTasks(); |
@@ -485,7 +486,7 @@ TEST_F(CastSocketTest, TestConnectTcpConnectErrorSync) { |
TEST_F(CastSocketTest, TestConnectTcpTimeoutError) { |
CreateCastSocketSecure(); |
socket_->SetupTcpConnectUnresponsive(); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::CONNECT_TIMEOUT)); |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::CONNECT_TIMEOUT)); |
EXPECT_CALL(*observer_, OnError(_, ChannelError::CONNECT_TIMEOUT)); |
socket_->AddObserver(observer_.get()); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
@@ -505,7 +506,7 @@ TEST_F(CastSocketTest, TestConnectTcpTimeoutError) { |
TEST_F(CastSocketTest, TestConnectTcpSocketTimeoutError) { |
CreateCastSocketSecure(); |
socket_->SetupTcpConnect(net::SYNCHRONOUS, net::ERR_CONNECTION_TIMED_OUT); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::CONNECT_TIMEOUT)); |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::CONNECT_TIMEOUT)); |
EXPECT_CALL(*observer_, OnError(_, ChannelError::CONNECT_TIMEOUT)); |
socket_->AddObserver(observer_.get()); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
@@ -525,7 +526,8 @@ TEST_F(CastSocketTest, TestConnectSslConnectErrorAsync) { |
socket_->SetupTcpConnect(net::SYNCHRONOUS, net::OK); |
socket_->SetupSslConnect(net::SYNCHRONOUS, net::ERR_FAILED); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::AUTHENTICATION_ERROR)); |
+ EXPECT_CALL(handler_, |
+ OnConnectComplete(_, ChannelError::AUTHENTICATION_ERROR)); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
base::Unretained(&handler_))); |
RunPendingTasks(); |
@@ -541,7 +543,8 @@ TEST_F(CastSocketTest, TestConnectSslConnectErrorSync) { |
socket_->SetupTcpConnect(net::SYNCHRONOUS, net::OK); |
socket_->SetupSslConnect(net::SYNCHRONOUS, net::ERR_FAILED); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::AUTHENTICATION_ERROR)); |
+ EXPECT_CALL(handler_, |
+ OnConnectComplete(_, ChannelError::AUTHENTICATION_ERROR)); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
base::Unretained(&handler_))); |
RunPendingTasks(); |
@@ -559,7 +562,7 @@ TEST_F(CastSocketTest, TestConnectSslConnectTimeoutSync) { |
socket_->SetupTcpConnect(net::SYNCHRONOUS, net::OK); |
socket_->SetupSslConnect(net::SYNCHRONOUS, net::ERR_CONNECTION_TIMED_OUT); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::CONNECT_TIMEOUT)); |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::CONNECT_TIMEOUT)); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
base::Unretained(&handler_))); |
RunPendingTasks(); |
@@ -577,7 +580,7 @@ TEST_F(CastSocketTest, TestConnectSslConnectTimeoutAsync) { |
socket_->SetupTcpConnect(net::ASYNC, net::OK); |
socket_->SetupSslConnect(net::ASYNC, net::ERR_CONNECTION_TIMED_OUT); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::CONNECT_TIMEOUT)); |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::CONNECT_TIMEOUT)); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
base::Unretained(&handler_))); |
RunPendingTasks(); |
@@ -597,7 +600,7 @@ TEST_F(CastSocketTest, TestConnectChallengeSendError) { |
SendMessage(EqualsProto(CreateAuthChallenge()), _)) |
.WillOnce(PostCompletionCallbackTask<1>(net::ERR_CONNECTION_RESET)); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::CAST_SOCKET_ERROR)); |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::CAST_SOCKET_ERROR)); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
base::Unretained(&handler_))); |
RunPendingTasks(); |
@@ -634,7 +637,7 @@ TEST_F(CastSocketTest, TestConnectChallengeReplyReceiveError) { |
.WillOnce(PostCompletionCallbackTask<1>(net::OK)); |
socket_->AddReadResult(net::SYNCHRONOUS, net::ERR_FAILED); |
EXPECT_CALL(*observer_, OnError(_, ChannelError::CAST_SOCKET_ERROR)); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::CAST_SOCKET_ERROR)); |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::CAST_SOCKET_ERROR)); |
EXPECT_CALL(*socket_->GetMockTransport(), Start()); |
socket_->AddObserver(observer_.get()); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
@@ -660,7 +663,8 @@ TEST_F(CastSocketTest, TestConnectChallengeVerificationFails) { |
EXPECT_CALL(*socket_->GetMockTransport(), |
SendMessage(EqualsProto(challenge_proto), _)) |
.WillOnce(PostCompletionCallbackTask<1>(net::OK)); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::AUTHENTICATION_ERROR)); |
+ EXPECT_CALL(handler_, |
+ OnConnectComplete(_, ChannelError::AUTHENTICATION_ERROR)); |
EXPECT_CALL(*socket_->GetMockTransport(), Start()); |
socket_->AddObserver(observer_.get()); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
@@ -698,7 +702,7 @@ TEST_F(CastSocketTest, TestConnectEndToEndWithRealTransportAsync) { |
EXPECT_TRUE(MessageFramer::Serialize(test_message, &test_message_str)); |
socket_->AddWriteResultForData(net::ASYNC, test_message_str); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::NONE)); |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::NONE)); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
base::Unretained(&handler_))); |
RunPendingTasks(); |
@@ -740,7 +744,7 @@ TEST_F(CastSocketTest, TestConnectEndToEndWithRealTransportSync) { |
EXPECT_TRUE(MessageFramer::Serialize(test_message, &test_message_str)); |
socket_->AddWriteResultForData(net::SYNCHRONOUS, test_message_str); |
- EXPECT_CALL(handler_, OnConnectComplete(ChannelError::NONE)); |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::NONE)); |
socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
base::Unretained(&handler_))); |
RunPendingTasks(); |
@@ -775,4 +779,45 @@ TEST_F(CastSocketTest, TestObservers) { |
delegate.OnError(cast_channel::ChannelError::CONNECT_ERROR); |
} |
+TEST_F(CastSocketTest, TestOpenChannelConnectingSocket) { |
+ CreateCastSocketSecure(); |
+ socket_->SetupTcpConnectUnresponsive(); |
+ socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
+ base::Unretained(&handler_))); |
+ RunPendingTasks(); |
+ |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::CONNECT_TIMEOUT)) |
+ .Times(2); |
+ socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
+ base::Unretained(&handler_))); |
+ socket_->TriggerTimeout(); |
+ RunPendingTasks(); |
+} |
+ |
+TEST_F(CastSocketTest, TestOpenChannelConnectedSocket) { |
+ CreateCastSocketSecure(); |
+ socket_->SetupTcpConnect(net::ASYNC, net::OK); |
+ socket_->SetupSslConnect(net::ASYNC, net::OK); |
+ |
+ HandleAuthHandshake(); |
+ |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::NONE)); |
+ socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
+ base::Unretained(&handler_))); |
+} |
+ |
+TEST_F(CastSocketTest, TestOpenChannelClosedSocket) { |
+ CreateCastSocketSecure(); |
+ socket_->SetupTcpConnect(net::ASYNC, net::ERR_FAILED); |
+ |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::CONNECT_ERROR)); |
+ socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
+ base::Unretained(&handler_))); |
+ RunPendingTasks(); |
+ |
+ EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::CONNECT_ERROR)); |
+ socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, |
+ base::Unretained(&handler_))); |
+} |
+ |
} // namespace cast_channel |