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

Unified Diff: net/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/quic/quic_client_session_base.cc ('k') | net/quic/quic_clock.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_client_session_test.cc
diff --git a/net/quic/quic_client_session_test.cc b/net/quic/quic_client_session_test.cc
deleted file mode 100644
index ee7ee0cb637a4318bdec6cbd576c2bec8ce99182..0000000000000000000000000000000000000000
--- a/net/quic/quic_client_session_test.cc
+++ /dev/null
@@ -1,234 +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/quic/quic_client_session.h"
-
-#include <vector>
-
-#include "base/base64.h"
-#include "base/files/file_path.h"
-#include "base/rand_util.h"
-#include "net/base/capturing_net_log.h"
-#include "net/base/test_completion_callback.h"
-#include "net/base/test_data_directory.h"
-#include "net/cert/cert_verify_result.h"
-#include "net/http/transport_security_state.h"
-#include "net/quic/crypto/aes_128_gcm_12_encrypter.h"
-#include "net/quic/crypto/crypto_protocol.h"
-#include "net/quic/crypto/proof_verifier_chromium.h"
-#include "net/quic/crypto/quic_decrypter.h"
-#include "net/quic/crypto/quic_encrypter.h"
-#include "net/quic/crypto/quic_server_info.h"
-#include "net/quic/test_tools/crypto_test_utils.h"
-#include "net/quic/test_tools/quic_client_session_peer.h"
-#include "net/quic/test_tools/quic_test_utils.h"
-#include "net/quic/test_tools/simple_quic_framer.h"
-#include "net/socket/socket_test_util.h"
-#include "net/spdy/spdy_test_utils.h"
-#include "net/test/cert_test_util.h"
-#include "net/udp/datagram_client_socket.h"
-
-using testing::_;
-
-namespace net {
-namespace test {
-namespace {
-
-const char kServerHostname[] = "www.example.org";
-const uint16 kServerPort = 80;
-
-class QuicClientSessionTest : public ::testing::TestWithParam<QuicVersion> {
- protected:
- QuicClientSessionTest()
- : connection_(
- new PacketSavingConnection(false, SupportedVersions(GetParam()))),
- session_(connection_, GetSocket().Pass(), nullptr,
- &transport_security_state_,
- make_scoped_ptr((QuicServerInfo*)nullptr), DefaultQuicConfig(),
- base::MessageLoop::current()->message_loop_proxy().get(),
- &net_log_) {
- session_.InitializeSession(QuicServerId(kServerHostname, kServerPort,
- /*is_secure=*/false,
- PRIVACY_MODE_DISABLED),
- &crypto_config_, nullptr);
- // Advance the time, because timers do not like uninitialized times.
- connection_->AdvanceTime(QuicTime::Delta::FromSeconds(1));
- }
-
- void TearDown() override { session_.CloseSessionOnError(ERR_ABORTED); }
-
- scoped_ptr<DatagramClientSocket> GetSocket() {
- socket_factory_.AddSocketDataProvider(&socket_data_);
- return socket_factory_.CreateDatagramClientSocket(
- DatagramSocket::DEFAULT_BIND, base::Bind(&base::RandInt),
- &net_log_, NetLog::Source());
- }
-
- void CompleteCryptoHandshake() {
- ASSERT_EQ(ERR_IO_PENDING,
- session_.CryptoConnect(false, callback_.callback()));
- CryptoTestUtils::HandshakeWithFakeServer(
- connection_, session_.GetCryptoStream());
- ASSERT_EQ(OK, callback_.WaitForResult());
- }
-
- PacketSavingConnection* connection_;
- CapturingNetLog net_log_;
- MockClientSocketFactory socket_factory_;
- StaticSocketDataProvider socket_data_;
- TransportSecurityState transport_security_state_;
- QuicClientSession session_;
- MockClock clock_;
- MockRandom random_;
- QuicConnectionVisitorInterface* visitor_;
- TestCompletionCallback callback_;
- QuicCryptoClientConfig crypto_config_;
-};
-
-INSTANTIATE_TEST_CASE_P(Tests, QuicClientSessionTest,
- ::testing::ValuesIn(QuicSupportedVersions()));
-
-TEST_P(QuicClientSessionTest, CryptoConnect) {
- CompleteCryptoHandshake();
-}
-
-TEST_P(QuicClientSessionTest, MaxNumStreams) {
- CompleteCryptoHandshake();
-
- std::vector<QuicReliableClientStream*> streams;
- for (size_t i = 0; i < kDefaultMaxStreamsPerConnection; i++) {
- QuicReliableClientStream* stream = session_.CreateOutgoingDataStream();
- EXPECT_TRUE(stream);
- streams.push_back(stream);
- }
- EXPECT_FALSE(session_.CreateOutgoingDataStream());
-
- // Close a stream and ensure I can now open a new one.
- session_.CloseStream(streams[0]->id());
- EXPECT_TRUE(session_.CreateOutgoingDataStream());
-}
-
-TEST_P(QuicClientSessionTest, MaxNumStreamsViaRequest) {
- CompleteCryptoHandshake();
-
- std::vector<QuicReliableClientStream*> streams;
- for (size_t i = 0; i < kDefaultMaxStreamsPerConnection; i++) {
- QuicReliableClientStream* stream = session_.CreateOutgoingDataStream();
- EXPECT_TRUE(stream);
- streams.push_back(stream);
- }
-
- QuicReliableClientStream* stream;
- QuicClientSession::StreamRequest stream_request;
- TestCompletionCallback callback;
- ASSERT_EQ(ERR_IO_PENDING,
- stream_request.StartRequest(session_.GetWeakPtr(), &stream,
- callback.callback()));
-
- // Close a stream and ensure I can now open a new one.
- session_.CloseStream(streams[0]->id());
- ASSERT_TRUE(callback.have_result());
- EXPECT_EQ(OK, callback.WaitForResult());
- EXPECT_TRUE(stream != nullptr);
-}
-
-TEST_P(QuicClientSessionTest, 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(QuicClientSessionTest, CanPool) {
- // Load a cert that is valid for:
- // www.example.org
- // mail.example.org
- // www.example.com
-
- ProofVerifyDetailsChromium details;
- details.cert_verify_result.verified_cert =
- ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem");
- ASSERT_TRUE(details.cert_verify_result.verified_cert.get());
-
- session_.OnProofVerifyDetailsAvailable(details);
- CompleteCryptoHandshake();
-
- EXPECT_TRUE(session_.CanPool("www.example.org", PRIVACY_MODE_DISABLED));
- EXPECT_FALSE(session_.CanPool("www.example.org", PRIVACY_MODE_ENABLED));
- EXPECT_TRUE(session_.CanPool("mail.example.org", PRIVACY_MODE_DISABLED));
- EXPECT_TRUE(session_.CanPool("mail.example.com", PRIVACY_MODE_DISABLED));
- EXPECT_FALSE(session_.CanPool("mail.google.com", PRIVACY_MODE_DISABLED));
-}
-
-TEST_P(QuicClientSessionTest, ConnectionPooledWithTlsChannelId) {
- // Load a cert that is valid for:
- // www.example.org
- // mail.example.org
- // www.example.com
-
- ProofVerifyDetailsChromium details;
- details.cert_verify_result.verified_cert =
- ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem");
- ASSERT_TRUE(details.cert_verify_result.verified_cert.get());
-
- session_.OnProofVerifyDetailsAvailable(details);
- CompleteCryptoHandshake();
- QuicClientSessionPeer::SetChannelIDSent(&session_, true);
-
- EXPECT_TRUE(session_.CanPool("www.example.org", PRIVACY_MODE_DISABLED));
- EXPECT_TRUE(session_.CanPool("mail.example.org", PRIVACY_MODE_DISABLED));
- EXPECT_FALSE(session_.CanPool("mail.example.com", PRIVACY_MODE_DISABLED));
- EXPECT_FALSE(session_.CanPool("mail.google.com", PRIVACY_MODE_DISABLED));
-}
-
-TEST_P(QuicClientSessionTest, ConnectionNotPooledWithDifferentPin) {
- uint8 primary_pin = 1;
- uint8 backup_pin = 2;
- uint8 bad_pin = 3;
- AddPin(&transport_security_state_, "mail.example.org", primary_pin,
- backup_pin);
-
- ProofVerifyDetailsChromium details;
- details.cert_verify_result.verified_cert =
- ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem");
- details.cert_verify_result.is_issued_by_known_root = true;
- details.cert_verify_result.public_key_hashes.push_back(
- GetTestHashValue(bad_pin));
-
- ASSERT_TRUE(details.cert_verify_result.verified_cert.get());
-
- session_.OnProofVerifyDetailsAvailable(details);
- CompleteCryptoHandshake();
- QuicClientSessionPeer::SetChannelIDSent(&session_, true);
-
- EXPECT_FALSE(session_.CanPool("mail.example.org", PRIVACY_MODE_DISABLED));
-}
-
-TEST_P(QuicClientSessionTest, ConnectionPooledWithMatchingPin) {
- uint8 primary_pin = 1;
- uint8 backup_pin = 2;
- AddPin(&transport_security_state_, "mail.example.org", primary_pin,
- backup_pin);
-
- ProofVerifyDetailsChromium details;
- details.cert_verify_result.verified_cert =
- ImportCertFromFile(GetTestCertsDirectory(), "spdy_pooling.pem");
- details.cert_verify_result.is_issued_by_known_root = true;
- details.cert_verify_result.public_key_hashes.push_back(
- GetTestHashValue(primary_pin));
-
- ASSERT_TRUE(details.cert_verify_result.verified_cert.get());
-
- session_.OnProofVerifyDetailsAvailable(details);
- CompleteCryptoHandshake();
- QuicClientSessionPeer::SetChannelIDSent(&session_, true);
-
- EXPECT_TRUE(session_.CanPool("mail.example.org", PRIVACY_MODE_DISABLED));
-}
-
-} // namespace
-} // namespace test
-} // namespace net
« no previous file with comments | « net/quic/quic_client_session_base.cc ('k') | net/quic/quic_clock.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698