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

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

Issue 1808303005: QUIC - extend origin-to-force-quic-on command line option to accept list (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed comments for Patch Set 1 Created 4 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 unified diff | Download patch
« no previous file with comments | « net/quic/quic_end_to_end_unittest.cc ('k') | no next file » | 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 <vector> 5 #include <vector>
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 CheckResponseData(trans, expected); 614 CheckResponseData(trans, expected);
615 EXPECT_EQ(used_proxy, proxy_headers_handler.was_called()); 615 EXPECT_EQ(used_proxy, proxy_headers_handler.was_called());
616 } 616 }
617 }; 617 };
618 618
619 INSTANTIATE_TEST_CASE_P(Version, 619 INSTANTIATE_TEST_CASE_P(Version,
620 QuicNetworkTransactionTest, 620 QuicNetworkTransactionTest,
621 ::testing::ValuesIn(QuicSupportedVersions())); 621 ::testing::ValuesIn(QuicSupportedVersions()));
622 622
623 TEST_P(QuicNetworkTransactionTest, ForceQuic) { 623 TEST_P(QuicNetworkTransactionTest, ForceQuic) {
624 params_.origin_to_force_quic_on = 624 params_.origins_to_force_quic_on.insert(
625 HostPortPair::FromString("mail.example.org:443"); 625 HostPortPair::FromString("mail.example.org:443"));
626 626
627 MockQuicData mock_quic_data; 627 MockQuicData mock_quic_data;
628 mock_quic_data.AddWrite( 628 mock_quic_data.AddWrite(
629 ConstructRequestHeadersPacket(1, kClientDataStreamId1, true, true, 629 ConstructRequestHeadersPacket(1, kClientDataStreamId1, true, true,
630 GetRequestHeaders("GET", "https", "/"))); 630 GetRequestHeaders("GET", "https", "/")));
631 mock_quic_data.AddRead(ConstructResponseHeadersPacket( 631 mock_quic_data.AddRead(ConstructResponseHeadersPacket(
632 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK"))); 632 1, kClientDataStreamId1, false, false, GetResponseHeaders("200 OK")));
633 mock_quic_data.AddRead( 633 mock_quic_data.AddRead(
634 ConstructDataPacket(2, kClientDataStreamId1, false, true, 0, "hello!")); 634 ConstructDataPacket(2, kClientDataStreamId1, false, true, 0, "hello!"));
635 mock_quic_data.AddWrite(ConstructAckPacket(2, 1)); 635 mock_quic_data.AddWrite(ConstructAckPacket(2, 1));
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
802 request_.url = GURL("https://" + origin.host()); 802 request_.url = GURL("https://" + origin.host());
803 AddQuicRemoteAlternativeServiceMapping( 803 AddQuicRemoteAlternativeServiceMapping(
804 MockCryptoClientStream::CONFIRM_HANDSHAKE, alternative); 804 MockCryptoClientStream::CONFIRM_HANDSHAKE, alternative);
805 AddHangingNonAlternateProtocolSocketData(); 805 AddHangingNonAlternateProtocolSocketData();
806 CreateSession(); 806 CreateSession();
807 807
808 SendRequestAndExpectQuicResponse("hello!"); 808 SendRequestAndExpectQuicResponse("hello!");
809 } 809 }
810 810
811 TEST_P(QuicNetworkTransactionTest, ForceQuicWithErrorConnecting) { 811 TEST_P(QuicNetworkTransactionTest, ForceQuicWithErrorConnecting) {
812 params_.origin_to_force_quic_on = 812 params_.origins_to_force_quic_on.insert(
813 HostPortPair::FromString("mail.example.org:443"); 813 HostPortPair::FromString("mail.example.org:443"));
814 814
815 MockQuicData mock_quic_data1; 815 MockQuicData mock_quic_data1;
816 mock_quic_data1.AddRead(ASYNC, ERR_SOCKET_NOT_CONNECTED); 816 mock_quic_data1.AddRead(ASYNC, ERR_SOCKET_NOT_CONNECTED);
817 817
818 MockQuicData mock_quic_data2; 818 MockQuicData mock_quic_data2;
819 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details_); 819 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details_);
820 mock_quic_data2.AddRead(ASYNC, ERR_SOCKET_NOT_CONNECTED); 820 mock_quic_data2.AddRead(ASYNC, ERR_SOCKET_NOT_CONNECTED);
821 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details_); 821 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details_);
822 822
823 mock_quic_data1.AddSocketDataToFactory(&socket_factory_); 823 mock_quic_data1.AddSocketDataToFactory(&socket_factory_);
(...skipping 10 matching lines...) Expand all
834 TestCompletionCallback callback; 834 TestCompletionCallback callback;
835 int rv = trans->Start(&request_, callback.callback(), net_log_.bound()); 835 int rv = trans->Start(&request_, callback.callback(), net_log_.bound());
836 EXPECT_EQ(ERR_IO_PENDING, rv); 836 EXPECT_EQ(ERR_IO_PENDING, rv);
837 EXPECT_EQ(ERR_CONNECTION_CLOSED, callback.WaitForResult()); 837 EXPECT_EQ(ERR_CONNECTION_CLOSED, callback.WaitForResult());
838 EXPECT_EQ(1 + i, test_network_quality_estimator_->watcher_count()); 838 EXPECT_EQ(1 + i, test_network_quality_estimator_->watcher_count());
839 } 839 }
840 } 840 }
841 841
842 TEST_P(QuicNetworkTransactionTest, DoNotForceQuicForHttps) { 842 TEST_P(QuicNetworkTransactionTest, DoNotForceQuicForHttps) {
843 // Attempt to "force" quic on 443, which will not be honored. 843 // Attempt to "force" quic on 443, which will not be honored.
844 params_.origin_to_force_quic_on = 844 params_.origins_to_force_quic_on.insert(
845 HostPortPair::FromString("www.google.com:443"); 845 HostPortPair::FromString("www.google.com:443"));
846 846
847 MockRead http_reads[] = { 847 MockRead http_reads[] = {
848 MockRead("HTTP/1.1 200 OK\r\n\r\n"), MockRead("hello world"), 848 MockRead("HTTP/1.1 200 OK\r\n\r\n"), MockRead("hello world"),
849 MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ), 849 MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ),
850 MockRead(ASYNC, OK)}; 850 MockRead(ASYNC, OK)};
851 851
852 StaticSocketDataProvider data(http_reads, arraysize(http_reads), nullptr, 0); 852 StaticSocketDataProvider data(http_reads, arraysize(http_reads), nullptr, 0);
853 socket_factory_.AddSocketDataProvider(&data); 853 socket_factory_.AddSocketDataProvider(&data);
854 SSLSocketDataProvider ssl(ASYNC, OK); 854 SSLSocketDataProvider ssl(ASYNC, OK);
855 socket_factory_.AddSSLSocketDataProvider(&ssl); 855 socket_factory_.AddSSLSocketDataProvider(&ssl);
(...skipping 1373 matching lines...) Expand 10 before | Expand all | Expand 10 after
2229 2229
2230 request_.url = GURL("https://www.example.org:443"); 2230 request_.url = GURL("https://www.example.org:443");
2231 AddHangingNonAlternateProtocolSocketData(); 2231 AddHangingNonAlternateProtocolSocketData();
2232 CreateSession(); 2232 CreateSession();
2233 AddQuicAlternateProtocolMapping(MockCryptoClientStream::CONFIRM_HANDSHAKE); 2233 AddQuicAlternateProtocolMapping(MockCryptoClientStream::CONFIRM_HANDSHAKE);
2234 SendRequestAndExpectQuicResponse("hello!"); 2234 SendRequestAndExpectQuicResponse("hello!");
2235 EXPECT_TRUE(rtt_observer_.rtt_notification_received()); 2235 EXPECT_TRUE(rtt_observer_.rtt_notification_received());
2236 } 2236 }
2237 2237
2238 TEST_P(QuicNetworkTransactionTest, QuicUpload) { 2238 TEST_P(QuicNetworkTransactionTest, QuicUpload) {
2239 params_.origin_to_force_quic_on = 2239 params_.origins_to_force_quic_on.insert(
2240 HostPortPair::FromString("mail.example.org:443"); 2240 HostPortPair::FromString("mail.example.org:443"));
2241 2241
2242 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)}; 2242 MockRead reads[] = {MockRead(SYNCHRONOUS, ERR_IO_PENDING, 0)};
2243 MockWrite writes[] = {MockWrite(SYNCHRONOUS, ERR_FAILED, 1)}; 2243 MockWrite writes[] = {MockWrite(SYNCHRONOUS, ERR_FAILED, 1)};
2244 SequencedSocketData socket_data(reads, arraysize(reads), writes, 2244 SequencedSocketData socket_data(reads, arraysize(reads), writes,
2245 arraysize(writes)); 2245 arraysize(writes));
2246 socket_factory_.AddSocketDataProvider(&socket_data); 2246 socket_factory_.AddSocketDataProvider(&socket_data);
2247 2247
2248 // The non-alternate protocol job needs to hang in order to guarantee that 2248 // The non-alternate protocol job needs to hang in order to guarantee that
2249 // the alternate-protocol job will "win". 2249 // the alternate-protocol job will "win".
2250 AddHangingNonAlternateProtocolSocketData(); 2250 AddHangingNonAlternateProtocolSocketData();
(...skipping 10 matching lines...) Expand all
2261 scoped_ptr<HttpNetworkTransaction> trans( 2261 scoped_ptr<HttpNetworkTransaction> trans(
2262 new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get())); 2262 new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get()));
2263 TestCompletionCallback callback; 2263 TestCompletionCallback callback;
2264 int rv = trans->Start(&request_, callback.callback(), net_log_.bound()); 2264 int rv = trans->Start(&request_, callback.callback(), net_log_.bound());
2265 EXPECT_EQ(ERR_IO_PENDING, rv); 2265 EXPECT_EQ(ERR_IO_PENDING, rv);
2266 EXPECT_NE(OK, callback.WaitForResult()); 2266 EXPECT_NE(OK, callback.WaitForResult());
2267 } 2267 }
2268 2268
2269 } // namespace test 2269 } // namespace test
2270 } // namespace net 2270 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_end_to_end_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698