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

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

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 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_client_session.cc ('k') | net/tools/quic/quic_client_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/tools/quic/quic_client_session_test.cc
diff --git a/net/tools/quic/quic_client_session_test.cc b/net/tools/quic/quic_client_session_test.cc
deleted file mode 100644
index 1e8006b35307189df17bac64f7504edcd31711e9..0000000000000000000000000000000000000000
--- a/net/tools/quic/quic_client_session_test.cc
+++ /dev/null
@@ -1,146 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/tools/quic/quic_client_session.h"
-
-#include <vector>
-
-#include "net/base/ip_endpoint.h"
-#include "net/quic/crypto/aes_128_gcm_12_encrypter.h"
-#include "net/quic/quic_flags.h"
-#include "net/quic/test_tools/crypto_test_utils.h"
-#include "net/quic/test_tools/quic_session_peer.h"
-#include "net/quic/test_tools/quic_test_utils.h"
-#include "net/tools/quic/quic_spdy_client_stream.h"
-#include "net/tools/quic/test_tools/quic_test_utils.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using net::test::CryptoTestUtils;
-using net::test::DefaultQuicConfig;
-using net::test::PacketSavingConnection;
-using net::test::QuicSessionPeer;
-using net::test::SupportedVersions;
-using net::test::TestPeerIPAddress;
-using net::test::ValueRestore;
-using net::test::kTestPort;
-using net::tools::test::MockConnection;
-using testing::Invoke;
-using testing::_;
-
-namespace net {
-namespace tools {
-namespace test {
-namespace {
-
-const char kServerHostname[] = "www.example.org";
-const uint16 kPort = 80;
-
-class ToolsQuicClientSessionTest
- : public ::testing::TestWithParam<QuicVersion> {
- protected:
- ToolsQuicClientSessionTest()
- : connection_(
- new PacketSavingConnection(false, SupportedVersions(GetParam()))) {
- session_.reset(new QuicClientSession(DefaultQuicConfig(), connection_));
- session_->InitializeSession(
- QuicServerId(kServerHostname, kPort, false, PRIVACY_MODE_DISABLED),
- &crypto_config_);
- // Advance the time, because timers do not like uninitialized times.
- connection_->AdvanceTime(QuicTime::Delta::FromSeconds(1));
- }
-
- void CompleteCryptoHandshake() {
- session_->CryptoConnect();
- CryptoTestUtils::HandshakeWithFakeServer(
- connection_, session_->GetCryptoStream());
- }
-
- PacketSavingConnection* connection_;
- scoped_ptr<QuicClientSession> session_;
- QuicCryptoClientConfig crypto_config_;
-};
-
-INSTANTIATE_TEST_CASE_P(Tests, ToolsQuicClientSessionTest,
- ::testing::ValuesIn(QuicSupportedVersions()));
-
-TEST_P(ToolsQuicClientSessionTest, CryptoConnect) {
- CompleteCryptoHandshake();
-}
-
-TEST_P(ToolsQuicClientSessionTest, MaxNumStreams) {
- session_->config()->SetMaxStreamsPerConnection(1, 1);
- // FLAGS_max_streams_per_connection = 1;
- // Initialize crypto before the client session will create a stream.
- CompleteCryptoHandshake();
-
- QuicSpdyClientStream* stream = session_->CreateOutgoingDataStream();
- ASSERT_TRUE(stream);
- EXPECT_FALSE(session_->CreateOutgoingDataStream());
-
- // Close a stream and ensure I can now open a new one.
- session_->CloseStream(stream->id());
- stream = session_->CreateOutgoingDataStream();
- EXPECT_TRUE(stream);
-}
-
-TEST_P(ToolsQuicClientSessionTest, GoAwayReceived) {
- CompleteCryptoHandshake();
-
- // After receiving a GoAway, I should no longer be able to create outgoing
- // streams.
- session_->OnGoAway(QuicGoAwayFrame(QUIC_PEER_GOING_AWAY, 1u, "Going away."));
- EXPECT_EQ(nullptr, session_->CreateOutgoingDataStream());
-}
-
-TEST_P(ToolsQuicClientSessionTest, SetFecProtectionFromConfig) {
- ValueRestore<bool> old_flag(&FLAGS_enable_quic_fec, true);
-
- // Set FEC config in client's connection options.
- QuicTagVector copt;
- copt.push_back(kFHDR);
- session_->config()->SetConnectionOptionsToSend(copt);
-
- // Doing the handshake should set up FEC config correctly.
- CompleteCryptoHandshake();
-
- // Verify that headers stream is always protected and data streams are
- // optionally protected.
- EXPECT_EQ(FEC_PROTECT_ALWAYS,
- QuicSessionPeer::GetHeadersStream(session_.get())->fec_policy());
- QuicSpdyClientStream* stream = session_->CreateOutgoingDataStream();
- ASSERT_TRUE(stream);
- EXPECT_EQ(FEC_PROTECT_OPTIONAL, stream->fec_policy());
-}
-
-// Regression test for b/17206611.
-TEST_P(ToolsQuicClientSessionTest, InvalidPacketReceived) {
- // Create Packet with 0 length.
- QuicEncryptedPacket invalid_packet(nullptr, 0, false);
- IPEndPoint server_address(TestPeerIPAddress(), kTestPort);
- IPEndPoint client_address(TestPeerIPAddress(), kTestPort);
-
- EXPECT_CALL(*reinterpret_cast<MockConnection*>(session_->connection()),
- ProcessUdpPacket(server_address, client_address, _))
- .WillRepeatedly(
- Invoke(reinterpret_cast<MockConnection*>(session_->connection()),
- &MockConnection::ReallyProcessUdpPacket));
-
- // Validate that empty packets don't close the connection.
- EXPECT_CALL(*connection_, SendConnectionCloseWithDetails(_, _)).Times(0);
- session_->connection()->ProcessUdpPacket(client_address, server_address,
- invalid_packet);
-
- // Verifiy that small, invalid packets don't close the connection.
- char buf[2] = {0x00, 0x01};
- QuicEncryptedPacket valid_packet(buf, 2, false);
- // Close connection shouldn't be called.
- EXPECT_CALL(*connection_, SendConnectionCloseWithDetails(_, _)).Times(0);
- session_->connection()->ProcessUdpPacket(client_address, server_address,
- valid_packet);
-}
-
-} // namespace
-} // namespace test
-} // namespace tools
-} // namespace net
« no previous file with comments | « net/tools/quic/quic_client_session.cc ('k') | net/tools/quic/quic_client_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698