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

Side by Side Diff: net/quic/chromium/quic_network_transaction_unittest.cc

Issue 2699003002: Clear cached QUIC network stats when a QUIC handshake fails. (Closed)
Patch Set: Created 3 years, 10 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 unified diff | Download patch
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 <memory> 5 #include <memory>
6 #include <ostream> 6 #include <ostream>
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 1814 matching lines...) Expand 10 before | Expand all | Expand 10 after
1825 EXPECT_TRUE(http_server_properties_.WasAlternativeServiceRecentlyBroken( 1825 EXPECT_TRUE(http_server_properties_.WasAlternativeServiceRecentlyBroken(
1826 alternative_service)); 1826 alternative_service));
1827 1827
1828 SendRequestAndExpectHttpResponse("hello world"); 1828 SendRequestAndExpectHttpResponse("hello world");
1829 SendRequestAndExpectQuicResponse("hello!"); 1829 SendRequestAndExpectQuicResponse("hello!");
1830 1830
1831 mock_quic_data.Resume(); 1831 mock_quic_data.Resume();
1832 1832
1833 EXPECT_FALSE(http_server_properties_.WasAlternativeServiceRecentlyBroken( 1833 EXPECT_FALSE(http_server_properties_.WasAlternativeServiceRecentlyBroken(
1834 alternative_service)); 1834 alternative_service));
1835 EXPECT_NE(nullptr,
1836 http_server_properties_.GetServerNetworkStats(
1837 url::SchemeHostPort("https", request_.url.host(), 443)));
1835 } 1838 }
1836 1839
1837 TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceForQuicForHttps) { 1840 TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceForQuicForHttps) {
1838 MockRead http_reads[] = { 1841 MockRead http_reads[] = {
1839 MockRead("HTTP/1.1 200 OK\r\n"), MockRead(kQuicAlternativeServiceHeader), 1842 MockRead("HTTP/1.1 200 OK\r\n"), MockRead(kQuicAlternativeServiceHeader),
1840 MockRead("hello world"), 1843 MockRead("hello world"),
1841 MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ), 1844 MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ),
1842 MockRead(ASYNC, OK)}; 1845 MockRead(ASYNC, OK)};
1843 1846
1844 StaticSocketDataProvider http_data(http_reads, arraysize(http_reads), nullptr, 1847 StaticSocketDataProvider http_data(http_reads, arraysize(http_reads), nullptr,
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
1992 1995
1993 mock_quic_data.AddSocketDataToFactory(&socket_factory_); 1996 mock_quic_data.AddSocketDataToFactory(&socket_factory_);
1994 1997
1995 // The non-alternate protocol job needs to hang in order to guarantee that 1998 // The non-alternate protocol job needs to hang in order to guarantee that
1996 // the alternate-protocol job will "win". 1999 // the alternate-protocol job will "win".
1997 AddHangingNonAlternateProtocolSocketData(); 2000 AddHangingNonAlternateProtocolSocketData();
1998 2001
1999 CreateSession(); 2002 CreateSession();
2000 AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT); 2003 AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT);
2001 SendRequestAndExpectQuicResponse("hello!"); 2004 SendRequestAndExpectQuicResponse("hello!");
2005
2006 EXPECT_EQ(nullptr,
2007 http_server_properties_.GetServerNetworkStats(
2008 url::SchemeHostPort("https", request_.url.host(), 443)));
2002 } 2009 }
2003 2010
2004 TEST_P(QuicNetworkTransactionTest, ZeroRTTWithNoHttpRace) { 2011 TEST_P(QuicNetworkTransactionTest, ZeroRTTWithNoHttpRace) {
2005 MockQuicData mock_quic_data; 2012 MockQuicData mock_quic_data;
2006 mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( 2013 mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket(
2007 1, kClientDataStreamId1, true, true, 2014 1, kClientDataStreamId1, true, true,
2008 GetRequestHeaders("GET", "https", "/"))); 2015 GetRequestHeaders("GET", "https", "/")));
2009 mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( 2016 mock_quic_data.AddRead(ConstructServerResponseHeadersPacket(
2010 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); 2017 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
2011 mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1, 2018 mock_quic_data.AddRead(ConstructServerDataPacket(2, kClientDataStreamId1,
(...skipping 1495 matching lines...) Expand 10 before | Expand all | Expand 10 after
3507 AddHangingSocketData(); 3514 AddHangingSocketData();
3508 3515
3509 SendRequestAndExpectQuicResponse(origin1_); 3516 SendRequestAndExpectQuicResponse(origin1_);
3510 SendRequestAndExpectQuicResponse(origin2_); 3517 SendRequestAndExpectQuicResponse(origin2_);
3511 3518
3512 EXPECT_TRUE(AllDataConsumed()); 3519 EXPECT_TRUE(AllDataConsumed());
3513 } 3520 }
3514 3521
3515 } // namespace test 3522 } // namespace test
3516 } // namespace net 3523 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698