OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/tools/quic/quic_client_session.h" | 5 #include "net/tools/quic/quic_client_session.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "net/base/ip_endpoint.h" | 9 #include "net/base/ip_endpoint.h" |
10 #include "net/quic/crypto/aes_128_gcm_12_encrypter.h" | 10 #include "net/quic/crypto/aes_128_gcm_12_encrypter.h" |
11 #include "net/quic/quic_flags.h" | 11 #include "net/quic/quic_flags.h" |
12 #include "net/quic/test_tools/crypto_test_utils.h" | 12 #include "net/quic/test_tools/crypto_test_utils.h" |
13 #include "net/quic/test_tools/quic_spdy_session_peer.h" | 13 #include "net/quic/test_tools/quic_spdy_session_peer.h" |
14 #include "net/quic/test_tools/quic_test_utils.h" | 14 #include "net/quic/test_tools/quic_test_utils.h" |
15 #include "net/tools/quic/quic_spdy_client_stream.h" | 15 #include "net/tools/quic/quic_spdy_client_stream.h" |
16 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
17 | 17 |
18 using net::test::ConstructEncryptedPacket; | 18 using net::test::ConstructEncryptedPacket; |
19 using net::test::ConstructMisFramedEncryptedPacket; | 19 using net::test::ConstructMisFramedEncryptedPacket; |
20 using net::test::CryptoTestUtils; | 20 using net::test::CryptoTestUtils; |
21 using net::test::DefaultQuicConfig; | 21 using net::test::DefaultQuicConfig; |
22 using net::test::MockConnection; | 22 using net::test::MockConnection; |
23 using net::test::MockHelper; | 23 using net::test::MockConnectionHelper; |
24 using net::test::PacketSavingConnection; | 24 using net::test::PacketSavingConnection; |
25 using net::test::QuicSpdySessionPeer; | 25 using net::test::QuicSpdySessionPeer; |
26 using net::test::SupportedVersions; | 26 using net::test::SupportedVersions; |
27 using net::test::TestPeerIPAddress; | 27 using net::test::TestPeerIPAddress; |
28 using net::test::ValueRestore; | 28 using net::test::ValueRestore; |
29 using net::test::kTestPort; | 29 using net::test::kTestPort; |
30 using testing::AnyNumber; | 30 using testing::AnyNumber; |
31 using testing::Invoke; | 31 using testing::Invoke; |
32 using testing::Truly; | 32 using testing::Truly; |
33 using testing::_; | 33 using testing::_; |
(...skipping 19 matching lines...) Expand all Loading... |
53 connection_, | 53 connection_, |
54 QuicServerId(kServerHostname, kPort, PRIVACY_MODE_DISABLED), | 54 QuicServerId(kServerHostname, kPort, PRIVACY_MODE_DISABLED), |
55 &crypto_config_)) { | 55 &crypto_config_)) { |
56 session_->Initialize(); | 56 session_->Initialize(); |
57 // Advance the time, because timers do not like uninitialized times. | 57 // Advance the time, because timers do not like uninitialized times. |
58 connection_->AdvanceTime(QuicTime::Delta::FromSeconds(1)); | 58 connection_->AdvanceTime(QuicTime::Delta::FromSeconds(1)); |
59 } | 59 } |
60 | 60 |
61 void CompleteCryptoHandshake() { | 61 void CompleteCryptoHandshake() { |
62 session_->CryptoConnect(); | 62 session_->CryptoConnect(); |
63 CryptoTestUtils::HandshakeWithFakeServer(&helper_, connection_, | 63 QuicCryptoClientStream* stream = |
64 session_->GetCryptoStream()); | 64 static_cast<QuicCryptoClientStream*>(session_->GetCryptoStream()); |
| 65 CryptoTestUtils::HandshakeWithFakeServer(&helper_, connection_, stream); |
65 } | 66 } |
66 | 67 |
67 QuicCryptoClientConfig crypto_config_; | 68 QuicCryptoClientConfig crypto_config_; |
68 MockHelper helper_; | 69 MockConnectionHelper helper_; |
69 PacketSavingConnection* connection_; | 70 PacketSavingConnection* connection_; |
70 scoped_ptr<QuicClientSession> session_; | 71 scoped_ptr<QuicClientSession> session_; |
71 }; | 72 }; |
72 | 73 |
73 INSTANTIATE_TEST_CASE_P(Tests, ToolsQuicClientSessionTest, | 74 INSTANTIATE_TEST_CASE_P(Tests, ToolsQuicClientSessionTest, |
74 ::testing::ValuesIn(QuicSupportedVersions())); | 75 ::testing::ValuesIn(QuicSupportedVersions())); |
75 | 76 |
76 TEST_P(ToolsQuicClientSessionTest, CryptoConnect) { | 77 TEST_P(ToolsQuicClientSessionTest, CryptoConnect) { |
77 CompleteCryptoHandshake(); | 78 CompleteCryptoHandshake(); |
78 } | 79 } |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 PACKET_6BYTE_PACKET_NUMBER, nullptr)); | 217 PACKET_6BYTE_PACKET_NUMBER, nullptr)); |
217 EXPECT_CALL(*connection_, SendConnectionCloseWithDetails(_, _)).Times(1); | 218 EXPECT_CALL(*connection_, SendConnectionCloseWithDetails(_, _)).Times(1); |
218 session_->connection()->ProcessUdpPacket(client_address, server_address, | 219 session_->connection()->ProcessUdpPacket(client_address, server_address, |
219 *packet); | 220 *packet); |
220 } | 221 } |
221 | 222 |
222 } // namespace | 223 } // namespace |
223 } // namespace test | 224 } // namespace test |
224 } // namespace tools | 225 } // namespace tools |
225 } // namespace net | 226 } // namespace net |
OLD | NEW |