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

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

Issue 2537993003: Remove the unused QUIC port selection logic. (Closed)
Patch Set: Remove obsolete tests Created 4 years 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/chromium/quic_stream_factory.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 "net/quic/chromium/quic_stream_factory.h" 5 #include "net/quic/chromium/quic_stream_factory.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <ostream> 8 #include <ostream>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 base::ThreadTaskRunnerHandle::Get())), 236 base::ThreadTaskRunnerHandle::Get())),
237 cert_transparency_verifier_(new MultiLogCTVerifier()), 237 cert_transparency_verifier_(new MultiLogCTVerifier()),
238 scoped_mock_network_change_notifier_(nullptr), 238 scoped_mock_network_change_notifier_(nullptr),
239 factory_(nullptr), 239 factory_(nullptr),
240 host_port_pair_(kDefaultServerHostName, kDefaultServerPort), 240 host_port_pair_(kDefaultServerHostName, kDefaultServerPort),
241 url_(kDefaultUrl), 241 url_(kDefaultUrl),
242 url2_(kServer2Url), 242 url2_(kServer2Url),
243 url3_(kServer3Url), 243 url3_(kServer3Url),
244 url4_(kServer4Url), 244 url4_(kServer4Url),
245 privacy_mode_(PRIVACY_MODE_DISABLED), 245 privacy_mode_(PRIVACY_MODE_DISABLED),
246 enable_port_selection_(true),
247 always_require_handshake_confirmation_(false), 246 always_require_handshake_confirmation_(false),
248 disable_connection_pooling_(false), 247 disable_connection_pooling_(false),
249 load_server_info_timeout_srtt_multiplier_(0.0f), 248 load_server_info_timeout_srtt_multiplier_(0.0f),
250 enable_connection_racing_(enable_connection_racing), 249 enable_connection_racing_(enable_connection_racing),
251 enable_non_blocking_io_(true), 250 enable_non_blocking_io_(true),
252 disable_disk_cache_(false), 251 disable_disk_cache_(false),
253 prefer_aes_(false), 252 prefer_aes_(false),
254 receive_buffer_size_(0), 253 receive_buffer_size_(0),
255 delay_tcp_race_(true), 254 delay_tcp_race_(true),
256 close_sessions_on_ip_change_(false), 255 close_sessions_on_ip_change_(false),
(...skipping 20 matching lines...) Expand all
277 void Initialize() { 276 void Initialize() {
278 DCHECK(!factory_); 277 DCHECK(!factory_);
279 factory_.reset(new QuicStreamFactory( 278 factory_.reset(new QuicStreamFactory(
280 net_log_.net_log(), &host_resolver_, ssl_config_service_.get(), 279 net_log_.net_log(), &host_resolver_, ssl_config_service_.get(),
281 &socket_factory_, &http_server_properties_, &test_proxy_delegate_, 280 &socket_factory_, &http_server_properties_, &test_proxy_delegate_,
282 cert_verifier_.get(), &ct_policy_enforcer_, channel_id_service_.get(), 281 cert_verifier_.get(), &ct_policy_enforcer_, channel_id_service_.get(),
283 &transport_security_state_, cert_transparency_verifier_.get(), 282 &transport_security_state_, cert_transparency_verifier_.get(),
284 /*SocketPerformanceWatcherFactory*/ nullptr, 283 /*SocketPerformanceWatcherFactory*/ nullptr,
285 &crypto_client_stream_factory_, &random_generator_, clock_, 284 &crypto_client_stream_factory_, &random_generator_, clock_,
286 kDefaultMaxPacketSize, string(), SupportedVersions(version_), 285 kDefaultMaxPacketSize, string(), SupportedVersions(version_),
287 enable_port_selection_, always_require_handshake_confirmation_, 286 always_require_handshake_confirmation_, disable_connection_pooling_,
288 disable_connection_pooling_, load_server_info_timeout_srtt_multiplier_, 287 load_server_info_timeout_srtt_multiplier_, enable_connection_racing_,
289 enable_connection_racing_, enable_non_blocking_io_, disable_disk_cache_, 288 enable_non_blocking_io_, disable_disk_cache_, prefer_aes_,
290 prefer_aes_, receive_buffer_size_, delay_tcp_race_, 289 receive_buffer_size_, delay_tcp_race_,
291 /*max_server_configs_stored_in_properties*/ 0, 290 /*max_server_configs_stored_in_properties*/ 0,
292 close_sessions_on_ip_change_, 291 close_sessions_on_ip_change_,
293 disable_quic_on_timeout_with_open_streams_, 292 disable_quic_on_timeout_with_open_streams_,
294 idle_connection_timeout_seconds_, reduced_ping_timeout_seconds_, 293 idle_connection_timeout_seconds_, reduced_ping_timeout_seconds_,
295 packet_reader_yield_after_duration_milliseconds_, 294 packet_reader_yield_after_duration_milliseconds_,
296 migrate_sessions_on_network_change_, migrate_sessions_early_, 295 migrate_sessions_on_network_change_, migrate_sessions_early_,
297 allow_server_migration_, force_hol_blocking_, race_cert_verification_, 296 allow_server_migration_, force_hol_blocking_, race_cert_verification_,
298 /*do_not_fragment*/ true, QuicTagVector(), 297 /*do_not_fragment*/ true, QuicTagVector(),
299 /*enable_token_binding*/ false)); 298 /*enable_token_binding*/ false));
300 factory_->set_require_confirmation(false); 299 factory_->set_require_confirmation(false);
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
728 GURL url_; 727 GURL url_;
729 GURL url2_; 728 GURL url2_;
730 GURL url3_; 729 GURL url3_;
731 GURL url4_; 730 GURL url4_;
732 731
733 PrivacyMode privacy_mode_; 732 PrivacyMode privacy_mode_;
734 NetLogWithSource net_log_; 733 NetLogWithSource net_log_;
735 TestCompletionCallback callback_; 734 TestCompletionCallback callback_;
736 735
737 // Variables to configure QuicStreamFactory. 736 // Variables to configure QuicStreamFactory.
738 bool enable_port_selection_;
739 bool always_require_handshake_confirmation_; 737 bool always_require_handshake_confirmation_;
740 bool disable_connection_pooling_; 738 bool disable_connection_pooling_;
741 double load_server_info_timeout_srtt_multiplier_; 739 double load_server_info_timeout_srtt_multiplier_;
742 bool enable_connection_racing_; 740 bool enable_connection_racing_;
743 bool enable_non_blocking_io_; 741 bool enable_non_blocking_io_;
744 bool disable_disk_cache_; 742 bool disable_disk_cache_;
745 bool prefer_aes_; 743 bool prefer_aes_;
746 int receive_buffer_size_; 744 int receive_buffer_size_;
747 bool delay_tcp_race_; 745 bool delay_tcp_race_;
748 bool close_sessions_on_ip_change_; 746 bool close_sessions_on_ip_change_;
(...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after
1506 base::RunLoop().RunUntilIdle(); 1504 base::RunLoop().RunUntilIdle();
1507 1505
1508 std::unique_ptr<QuicHttpStream> stream(CreateFromSession(host_port_pair_)); 1506 std::unique_ptr<QuicHttpStream> stream(CreateFromSession(host_port_pair_));
1509 EXPECT_TRUE(stream.get()); 1507 EXPECT_TRUE(stream.get());
1510 stream.reset(); 1508 stream.reset();
1511 1509
1512 EXPECT_TRUE(socket_data.AllReadDataConsumed()); 1510 EXPECT_TRUE(socket_data.AllReadDataConsumed());
1513 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); 1511 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
1514 } 1512 }
1515 1513
1516 TEST_P(QuicStreamFactoryTest, CreateConsistentEphemeralPort) {
1517 Initialize();
1518 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails();
1519 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
1520 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
1521 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
1522
1523 // Sequentially connect to the default host, then another host, and then the
1524 // default host. Verify that the default host gets a consistent ephemeral
1525 // port, that is different from the other host's connection.
1526
1527 string other_server_name = kServer2HostName;
1528 EXPECT_NE(kDefaultServerHostName, other_server_name);
1529 HostPortPair host_port_pair2(other_server_name, kDefaultServerPort);
1530
1531 int original_port = GetSourcePortForNewSession(host_port_pair_);
1532 EXPECT_NE(original_port, GetSourcePortForNewSession(host_port_pair2));
1533 EXPECT_EQ(original_port, GetSourcePortForNewSession(host_port_pair_));
1534 }
1535
1536 TEST_P(QuicStreamFactoryTest, GoAwayDisablesConsistentEphemeralPort) {
1537 Initialize();
1538 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails();
1539 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
1540 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
1541 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
1542
1543 // Get a session to the host using the port suggester.
1544 int original_port = GetSourcePortForNewSessionAndGoAway(host_port_pair_);
1545 // Verify that the port is different after the goaway.
1546 EXPECT_NE(original_port, GetSourcePortForNewSession(host_port_pair_));
1547 // Since the previous session did not goaway we should see the original port.
1548 EXPECT_EQ(original_port, GetSourcePortForNewSession(host_port_pair_));
1549 }
1550
1551 TEST_P(QuicStreamFactoryTest, CloseAllSessions) { 1514 TEST_P(QuicStreamFactoryTest, CloseAllSessions) {
1552 Initialize(); 1515 Initialize();
1553 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); 1516 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails();
1554 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); 1517 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
1555 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); 1518 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
1556 1519
1557 MockQuicData socket_data; 1520 MockQuicData socket_data;
1558 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING); 1521 socket_data.AddRead(SYNCHRONOUS, ERR_IO_PENDING);
1559 socket_data.AddWrite(ConstructClientRstPacket()); 1522 socket_data.AddWrite(ConstructClientRstPacket());
1560 socket_data.AddSocketDataToFactory(&socket_factory_); 1523 socket_data.AddSocketDataToFactory(&socket_factory_);
(...skipping 3699 matching lines...) Expand 10 before | Expand all | Expand 10 after
5260 // Clear all cached states. 5223 // Clear all cached states.
5261 factory_->ClearCachedStatesInCryptoConfig( 5224 factory_->ClearCachedStatesInCryptoConfig(
5262 base::Callback<bool(const GURL&)>()); 5225 base::Callback<bool(const GURL&)>());
5263 EXPECT_TRUE(test_cases[0].state->certs().empty()); 5226 EXPECT_TRUE(test_cases[0].state->certs().empty());
5264 EXPECT_TRUE(test_cases[1].state->certs().empty()); 5227 EXPECT_TRUE(test_cases[1].state->certs().empty());
5265 EXPECT_TRUE(test_cases[2].state->certs().empty()); 5228 EXPECT_TRUE(test_cases[2].state->certs().empty());
5266 } 5229 }
5267 5230
5268 } // namespace test 5231 } // namespace test
5269 } // namespace net 5232 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/chromium/quic_stream_factory.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698