| 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
|
|
|