Index: blimp/net/client_connection_manager_unittest.cc |
diff --git a/blimp/net/client_connection_manager_unittest.cc b/blimp/net/client_connection_manager_unittest.cc |
index 3aba2c849d8e86caef60f5f2ca4174ae4ca15352..3a424ff5e04e2e37b3f24f63833ddf9457802531 100644 |
--- a/blimp/net/client_connection_manager_unittest.cc |
+++ b/blimp/net/client_connection_manager_unittest.cc |
@@ -26,6 +26,9 @@ using testing::Return; |
using testing::SaveArg; |
namespace blimp { |
+namespace { |
+const char kDummyClientToken[] = "dummy-client-token"; |
+} // namespace |
class ClientConnectionManagerTest : public testing::Test { |
public: |
@@ -38,7 +41,9 @@ class ClientConnectionManagerTest : public testing::Test { |
connection_(new BlimpConnection(make_scoped_ptr(reader_), |
make_scoped_ptr(writer_))), |
start_connection_message_( |
- CreateStartConnectionMessage("", kProtocolVersion)) {} |
+ CreateStartConnectionMessage(kDummyClientToken, kProtocolVersion)) { |
+ manager_->set_client_token(kDummyClientToken); |
+ } |
~ClientConnectionManagerTest() override {} |
@@ -56,11 +61,13 @@ class ClientConnectionManagerTest : public testing::Test { |
// The 1st transport connects, and the 2nd transport is not used. |
TEST_F(ClientConnectionManagerTest, FirstTransportConnects) { |
+ net::CompletionCallback write_cb; |
net::CompletionCallback connect_cb_1; |
EXPECT_CALL(*transport1_, Connect(_)).WillOnce(SaveArg<0>(&connect_cb_1)); |
EXPECT_CALL(connection_handler_, HandleConnectionPtr(Eq(connection_.get()))); |
EXPECT_CALL(*writer_, |
- WritePacket(BufferEqualsProto(*start_connection_message_), _)); |
+ WritePacket(BufferEqualsProto(*start_connection_message_), _)) |
+ .WillOnce(SaveArg<1>(&write_cb)); |
EXPECT_CALL(*transport1_, TakeConnectionPtr()) |
.WillOnce(Return(connection_.release())); |
@@ -70,16 +77,19 @@ TEST_F(ClientConnectionManagerTest, FirstTransportConnects) { |
manager_->Connect(); |
ASSERT_FALSE(connect_cb_1.is_null()); |
base::ResetAndReturn(&connect_cb_1).Run(net::OK); |
+ base::ResetAndReturn(&write_cb).Run(net::OK); |
} |
// The 1st transport fails to connect, and the 2nd transport connects. |
TEST_F(ClientConnectionManagerTest, SecondTransportConnects) { |
+ net::CompletionCallback write_cb; |
net::CompletionCallback connect_cb_1; |
EXPECT_CALL(*transport1_, Connect(_)).WillOnce(SaveArg<0>(&connect_cb_1)); |
net::CompletionCallback connect_cb_2; |
EXPECT_CALL(*transport2_, Connect(_)).WillOnce(SaveArg<0>(&connect_cb_2)); |
EXPECT_CALL(*writer_, |
- WritePacket(BufferEqualsProto(*start_connection_message_), _)); |
+ WritePacket(BufferEqualsProto(*start_connection_message_), _)) |
+ .WillOnce(SaveArg<1>(&write_cb)); |
EXPECT_CALL(connection_handler_, HandleConnectionPtr(Eq(connection_.get()))); |
EXPECT_CALL(*transport2_, TakeConnectionPtr()) |
.WillOnce(Return(connection_.release())); |
@@ -93,6 +103,7 @@ TEST_F(ClientConnectionManagerTest, SecondTransportConnects) { |
base::ResetAndReturn(&connect_cb_1).Run(net::ERR_FAILED); |
ASSERT_FALSE(connect_cb_2.is_null()); |
base::ResetAndReturn(&connect_cb_2).Run(net::OK); |
+ base::ResetAndReturn(&write_cb).Run(net::OK); |
} |
// Both transports fail to connect. |