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

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

Issue 665083009: ABANDONED Handle multiple AlternateProtocols for each HostPortPair. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
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/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 scoped_ptr<HttpNetworkTransaction> trans( 269 scoped_ptr<HttpNetworkTransaction> trans(
270 new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get())); 270 new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get()));
271 RunTransaction(trans.get()); 271 RunTransaction(trans.get());
272 CheckWasQuicResponse(trans); 272 CheckWasQuicResponse(trans);
273 CheckResponseData(trans.get(), expected); 273 CheckResponseData(trans.get(), expected);
274 } 274 }
275 275
276 void AddQuicAlternateProtocolMapping( 276 void AddQuicAlternateProtocolMapping(
277 MockCryptoClientStream::HandshakeMode handshake_mode) { 277 MockCryptoClientStream::HandshakeMode handshake_mode) {
278 crypto_client_stream_factory_.set_handshake_mode(handshake_mode); 278 crypto_client_stream_factory_.set_handshake_mode(handshake_mode);
279 session_->http_server_properties()->SetAlternateProtocol( 279 session_->http_server_properties()->AddAlternateProtocol(
280 HostPortPair::FromURL(request_.url), 80, QUIC, 1); 280 HostPortPair::FromURL(request_.url), 80, QUIC, 1);
281 } 281 }
282 282
283 void ExpectBrokenAlternateProtocolMapping() { 283 void ExpectBrokenAlternateProtocolMapping() {
284 ASSERT_TRUE(session_->http_server_properties()->HasAlternateProtocol( 284 ASSERT_TRUE(session_->http_server_properties()->HasAlternateProtocol(
285 HostPortPair::FromURL(request_.url))); 285 HostPortPair::FromURL(request_.url)));
286 const AlternateProtocolInfo alternate = 286 const AlternateProtocols alternate_protocols =
287 session_->http_server_properties()->GetAlternateProtocol( 287 session_->http_server_properties()->GetAlternateProtocol(
288 HostPortPair::FromURL(request_.url)); 288 HostPortPair::FromURL(request_.url));
289 EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, alternate.protocol); 289 for (AlternateProtocols::const_iterator it = alternate_protocols.begin();
290 it != alternate_protocols.end();
291 ++it) {
292 if (it->protocol == ALTERNATE_PROTOCOL_BROKEN) {
293 return;
294 }
295 }
296 EXPECT_FALSE(true) << "No broken protocol found.";
290 } 297 }
291 298
292 void ExpectQuicAlternateProtocolMapping() { 299 void ExpectQuicAlternateProtocolMapping() {
293 ASSERT_TRUE(session_->http_server_properties()->HasAlternateProtocol( 300 ASSERT_TRUE(session_->http_server_properties()->HasAlternateProtocol(
294 HostPortPair::FromURL(request_.url))); 301 HostPortPair::FromURL(request_.url)));
295 const AlternateProtocolInfo alternate = 302 const AlternateProtocols alternate_protocols =
296 session_->http_server_properties()->GetAlternateProtocol( 303 session_->http_server_properties()->GetAlternateProtocol(
297 HostPortPair::FromURL(request_.url)); 304 HostPortPair::FromURL(request_.url));
298 EXPECT_EQ(QUIC, alternate.protocol); 305 ASSERT_EQ(1u, alternate_protocols.size());
306 EXPECT_EQ(QUIC, alternate_protocols[0].protocol);
299 } 307 }
300 308
301 void AddHangingNonAlternateProtocolSocketData() { 309 void AddHangingNonAlternateProtocolSocketData() {
302 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING); 310 MockConnect hanging_connect(SYNCHRONOUS, ERR_IO_PENDING);
303 hanging_data_.set_connect_data(hanging_connect); 311 hanging_data_.set_connect_data(hanging_connect);
304 socket_factory_.AddSocketDataProvider(&hanging_data_); 312 socket_factory_.AddSocketDataProvider(&hanging_data_);
305 } 313 }
306 314
307 MockClock* clock_; // Owned by QuicStreamFactory after CreateSession. 315 MockClock* clock_; // Owned by QuicStreamFactory after CreateSession.
308 QuicTestPacketMaker maker_; 316 QuicTestPacketMaker maker_;
(...skipping 723 matching lines...) Expand 10 before | Expand all | Expand 10 after
1032 nullptr, 1040 nullptr,
1033 net_log_.bound()); 1041 net_log_.bound());
1034 1042
1035 CreateSessionWithNextProtos(); 1043 CreateSessionWithNextProtos();
1036 AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT); 1044 AddQuicAlternateProtocolMapping(MockCryptoClientStream::ZERO_RTT);
1037 SendRequestAndExpectHttpResponse("hello world"); 1045 SendRequestAndExpectHttpResponse("hello world");
1038 } 1046 }
1039 1047
1040 } // namespace test 1048 } // namespace test
1041 } // namespace net 1049 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698