Index: blimp/net/blimp_connection_unittest.cc |
diff --git a/blimp/net/blimp_connection_unittest.cc b/blimp/net/blimp_connection_unittest.cc |
index 66d06585539103c562f62679cd4adf961c59a3f0..759b426d7ed7d6c6b506bc776a495fde8f82573c 100644 |
--- a/blimp/net/blimp_connection_unittest.cc |
+++ b/blimp/net/blimp_connection_unittest.cc |
@@ -20,9 +20,7 @@ |
#include "testing/gtest/include/gtest/gtest.h" |
using testing::_; |
-using testing::DoAll; |
using testing::InSequence; |
-using testing::NotNull; |
using testing::Return; |
using testing::SaveArg; |
@@ -32,21 +30,17 @@ namespace { |
class BlimpConnectionTest : public testing::Test { |
public: |
BlimpConnectionTest() { |
- message1_ = CreateInputMessage(); |
- message2_ = CreateControlMessage(); |
- scoped_ptr<testing::StrictMock<MockPacketReader>> reader( |
- new testing::StrictMock<MockPacketReader>); |
- reader_ = reader.get(); |
scoped_ptr<testing::StrictMock<MockPacketWriter>> writer( |
new testing::StrictMock<MockPacketWriter>); |
writer_ = writer.get(); |
- connection_.reset(new BlimpConnection(std::move(reader), |
+ connection_.reset(new BlimpConnection(make_scoped_ptr(new MockPacketReader), |
std::move(writer))); |
connection_->SetConnectionErrorObserver(&error_observer_); |
} |
~BlimpConnectionTest() override {} |
+ protected: |
scoped_ptr<BlimpMessage> CreateInputMessage() { |
scoped_ptr<BlimpMessage> msg(new BlimpMessage); |
msg->set_type(BlimpMessage::INPUT); |
@@ -59,93 +53,25 @@ class BlimpConnectionTest : public testing::Test { |
return msg; |
} |
- protected: |
- base::MessageLoopForIO message_loop_; |
- scoped_ptr<BlimpMessage> message1_; |
- scoped_ptr<BlimpMessage> message2_; |
- |
- testing::StrictMock<MockPacketReader>* reader_; |
+ base::MessageLoop message_loop_; |
testing::StrictMock<MockPacketWriter>* writer_; |
testing::StrictMock<MockConnectionErrorObserver> error_observer_; |
testing::StrictMock<MockBlimpMessageProcessor> receiver_; |
scoped_ptr<BlimpConnection> connection_; |
}; |
-// Reader completes reading one packet synchronously. |
-// Two read cases here. BlimpMessagePumpTest covers other cases. |
-TEST_F(BlimpConnectionTest, SyncPacketRead) { |
- EXPECT_CALL(receiver_, MockableProcessMessage(EqualsProto(*message1_), _)); |
- EXPECT_CALL(*reader_, ReadPacket(NotNull(), _)) |
- .WillOnce(DoAll(FillBufferFromMessage<0>(message1_.get()), |
- Return(message1_->ByteSize()))); |
- connection_->SetIncomingMessageProcessor(&receiver_); |
-} |
- |
-// Reader completes reading one packet synchronously withe error. |
-TEST_F(BlimpConnectionTest, SyncPacketReadWithError) { |
- InSequence s; |
- EXPECT_CALL(*reader_, ReadPacket(NotNull(), _)) |
- .WillOnce(Return(net::ERR_FAILED)); |
- EXPECT_CALL(error_observer_, OnConnectionError(net::ERR_FAILED)); |
- connection_->SetIncomingMessageProcessor(&receiver_); |
-} |
- |
-// Writer completes writing two packets synchronously. |
-TEST_F(BlimpConnectionTest, SyncTwoPacketsWrite) { |
- InSequence s; |
- EXPECT_CALL(*writer_, WritePacket(BufferEqualsProto(*message1_), _)) |
- .WillOnce(Return(net::OK)) |
- .RetiresOnSaturation(); |
- EXPECT_CALL(*writer_, WritePacket(BufferEqualsProto(*message2_), _)) |
- .WillOnce(Return(net::OK)) |
- .RetiresOnSaturation(); |
- |
- BlimpMessageProcessor* sender = connection_->GetOutgoingMessageProcessor(); |
- net::TestCompletionCallback complete_cb_1; |
- sender->ProcessMessage(CreateInputMessage(), |
- complete_cb_1.callback()); |
- EXPECT_EQ(net::OK, complete_cb_1.WaitForResult()); |
- net::TestCompletionCallback complete_cb_2; |
- sender->ProcessMessage(CreateControlMessage(), |
- complete_cb_2.callback()); |
- EXPECT_EQ(net::OK, complete_cb_2.WaitForResult()); |
-} |
- |
-// Writer completes writing two packets synchronously. |
-// First write succeeds, second fails. |
-TEST_F(BlimpConnectionTest, SyncTwoPacketsWriteWithError) { |
- InSequence s; |
- EXPECT_CALL(*writer_, WritePacket(BufferEqualsProto(*message1_), _)) |
- .WillOnce(Return(net::OK)) |
- .RetiresOnSaturation(); |
- EXPECT_CALL(*writer_, WritePacket(BufferEqualsProto(*message2_), _)) |
- .WillOnce(Return(net::ERR_FAILED)) |
- .RetiresOnSaturation(); |
- EXPECT_CALL(error_observer_, OnConnectionError(net::ERR_FAILED)); |
- |
- BlimpMessageProcessor* sender = connection_->GetOutgoingMessageProcessor(); |
- net::TestCompletionCallback complete_cb_1; |
- sender->ProcessMessage(CreateInputMessage(), |
- complete_cb_1.callback()); |
- EXPECT_EQ(net::OK, complete_cb_1.WaitForResult()); |
- net::TestCompletionCallback complete_cb_2; |
- sender->ProcessMessage(CreateControlMessage(), |
- complete_cb_2.callback()); |
- EXPECT_EQ(net::ERR_FAILED, complete_cb_2.WaitForResult()); |
-} |
- |
// Write completes writing two packets asynchronously. |
TEST_F(BlimpConnectionTest, AsyncTwoPacketsWrite) { |
net::CompletionCallback write_packet_cb; |
InSequence s; |
- EXPECT_CALL(*writer_, WritePacket(BufferEqualsProto(*message1_), _)) |
- .WillOnce( |
- DoAll(SaveArg<1>(&write_packet_cb), Return(net::ERR_IO_PENDING))) |
+ EXPECT_CALL(*writer_, |
+ WritePacket(BufferEqualsProto(*CreateInputMessage()), _)) |
+ .WillOnce(SaveArg<1>(&write_packet_cb)) |
.RetiresOnSaturation(); |
- EXPECT_CALL(*writer_, WritePacket(BufferEqualsProto(*message2_), _)) |
- .WillOnce( |
- DoAll(SaveArg<1>(&write_packet_cb), Return(net::ERR_IO_PENDING))) |
+ EXPECT_CALL(*writer_, |
+ WritePacket(BufferEqualsProto(*CreateControlMessage()), _)) |
+ .WillOnce(SaveArg<1>(&write_packet_cb)) |
.RetiresOnSaturation(); |
BlimpMessageProcessor* sender = connection_->GetOutgoingMessageProcessor(); |
@@ -172,13 +98,13 @@ TEST_F(BlimpConnectionTest, AsyncTwoPacketsWriteWithError) { |
net::CompletionCallback write_packet_cb; |
InSequence s; |
- EXPECT_CALL(*writer_, WritePacket(BufferEqualsProto(*message1_), _)) |
- .WillOnce( |
- DoAll(SaveArg<1>(&write_packet_cb), Return(net::ERR_IO_PENDING))) |
+ EXPECT_CALL(*writer_, |
+ WritePacket(BufferEqualsProto(*CreateInputMessage()), _)) |
+ .WillOnce(SaveArg<1>(&write_packet_cb)) |
.RetiresOnSaturation(); |
- EXPECT_CALL(*writer_, WritePacket(BufferEqualsProto(*message2_), _)) |
- .WillOnce( |
- DoAll(SaveArg<1>(&write_packet_cb), Return(net::ERR_IO_PENDING))) |
+ EXPECT_CALL(*writer_, |
+ WritePacket(BufferEqualsProto(*CreateControlMessage()), _)) |
+ .WillOnce(SaveArg<1>(&write_packet_cb)) |
.RetiresOnSaturation(); |
EXPECT_CALL(error_observer_, OnConnectionError(net::ERR_FAILED)); |
@@ -197,5 +123,4 @@ TEST_F(BlimpConnectionTest, AsyncTwoPacketsWriteWithError) { |
} |
} // namespace |
- |
} // namespace blimp |