summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_client_session_test.cc
diff options
context:
space:
mode:
authorwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-16 08:51:15 +0000
committerwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-16 08:51:15 +0000
commit872edd9e66ce6eed0b006c8356b896c9582bc9b1 (patch)
tree2bb48fa815b8b5c7ad23fad0ea8a376017c38918 /net/quic/quic_client_session_test.cc
parentc08dcdb507cb0946d252fa5e4e768ee4f711d272 (diff)
downloadchromium_src-872edd9e66ce6eed0b006c8356b896c9582bc9b1.zip
chromium_src-872edd9e66ce6eed0b006c8356b896c9582bc9b1.tar.gz
chromium_src-872edd9e66ce6eed0b006c8356b896c9582bc9b1.tar.bz2
Send the ClientHello handshake message.
Add most of the fields to ClientHello. Add the QuicCryptoClientStream::CryptoConnect method and have QuicClientSession::CryptoConnect call it. Add a unit test for QuicCryptoClientStream to check a ClientHello message by parsing it and checking the fields. Define the value in CryptoTagValueMap as string instead of StringPiece. This causes CryptoTagValueMap to copy the values, which is less efficient but much safer. Merge internal CLs: 39503243, 39692710 R=rch@chromium.org BUG=none TEST=net_unittests Review URL: https://chromiumcodereview.appspot.com/11633030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177102 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_client_session_test.cc')
-rw-r--r--net/quic/quic_client_session_test.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/quic/quic_client_session_test.cc b/net/quic/quic_client_session_test.cc
index 1bb5ce0..5d55c40 100644
--- a/net/quic/quic_client_session_test.cc
+++ b/net/quic/quic_client_session_test.cc
@@ -25,7 +25,6 @@ class QuicClientSessionTest : public ::testing::Test {
session_(connection_, NULL, NULL) {
}
- protected:
QuicGuid guid_;
PacketSavingConnection* connection_;
QuicClientSession session_;
@@ -36,7 +35,8 @@ class QuicClientSessionTest : public ::testing::Test {
TEST_F(QuicClientSessionTest, CryptoConnectSendsCorrectData) {
EXPECT_EQ(ERR_IO_PENDING, session_.CryptoConnect(callback_.callback()));
ASSERT_EQ(1u, connection_->packets_.size());
- scoped_ptr<QuicPacket> chlo(ConstructHandshakePacket(guid_, kCHLO));
+ scoped_ptr<QuicPacket> chlo(ConstructClientHelloPacket(
+ guid_, connection_->clock(), connection_->random_generator()));
CompareQuicDataWithHexError("CHLO", connection_->packets_[0], chlo.get());
}
@@ -52,6 +52,7 @@ TEST_F(QuicClientSessionTest, CryptoConnectSendsCompletesAfterSHLO) {
TEST_F(QuicClientSessionTest, MaxNumConnections) {
// Initialize crypto before the client session will create a stream.
ASSERT_EQ(ERR_IO_PENDING, session_.CryptoConnect(callback_.callback()));
+ // Simulate the server crypto handshake.
CryptoHandshakeMessage server_message;
server_message.tag = kSHLO;
session_.GetCryptoStream()->OnHandshakeMessage(server_message);