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

Unified Diff: net/tools/quic/quic_time_wait_list_manager_test.cc

Issue 123303003: Move all the packet parsing logic into QuicDispatcher from the (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 12 months 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 | « net/tools/quic/quic_time_wait_list_manager.cc ('k') | net/tools/quic/test_tools/mock_quic_dispatcher.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/tools/quic/quic_time_wait_list_manager_test.cc
diff --git a/net/tools/quic/quic_time_wait_list_manager_test.cc b/net/tools/quic/quic_time_wait_list_manager_test.cc
index 22fd8ef4d0615f961f754b910fc084c0ea63b3c8..a5db2d9488cf8e9786a05aab137cb261de0e486c 100644
--- a/net/tools/quic/quic_time_wait_list_manager_test.cc
+++ b/net/tools/quic/quic_time_wait_list_manager_test.cc
@@ -35,10 +35,6 @@ namespace test {
class QuicTimeWaitListManagerPeer {
public:
- static QuicVersion version(QuicTimeWaitListManager* manager) {
- return manager->framer_.version();
- }
-
static bool is_write_blocked(QuicTimeWaitListManager* manager) {
return manager->is_write_blocked_;
}
@@ -99,11 +95,11 @@ class QuicTimeWaitListManagerTest : public testing::Test {
return time_wait_list_manager_.IsGuidInTimeWait(guid);
}
- void ProcessPacket(QuicGuid guid, const QuicEncryptedPacket& packet) {
+ void ProcessPacket(QuicGuid guid, QuicPacketSequenceNumber sequence_number) {
time_wait_list_manager_.ProcessPacket(server_address_,
client_address_,
guid,
- packet);
+ sequence_number);
}
QuicEncryptedPacket* ConstructEncryptedPacket(
@@ -137,7 +133,7 @@ class QuicTimeWaitListManagerTest : public testing::Test {
}
MockFakeTimeEpollServer epoll_server_;
- MockPacketWriter writer_;
+ testing::StrictMock<MockPacketWriter> writer_;
QuicTimeWaitListManager time_wait_list_manager_;
QuicFramer framer_;
QuicGuid guid_;
@@ -200,84 +196,37 @@ TEST_F(QuicTimeWaitListManagerTest, SendConnectionClose) {
new QuicEncryptedPacket(
new char[kConnectionCloseLength], kConnectionCloseLength, true));
const int kRandomSequenceNumber = 1;
- scoped_ptr<QuicEncryptedPacket> packet(
- ConstructEncryptedPacket(ENCRYPTION_NONE, guid_, kRandomSequenceNumber));
EXPECT_CALL(writer_, WritePacket(_, kConnectionCloseLength,
server_address_.address(),
client_address_,
&time_wait_list_manager_))
.WillOnce(Return(WriteResult(WRITE_STATUS_OK, 1)));
- ProcessPacket(guid_, *packet);
+ ProcessPacket(guid_, kRandomSequenceNumber);
}
TEST_F(QuicTimeWaitListManagerTest, SendPublicReset) {
AddGuid(guid_);
const int kRandomSequenceNumber = 1;
- scoped_ptr<QuicEncryptedPacket> packet(
- ConstructEncryptedPacket(ENCRYPTION_NONE, guid_, kRandomSequenceNumber));
- EXPECT_CALL(writer_, WritePacket(_, _,
- server_address_.address(),
- client_address_,
- &time_wait_list_manager_))
- .With(Args<0, 1>(PublicResetPacketEq(guid_,
- kRandomSequenceNumber)))
- .WillOnce(Return(WriteResult(WRITE_STATUS_OK, packet->length())));
-
- ProcessPacket(guid_, *packet);
-}
-
-TEST_F(QuicTimeWaitListManagerTest, SendPublicResetUndecryptable) {
- AddGuid(guid_);
- const int kRandomSequenceNumber = 1;
- scoped_ptr<QuicEncryptedPacket> packet(
- ConstructEncryptedPacket(
- ENCRYPTION_INITIAL, guid_, kRandomSequenceNumber));
EXPECT_CALL(writer_, WritePacket(_, _,
server_address_.address(),
client_address_,
&time_wait_list_manager_))
.With(Args<0, 1>(PublicResetPacketEq(guid_,
kRandomSequenceNumber)))
- .WillOnce(Return(WriteResult(WRITE_STATUS_OK, packet->length())));
-
- ProcessPacket(guid_, *packet);
-}
-
-TEST_F(QuicTimeWaitListManagerTest, DropInvalidPacket) {
- AddGuid(guid_);
- const char buffer[] = "invalid";
- QuicEncryptedPacket packet(buffer, arraysize(buffer));
- // Will get called for a valid packet since received packet count = 1 (2 ^ 0).
- EXPECT_CALL(writer_, WritePacket(_, _, _, _, _)).Times(0);
- ProcessPacket(guid_, packet);
-}
+ .WillOnce(Return(WriteResult(WRITE_STATUS_OK, 0)));
-TEST_F(QuicTimeWaitListManagerTest, DropPublicResetPacket) {
- AddGuid(guid_);
- QuicPublicResetPacket packet;
- packet.public_header.guid = guid_;
- packet.public_header.version_flag = false;
- packet.public_header.reset_flag = true;
- packet.rejected_sequence_number = 239191;
- packet.nonce_proof = 1010101;
- scoped_ptr<QuicEncryptedPacket> public_reset_packet(
- QuicFramer::BuildPublicResetPacket(packet));
- // Will get called for a data packet since received packet count = 1 (2 ^ 0).
- EXPECT_CALL(writer_, WritePacket(_, _, _, _, _)).Times(0);
- ProcessPacket(guid_, *public_reset_packet);
+ ProcessPacket(guid_, kRandomSequenceNumber);
}
TEST_F(QuicTimeWaitListManagerTest, SendPublicResetWithExponentialBackOff) {
AddGuid(guid_);
for (int sequence_number = 1; sequence_number < 101; ++sequence_number) {
- scoped_ptr<QuicEncryptedPacket> packet(
- ConstructEncryptedPacket(ENCRYPTION_NONE, guid_, sequence_number));
if ((sequence_number & (sequence_number - 1)) == 0) {
EXPECT_CALL(writer_, WritePacket(_, _, _, _, _))
.WillOnce(Return(WriteResult(WRITE_STATUS_OK, 1)));
}
- ProcessPacket(guid_, *packet);
+ ProcessPacket(guid_, sequence_number);
// Send public reset with exponential back off.
if ((sequence_number & (sequence_number - 1)) == 0) {
EXPECT_TRUE(QuicTimeWaitListManagerPeer::ShouldSendResponse(
@@ -337,7 +286,7 @@ TEST_F(QuicTimeWaitListManagerTest, SendQueuedPackets) {
.With(Args<0, 1>(PublicResetPacketEq(guid,
sequence_number)))
.WillOnce(Return(WriteResult(WRITE_STATUS_OK, packet->length())));
- ProcessPacket(guid, *packet);
+ ProcessPacket(guid, sequence_number);
EXPECT_FALSE(
QuicTimeWaitListManagerPeer::is_write_blocked(&time_wait_list_manager_));
@@ -349,9 +298,9 @@ TEST_F(QuicTimeWaitListManagerTest, SendQueuedPackets) {
.With(Args<0, 1>(PublicResetPacketEq(guid,
sequence_number)))
.WillOnce(Return(WriteResult(WRITE_STATUS_BLOCKED, EAGAIN)));
- ProcessPacket(guid, *packet);
+ ProcessPacket(guid, sequence_number);
// 3rd packet. No public reset should be sent;
- ProcessPacket(guid, *packet);
+ ProcessPacket(guid, sequence_number);
EXPECT_TRUE(
QuicTimeWaitListManagerPeer::is_write_blocked(&time_wait_list_manager_));
@@ -365,7 +314,7 @@ TEST_F(QuicTimeWaitListManagerTest, SendQueuedPackets) {
ENCRYPTION_NONE, other_guid, other_sequence_number));
EXPECT_CALL(writer_, WritePacket(_, _, _, _, _))
.Times(0);
- ProcessPacket(other_guid, *other_packet);
+ ProcessPacket(other_guid, other_sequence_number);
// Now expect all the write blocked public reset packets to be sent again.
EXPECT_CALL(writer_, WritePacket(_, _,
@@ -388,38 +337,6 @@ TEST_F(QuicTimeWaitListManagerTest, SendQueuedPackets) {
QuicTimeWaitListManagerPeer::is_write_blocked(&time_wait_list_manager_));
}
-TEST_F(QuicTimeWaitListManagerTest, MakeSureFramerUsesCorrectVersion) {
- const int kRandomSequenceNumber = 1;
- scoped_ptr<QuicEncryptedPacket> packet;
-
- AddGuid(guid_, net::test::QuicVersionMin(), NULL);
- framer_.set_version(net::test::QuicVersionMin());
- packet.reset(
- ConstructEncryptedPacket(ENCRYPTION_NONE, guid_, kRandomSequenceNumber));
-
- // Reset packet should be written, using the minimum quic version.
- EXPECT_CALL(writer_, WritePacket(_, _, _, _, _)).Times(1)
- .WillOnce(Return(WriteResult(WRITE_STATUS_OK, 0)));
- ProcessPacket(guid_, *packet);
- EXPECT_EQ(QuicTimeWaitListManagerPeer::version(&time_wait_list_manager_),
- net::test::QuicVersionMin());
-
- // New guid
- ++guid_;
-
- AddGuid(guid_, net::test::QuicVersionMax(), NULL);
- framer_.set_version(net::test::QuicVersionMax());
- packet.reset(
- ConstructEncryptedPacket(ENCRYPTION_NONE, guid_, kRandomSequenceNumber));
-
- // Reset packet should be written, using the maximum quic version.
- EXPECT_CALL(writer_, WritePacket(_, _, _, _, _)).Times(1)
- .WillOnce(Return(WriteResult(WRITE_STATUS_OK, 0)));
- ProcessPacket(guid_, *packet);
- EXPECT_EQ(QuicTimeWaitListManagerPeer::version(&time_wait_list_manager_),
- net::test::QuicVersionMax());
-}
-
TEST_F(QuicTimeWaitListManagerTest, GetQuicVersionFromMap) {
const int kGuid1 = 123;
const int kGuid2 = 456;
« no previous file with comments | « net/tools/quic/quic_time_wait_list_manager.cc ('k') | net/tools/quic/test_tools/mock_quic_dispatcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698