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

Side by Side Diff: net/tools/quic/quic_dispatcher_test.cc

Issue 2511643002: Refactoring output of ProofSource::GetProof (no functional changes). (Closed)
Patch Set: Refactoring output of ProofSource::GetProof (no functional changes). Created 4 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « net/quic/test_tools/fake_proof_source.cc ('k') | net/tools/quic/stateless_rejector.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_dispatcher.h" 5 #include "net/tools/quic/quic_dispatcher.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <ostream> 8 #include <ostream>
9 #include <string> 9 #include <string>
10 10
(...skipping 1046 matching lines...) Expand 10 before | Expand all | Expand 10 after
1057 } 1057 }
1058 1058
1059 // A dispatcher whose stateless rejector will always ACCEPTs CHLO. 1059 // A dispatcher whose stateless rejector will always ACCEPTs CHLO.
1060 class BufferedPacketStoreTest 1060 class BufferedPacketStoreTest
1061 : public QuicDispatcherTest, 1061 : public QuicDispatcherTest,
1062 public ::testing::WithParamInterface<BufferedPacketStoreTestParams> { 1062 public ::testing::WithParamInterface<BufferedPacketStoreTestParams> {
1063 public: 1063 public:
1064 BufferedPacketStoreTest() 1064 BufferedPacketStoreTest()
1065 : QuicDispatcherTest(), 1065 : QuicDispatcherTest(),
1066 client_addr_(Loopback4(), 1234), 1066 client_addr_(Loopback4(), 1234),
1067 proof_(new QuicCryptoProof) { 1067 signed_config_(new QuicSignedServerConfig) {
1068 FLAGS_quic_use_cheap_stateless_rejects = 1068 FLAGS_quic_use_cheap_stateless_rejects =
1069 GetParam().support_cheap_stateless_reject; 1069 GetParam().support_cheap_stateless_reject;
1070 FLAGS_enable_quic_stateless_reject_support = 1070 FLAGS_enable_quic_stateless_reject_support =
1071 GetParam().enable_stateless_rejects_via_flag; 1071 GetParam().enable_stateless_rejects_via_flag;
1072 } 1072 }
1073 1073
1074 void SetUp() override { 1074 void SetUp() override {
1075 QuicDispatcherTest::SetUp(); 1075 QuicDispatcherTest::SetUp();
1076 clock_ = QuicDispatcherPeer::GetHelper(dispatcher_.get())->GetClock(); 1076 clock_ = QuicDispatcherPeer::GetHelper(dispatcher_.get())->GetClock();
1077 1077
1078 QuicVersion version = AllSupportedVersions().front(); 1078 QuicVersion version = AllSupportedVersions().front();
1079 CryptoHandshakeMessage chlo = CryptoTestUtils::GenerateDefaultInchoateCHLO( 1079 CryptoHandshakeMessage chlo = CryptoTestUtils::GenerateDefaultInchoateCHLO(
1080 clock_, version, &crypto_config_); 1080 clock_, version, &crypto_config_);
1081 chlo.SetVector(net::kCOPT, net::QuicTagVector{net::kSREJ}); 1081 chlo.SetVector(net::kCOPT, net::QuicTagVector{net::kSREJ});
1082 // Pass an inchoate CHLO. 1082 // Pass an inchoate CHLO.
1083 CryptoTestUtils::GenerateFullCHLO( 1083 CryptoTestUtils::GenerateFullCHLO(
1084 chlo, &crypto_config_, server_ip_, client_addr_, version, clock_, 1084 chlo, &crypto_config_, server_ip_, client_addr_, version, clock_,
1085 proof_, QuicDispatcherPeer::GetCache(dispatcher_.get()), &full_chlo_); 1085 signed_config_, QuicDispatcherPeer::GetCache(dispatcher_.get()),
1086 &full_chlo_);
1086 } 1087 }
1087 1088
1088 string SerializeFullCHLO() { 1089 string SerializeFullCHLO() {
1089 return full_chlo_.GetSerialized().AsStringPiece().as_string(); 1090 return full_chlo_.GetSerialized().AsStringPiece().as_string();
1090 } 1091 }
1091 1092
1092 protected: 1093 protected:
1093 IPAddress server_ip_; 1094 IPAddress server_ip_;
1094 IPEndPoint client_addr_; 1095 IPEndPoint client_addr_;
1095 scoped_refptr<QuicCryptoProof> proof_; 1096 scoped_refptr<QuicSignedServerConfig> signed_config_;
1096 const QuicClock* clock_; 1097 const QuicClock* clock_;
1097 CryptoHandshakeMessage full_chlo_; 1098 CryptoHandshakeMessage full_chlo_;
1098 }; 1099 };
1099 1100
1100 INSTANTIATE_TEST_CASE_P( 1101 INSTANTIATE_TEST_CASE_P(
1101 BufferedPacketStoreTests, 1102 BufferedPacketStoreTests,
1102 BufferedPacketStoreTest, 1103 BufferedPacketStoreTest,
1103 ::testing::ValuesIn(GetBufferedPacketStoreTestParams())); 1104 ::testing::ValuesIn(GetBufferedPacketStoreTestParams()));
1104 1105
1105 TEST_P(BufferedPacketStoreTest, ProcessNonChloPacketsUptoLimitAndProcessChlo) { 1106 TEST_P(BufferedPacketStoreTest, ProcessNonChloPacketsUptoLimitAndProcessChlo) {
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
1505 1506
1506 // Test which exercises the async GetProof codepaths, especially in the context 1507 // Test which exercises the async GetProof codepaths, especially in the context
1507 // of stateless rejection. 1508 // of stateless rejection.
1508 class AsyncGetProofTest : public QuicDispatcherTest { 1509 class AsyncGetProofTest : public QuicDispatcherTest {
1509 public: 1510 public:
1510 AsyncGetProofTest() 1511 AsyncGetProofTest()
1511 : QuicDispatcherTest( 1512 : QuicDispatcherTest(
1512 std::unique_ptr<FakeProofSource>(new FakeProofSource())), 1513 std::unique_ptr<FakeProofSource>(new FakeProofSource())),
1513 client_addr_(net::test::Loopback4(), 1234), 1514 client_addr_(net::test::Loopback4(), 1234),
1514 crypto_config_peer_(&crypto_config_), 1515 crypto_config_peer_(&crypto_config_),
1515 proof_(new QuicCryptoProof) { 1516 signed_config_(new QuicSignedServerConfig) {
1516 FLAGS_enable_async_get_proof = true; 1517 FLAGS_enable_async_get_proof = true;
1517 FLAGS_enable_quic_stateless_reject_support = true; 1518 FLAGS_enable_quic_stateless_reject_support = true;
1518 FLAGS_quic_use_cheap_stateless_rejects = true; 1519 FLAGS_quic_use_cheap_stateless_rejects = true;
1519 FLAGS_quic_create_session_after_insertion = true; 1520 FLAGS_quic_create_session_after_insertion = true;
1520 } 1521 }
1521 1522
1522 void SetUp() override { 1523 void SetUp() override {
1523 QuicDispatcherTest::SetUp(); 1524 QuicDispatcherTest::SetUp();
1524 1525
1525 clock_ = QuicDispatcherPeer::GetHelper(dispatcher_.get())->GetClock(); 1526 clock_ = QuicDispatcherPeer::GetHelper(dispatcher_.get())->GetClock();
1526 QuicVersion version = AllSupportedVersions().front(); 1527 QuicVersion version = AllSupportedVersions().front();
1527 chlo_ = CryptoTestUtils::GenerateDefaultInchoateCHLO(clock_, version, 1528 chlo_ = CryptoTestUtils::GenerateDefaultInchoateCHLO(clock_, version,
1528 &crypto_config_); 1529 &crypto_config_);
1529 chlo_.SetVector(net::kCOPT, net::QuicTagVector{net::kSREJ}); 1530 chlo_.SetVector(net::kCOPT, net::QuicTagVector{net::kSREJ});
1530 // Pass an inchoate CHLO. 1531 // Pass an inchoate CHLO.
1531 CryptoTestUtils::GenerateFullCHLO( 1532 CryptoTestUtils::GenerateFullCHLO(
1532 chlo_, &crypto_config_, server_ip_, client_addr_, version, clock_, 1533 chlo_, &crypto_config_, server_ip_, client_addr_, version, clock_,
1533 proof_, QuicDispatcherPeer::GetCache(dispatcher_.get()), &full_chlo_); 1534 signed_config_, QuicDispatcherPeer::GetCache(dispatcher_.get()),
1535 &full_chlo_);
1534 1536
1535 GetFakeProofSource()->Activate(); 1537 GetFakeProofSource()->Activate();
1536 } 1538 }
1537 1539
1538 FakeProofSource* GetFakeProofSource() const { 1540 FakeProofSource* GetFakeProofSource() const {
1539 return static_cast<FakeProofSource*>(crypto_config_peer_.GetProofSource()); 1541 return static_cast<FakeProofSource*>(crypto_config_peer_.GetProofSource());
1540 } 1542 }
1541 1543
1542 string SerializeFullCHLO() { 1544 string SerializeFullCHLO() {
1543 return full_chlo_.GetSerialized().AsStringPiece().as_string(); 1545 return full_chlo_.GetSerialized().AsStringPiece().as_string();
(...skipping 29 matching lines...) Expand all
1573 CHECK(ok); 1575 CHECK(ok);
1574 return session; 1576 return session;
1575 } 1577 }
1576 1578
1577 protected: 1579 protected:
1578 const IPEndPoint client_addr_; 1580 const IPEndPoint client_addr_;
1579 1581
1580 private: 1582 private:
1581 QuicCryptoServerConfigPeer crypto_config_peer_; 1583 QuicCryptoServerConfigPeer crypto_config_peer_;
1582 IPAddress server_ip_; 1584 IPAddress server_ip_;
1583 scoped_refptr<QuicCryptoProof> proof_; 1585 scoped_refptr<QuicSignedServerConfig> signed_config_;
1584 const QuicClock* clock_; 1586 const QuicClock* clock_;
1585 CryptoHandshakeMessage chlo_; 1587 CryptoHandshakeMessage chlo_;
1586 CryptoHandshakeMessage full_chlo_; 1588 CryptoHandshakeMessage full_chlo_;
1587 1589
1588 struct SessionInfo { 1590 struct SessionInfo {
1589 TestQuicSpdyServerSession* session; 1591 TestQuicSpdyServerSession* session;
1590 std::unique_ptr<MockQuicCryptoServerStream> crypto_stream; 1592 std::unique_ptr<MockQuicCryptoServerStream> crypto_stream;
1591 }; 1593 };
1592 std::map<QuicConnectionId, SessionInfo> sessions_; 1594 std::map<QuicConnectionId, SessionInfo> sessions_;
1593 }; 1595 };
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
1984 check.Call(2); 1986 check.Call(2);
1985 GetFakeProofSource()->InvokePendingCallback(0); 1987 GetFakeProofSource()->InvokePendingCallback(0);
1986 ASSERT_EQ(GetFakeProofSource()->NumPendingCallbacks(), 0); 1988 ASSERT_EQ(GetFakeProofSource()->NumPendingCallbacks(), 0);
1987 EXPECT_FALSE(store->HasBufferedPackets(conn_id)); 1989 EXPECT_FALSE(store->HasBufferedPackets(conn_id));
1988 EXPECT_FALSE(time_wait_list_manager_->IsConnectionIdInTimeWait(conn_id)); 1990 EXPECT_FALSE(time_wait_list_manager_->IsConnectionIdInTimeWait(conn_id));
1989 } 1991 }
1990 1992
1991 } // namespace 1993 } // namespace
1992 } // namespace test 1994 } // namespace test
1993 } // namespace net 1995 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/test_tools/fake_proof_source.cc ('k') | net/tools/quic/stateless_rejector.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698