Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(360)

Unified Diff: blimp/net/blimp_connection_unittest.cc

Issue 1452823011: Make PacketReader/PacketWriter interfaces async-only. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « blimp/net/blimp_connection.cc ('k') | blimp/net/blimp_message_pump.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « blimp/net/blimp_connection.cc ('k') | blimp/net/blimp_message_pump.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698