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

Side by Side Diff: net/http/http_server_properties_impl_unittest.cc

Issue 1018943002: Update HttpServerProperties::*AlternateProtocol* interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 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
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/http/http_server_properties_impl.h" 5 #include "net/http/http_server_properties_impl.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 HostPortPair spdy_server_mail("mail.google.com", 443); 111 HostPortPair spdy_server_mail("mail.google.com", 443);
112 EXPECT_FALSE(impl_.SupportsRequestPriority(spdy_server_mail)); 112 EXPECT_FALSE(impl_.SupportsRequestPriority(spdy_server_mail));
113 113
114 // Add docs.google.com:443 as supporting SPDY. 114 // Add docs.google.com:443 as supporting SPDY.
115 HostPortPair spdy_server_docs("docs.google.com", 443); 115 HostPortPair spdy_server_docs("docs.google.com", 443);
116 impl_.SetSupportsSpdy(spdy_server_docs, true); 116 impl_.SetSupportsSpdy(spdy_server_docs, true);
117 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_docs)); 117 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_docs));
118 118
119 // Add www.youtube.com:443 as supporting QUIC. 119 // Add www.youtube.com:443 as supporting QUIC.
120 HostPortPair quic_server_youtube("www.youtube.com", 443); 120 HostPortPair quic_server_youtube("www.youtube.com", 443);
121 impl_.SetAlternateProtocol(quic_server_youtube, 443, QUIC, 1); 121 const AlternativeService alternative_service(QUIC, "www.youtube.com", 443);
122 impl_.SetAlternativeService(quic_server_youtube, alternative_service, 1.0);
122 EXPECT_TRUE(impl_.SupportsRequestPriority(quic_server_youtube)); 123 EXPECT_TRUE(impl_.SupportsRequestPriority(quic_server_youtube));
123 124
124 // Verify all the entries are the same after additions. 125 // Verify all the entries are the same after additions.
125 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_google)); 126 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_google));
126 EXPECT_FALSE(impl_.SupportsRequestPriority(spdy_server_mail)); 127 EXPECT_FALSE(impl_.SupportsRequestPriority(spdy_server_mail));
127 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_docs)); 128 EXPECT_TRUE(impl_.SupportsRequestPriority(spdy_server_docs));
128 EXPECT_TRUE(impl_.SupportsRequestPriority(quic_server_youtube)); 129 EXPECT_TRUE(impl_.SupportsRequestPriority(quic_server_youtube));
129 } 130 }
130 131
131 TEST_F(SpdyServerPropertiesTest, Clear) { 132 TEST_F(SpdyServerPropertiesTest, Clear) {
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 ASSERT_EQ(spdy_server_g, string_value_g); 237 ASSERT_EQ(spdy_server_g, string_value_g);
237 ASSERT_TRUE(spdy_server_list.GetString(1, &string_value_m)); 238 ASSERT_TRUE(spdy_server_list.GetString(1, &string_value_m));
238 ASSERT_EQ(spdy_server_m, string_value_m); 239 ASSERT_EQ(spdy_server_m, string_value_m);
239 } 240 }
240 241
241 typedef HttpServerPropertiesImplTest AlternateProtocolServerPropertiesTest; 242 typedef HttpServerPropertiesImplTest AlternateProtocolServerPropertiesTest;
242 243
243 TEST_F(AlternateProtocolServerPropertiesTest, Basic) { 244 TEST_F(AlternateProtocolServerPropertiesTest, Basic) {
244 HostPortPair test_host_port_pair("foo", 80); 245 HostPortPair test_host_port_pair("foo", 80);
245 EXPECT_FALSE(HasAlternativeService(test_host_port_pair)); 246 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
246 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1.0); 247
248 AlternativeService alternative_service(NPN_SPDY_3, "foo", 443);
249 impl_.SetAlternativeService(test_host_port_pair, alternative_service, 1.0);
247 ASSERT_TRUE(HasAlternativeService(test_host_port_pair)); 250 ASSERT_TRUE(HasAlternativeService(test_host_port_pair));
248 const AlternativeService alternative_service = 251 alternative_service = impl_.GetAlternativeService(test_host_port_pair);
249 impl_.GetAlternativeService(test_host_port_pair);
250 EXPECT_EQ(443, alternative_service.port); 252 EXPECT_EQ(443, alternative_service.port);
251 EXPECT_EQ(NPN_SPDY_3, alternative_service.protocol); 253 EXPECT_EQ(NPN_SPDY_3, alternative_service.protocol);
252 254
253 impl_.Clear(); 255 impl_.Clear();
254 EXPECT_FALSE(HasAlternativeService(test_host_port_pair)); 256 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
255 } 257 }
256 258
257 TEST_F(AlternateProtocolServerPropertiesTest, DefaultProbabilityExcluded) { 259 TEST_F(AlternateProtocolServerPropertiesTest, DefaultProbabilityExcluded) {
258 HostPortPair test_host_port_pair("foo", 80); 260 HostPortPair test_host_port_pair("foo", 80);
259 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .99); 261 const AlternativeService alternative_service(NPN_SPDY_3, "foo", 443);
262 impl_.SetAlternativeService(test_host_port_pair, alternative_service, 0.99);
260 263
261 EXPECT_FALSE(HasAlternativeService(test_host_port_pair)); 264 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
262 } 265 }
263 266
264 TEST_F(AlternateProtocolServerPropertiesTest, Probability) { 267 TEST_F(AlternateProtocolServerPropertiesTest, Probability) {
265 impl_.SetAlternateProtocolProbabilityThreshold(.25); 268 impl_.SetAlternateProtocolProbabilityThreshold(0.25);
266 269
267 HostPortPair test_host_port_pair("foo", 80); 270 HostPortPair test_host_port_pair("foo", 80);
268 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 0.5); 271 const AlternativeService alternative_service(NPN_SPDY_3, "foo", 443);
272 impl_.SetAlternativeService(test_host_port_pair, alternative_service, 0.5);
273 EXPECT_TRUE(HasAlternativeService(test_host_port_pair));
269 274
270 AlternateProtocolMap::const_iterator it = 275 AlternateProtocolMap::const_iterator it =
271 impl_.alternate_protocol_map().Peek(test_host_port_pair); 276 impl_.alternate_protocol_map().Peek(test_host_port_pair);
272 EXPECT_TRUE(it != impl_.alternate_protocol_map().end()); 277 EXPECT_TRUE(it != impl_.alternate_protocol_map().end());
273 EXPECT_EQ(443, it->second.port); 278 EXPECT_EQ(443, it->second.port);
274 EXPECT_EQ(NPN_SPDY_3, it->second.protocol); 279 EXPECT_EQ(NPN_SPDY_3, it->second.protocol);
275 EXPECT_EQ(0.5, it->second.probability); 280 EXPECT_EQ(0.5, it->second.probability);
276 } 281 }
277 282
278 TEST_F(AlternateProtocolServerPropertiesTest, ProbabilityExcluded) { 283 TEST_F(AlternateProtocolServerPropertiesTest, ProbabilityExcluded) {
279 impl_.SetAlternateProtocolProbabilityThreshold(.75); 284 impl_.SetAlternateProtocolProbabilityThreshold(0.75);
280 285
281 HostPortPair test_host_port_pair("foo", 80); 286 HostPortPair test_host_port_pair("foo", 80);
282 287 const AlternativeService alternative_service(NPN_SPDY_3, "foo", 443);
283 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .5); 288 impl_.SetAlternativeService(test_host_port_pair, alternative_service, 0.5);
284 EXPECT_FALSE(HasAlternativeService(test_host_port_pair)); 289 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
285 } 290 }
286 291
287 TEST_F(AlternateProtocolServerPropertiesTest, Initialize) { 292 TEST_F(AlternateProtocolServerPropertiesTest, Initialize) {
288 HostPortPair test_host_port_pair1("foo1", 80); 293 HostPortPair test_host_port_pair1("foo1", 80);
289 impl_.SetAlternateProtocol(test_host_port_pair1, 443, NPN_SPDY_3, 1.0); 294 const AlternativeService alternative_service1(NPN_SPDY_3, "foo1", 443);
290 impl_.SetBrokenAlternateProtocol(test_host_port_pair1); 295 impl_.SetAlternativeService(test_host_port_pair1, alternative_service1, 1.0);
296 impl_.MarkAlternativeServiceBroken(alternative_service1);
297
291 HostPortPair test_host_port_pair2("foo2", 80); 298 HostPortPair test_host_port_pair2("foo2", 80);
292 impl_.SetAlternateProtocol(test_host_port_pair2, 443, NPN_SPDY_3, 1.0); 299 const AlternativeService alternative_service2(NPN_SPDY_3, "foo2", 443);
300 impl_.SetAlternativeService(test_host_port_pair2, alternative_service2, 1.0);
293 301
294 AlternateProtocolMap alternate_protocol_map( 302 AlternateProtocolMap alternate_protocol_map(
295 AlternateProtocolMap::NO_AUTO_EVICT); 303 AlternateProtocolMap::NO_AUTO_EVICT);
296 AlternateProtocolInfo alternate(123, NPN_SPDY_3, 1); 304 AlternateProtocolInfo alternate(123, NPN_SPDY_3, 1);
297 alternate_protocol_map.Put(test_host_port_pair2, alternate); 305 alternate_protocol_map.Put(test_host_port_pair2, alternate);
298 HostPortPair test_host_port_pair3("foo3", 80); 306 HostPortPair test_host_port_pair3("foo3", 80);
299 alternate.port = 1234; 307 alternate.port = 1234;
300 alternate_protocol_map.Put(test_host_port_pair3, alternate); 308 alternate_protocol_map.Put(test_host_port_pair3, alternate);
301 impl_.InitializeAlternateProtocolServers(&alternate_protocol_map); 309 impl_.InitializeAlternateProtocolServers(&alternate_protocol_map);
302 310
303 // Verify test_host_port_pair3 is the MRU server. 311 // Verify test_host_port_pair3 is the MRU server.
304 const AlternateProtocolMap& map = impl_.alternate_protocol_map(); 312 const AlternateProtocolMap& map = impl_.alternate_protocol_map();
305 AlternateProtocolMap::const_iterator it = map.begin(); 313 AlternateProtocolMap::const_iterator it = map.begin();
306 EXPECT_TRUE(it->first.Equals(test_host_port_pair3)); 314 EXPECT_TRUE(it->first.Equals(test_host_port_pair3));
307 EXPECT_EQ(1234, it->second.port); 315 EXPECT_EQ(1234, it->second.port);
308 EXPECT_EQ(NPN_SPDY_3, it->second.protocol); 316 EXPECT_EQ(NPN_SPDY_3, it->second.protocol);
309 317
310 ASSERT_TRUE(HasAlternativeService(test_host_port_pair1)); 318 ASSERT_TRUE(HasAlternativeService(test_host_port_pair1));
311 AlternativeService alternative_service(NPN_SPDY_3, 319 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service1));
312 test_host_port_pair1.host(), 443); 320 AlternativeService alternative_service =
313 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service)); 321 impl_.GetAlternativeService(test_host_port_pair2);
314 alternative_service = impl_.GetAlternativeService(test_host_port_pair2);
315 EXPECT_EQ(123, alternative_service.port); 322 EXPECT_EQ(123, alternative_service.port);
316 EXPECT_EQ(NPN_SPDY_3, alternative_service.protocol); 323 EXPECT_EQ(NPN_SPDY_3, alternative_service.protocol);
317 } 324 }
318 325
319 TEST_F(AlternateProtocolServerPropertiesTest, MRUOfGetAlternateProtocol) { 326 TEST_F(AlternateProtocolServerPropertiesTest, MRUOfGetAlternateProtocol) {
320 HostPortPair test_host_port_pair1("foo1", 80); 327 HostPortPair test_host_port_pair1("foo1", 80);
321 impl_.SetAlternateProtocol(test_host_port_pair1, 443, NPN_SPDY_3, 1.0); 328 const AlternativeService alternative_service1(NPN_SPDY_3, "foo1", 443);
329 impl_.SetAlternativeService(test_host_port_pair1, alternative_service1, 1.0);
322 HostPortPair test_host_port_pair2("foo2", 80); 330 HostPortPair test_host_port_pair2("foo2", 80);
323 impl_.SetAlternateProtocol(test_host_port_pair2, 1234, NPN_SPDY_3, 1.0); 331 const AlternativeService alternative_service2(NPN_SPDY_3, "foo2", 1234);
332 impl_.SetAlternativeService(test_host_port_pair2, alternative_service2, 1.0);
324 333
325 const AlternateProtocolMap& map = impl_.alternate_protocol_map(); 334 const AlternateProtocolMap& map = impl_.alternate_protocol_map();
326 AlternateProtocolMap::const_iterator it = map.begin(); 335 AlternateProtocolMap::const_iterator it = map.begin();
327 EXPECT_TRUE(it->first.Equals(test_host_port_pair2)); 336 EXPECT_TRUE(it->first.Equals(test_host_port_pair2));
328 EXPECT_EQ(1234, it->second.port); 337 EXPECT_EQ(1234, it->second.port);
329 EXPECT_EQ(NPN_SPDY_3, it->second.protocol); 338 EXPECT_EQ(NPN_SPDY_3, it->second.protocol);
330 339
331 // GetAlternativeService should reorder the AlternateProtocol map. 340 // GetAlternativeService should reorder the AlternateProtocol map.
332 const AlternativeService alternative_service = 341 const AlternativeService alternative_service =
333 impl_.GetAlternativeService(test_host_port_pair1); 342 impl_.GetAlternativeService(test_host_port_pair1);
334 EXPECT_EQ(443, alternative_service.port); 343 EXPECT_EQ(443, alternative_service.port);
335 EXPECT_EQ(NPN_SPDY_3, alternative_service.protocol); 344 EXPECT_EQ(NPN_SPDY_3, alternative_service.protocol);
336 it = map.begin(); 345 it = map.begin();
337 EXPECT_TRUE(it->first.Equals(test_host_port_pair1)); 346 EXPECT_TRUE(it->first.Equals(test_host_port_pair1));
338 EXPECT_EQ(443, it->second.port); 347 EXPECT_EQ(443, it->second.port);
339 EXPECT_EQ(NPN_SPDY_3, it->second.protocol); 348 EXPECT_EQ(NPN_SPDY_3, it->second.protocol);
340 } 349 }
341 350
342 TEST_F(AlternateProtocolServerPropertiesTest, SetBroken) { 351 TEST_F(AlternateProtocolServerPropertiesTest, SetBroken) {
343 HostPortPair test_host_port_pair("foo", 80); 352 HostPortPair test_host_port_pair("foo", 80);
344 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1.0); 353 const AlternativeService alternative_service1(NPN_SPDY_3, "foo", 443);
345 impl_.SetBrokenAlternateProtocol(test_host_port_pair); 354 impl_.SetAlternativeService(test_host_port_pair, alternative_service1, 1.0);
355 impl_.MarkAlternativeServiceBroken(alternative_service1);
346 ASSERT_TRUE(HasAlternativeService(test_host_port_pair)); 356 ASSERT_TRUE(HasAlternativeService(test_host_port_pair));
347 const AlternativeService alternative_service(NPN_SPDY_3, 357 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service1));
348 test_host_port_pair.host(), 443);
349 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service));
350 358
351 impl_.SetAlternateProtocol(test_host_port_pair, 1234, NPN_SPDY_3, 1.0); 359 const AlternativeService alternative_service2(NPN_SPDY_3, "foo", 1234);
352 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service)); 360 impl_.SetAlternativeService(test_host_port_pair, alternative_service2, 1.0);
361 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service1));
362 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service2));
353 EXPECT_EQ(1234, impl_.GetAlternativeService(test_host_port_pair).port); 363 EXPECT_EQ(1234, impl_.GetAlternativeService(test_host_port_pair).port);
354 } 364 }
355 365
356 TEST_F(AlternateProtocolServerPropertiesTest, ClearBroken) { 366 TEST_F(AlternateProtocolServerPropertiesTest, ClearBroken) {
357 HostPortPair test_host_port_pair("foo", 80); 367 HostPortPair test_host_port_pair("foo", 80);
358 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1.0); 368 const AlternativeService alternative_service(NPN_SPDY_3, "foo", 443);
359 impl_.SetBrokenAlternateProtocol(test_host_port_pair); 369 impl_.SetAlternativeService(test_host_port_pair, alternative_service, 1.0);
370 impl_.MarkAlternativeServiceBroken(alternative_service);
360 ASSERT_TRUE(HasAlternativeService(test_host_port_pair)); 371 ASSERT_TRUE(HasAlternativeService(test_host_port_pair));
361 const AlternativeService alternative_service(NPN_SPDY_3,
362 test_host_port_pair.host(), 443);
363 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service)); 372 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service));
364 impl_.ClearAlternateProtocol(test_host_port_pair); 373 impl_.ClearAlternativeService(test_host_port_pair);
365 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service)); 374 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service));
366 } 375 }
367 376
368 TEST_F(AlternateProtocolServerPropertiesTest, MarkRecentlyBroken) { 377 TEST_F(AlternateProtocolServerPropertiesTest, MarkRecentlyBroken) {
369 HostPortPair host_port_pair("foo", 80); 378 HostPortPair host_port_pair("foo", 80);
370 impl_.SetAlternateProtocol(host_port_pair, 443, NPN_SPDY_4, 1.0); 379 const AlternativeService alternative_service(NPN_SPDY_4, "foo", 443);
380 impl_.SetAlternativeService(host_port_pair, alternative_service, 1.0);
371 381
372 const AlternativeService alternative_service(NPN_SPDY_4, "foo", 443);
373 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service)); 382 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service));
374 EXPECT_FALSE(impl_.WasAlternateProtocolRecentlyBroken(host_port_pair)); 383 EXPECT_FALSE(impl_.WasAlternativeServiceRecentlyBroken(alternative_service));
375 384
376 impl_.MarkAlternativeServiceRecentlyBroken(alternative_service); 385 impl_.MarkAlternativeServiceRecentlyBroken(alternative_service);
377 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service)); 386 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service));
378 EXPECT_TRUE(impl_.WasAlternateProtocolRecentlyBroken(host_port_pair)); 387 EXPECT_TRUE(impl_.WasAlternativeServiceRecentlyBroken(alternative_service));
379 388
380 impl_.ConfirmAlternateProtocol(host_port_pair); 389 impl_.ConfirmAlternativeService(alternative_service);
381 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service)); 390 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service));
382 EXPECT_FALSE(impl_.WasAlternateProtocolRecentlyBroken(host_port_pair)); 391 EXPECT_FALSE(impl_.WasAlternativeServiceRecentlyBroken(alternative_service));
383 } 392 }
384 393
385 TEST_F(AlternateProtocolServerPropertiesTest, Forced) { 394 TEST_F(AlternateProtocolServerPropertiesTest, Forced) {
386 // Test forced alternate protocols. 395 // Test forced alternate protocols.
387 396
388 AlternateProtocolInfo default_protocol(1234, NPN_SPDY_3, 1); 397 AlternateProtocolInfo default_protocol(1234, NPN_SPDY_3, 1);
389 HttpServerPropertiesImpl::ForceAlternateProtocol(default_protocol); 398 HttpServerPropertiesImpl::ForceAlternateProtocol(default_protocol);
390 399
391 // Verify the forced protocol. 400 // Verify the forced protocol.
392 HostPortPair test_host_port_pair("foo", 80); 401 HostPortPair test_host_port_pair("foo", 80);
393 EXPECT_TRUE(HasAlternativeService(test_host_port_pair)); 402 EXPECT_TRUE(HasAlternativeService(test_host_port_pair));
394 AlternativeService alternative_service = 403 AlternativeService alternative_service =
395 impl_.GetAlternativeService(test_host_port_pair); 404 impl_.GetAlternativeService(test_host_port_pair);
396 EXPECT_EQ(default_protocol.port, alternative_service.port); 405 EXPECT_EQ(default_protocol.port, alternative_service.port);
397 EXPECT_EQ(default_protocol.protocol, alternative_service.protocol); 406 EXPECT_EQ(default_protocol.protocol, alternative_service.protocol);
398 407
399 // Verify the real protocol overrides the forced protocol. 408 // Verify the real protocol overrides the forced protocol.
400 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1.0); 409 alternative_service = AlternativeService(NPN_SPDY_3, "foo", 443);
410 impl_.SetAlternativeService(test_host_port_pair, alternative_service, 1.0);
401 ASSERT_TRUE(HasAlternativeService(test_host_port_pair)); 411 ASSERT_TRUE(HasAlternativeService(test_host_port_pair));
402 alternative_service = impl_.GetAlternativeService(test_host_port_pair); 412 alternative_service = impl_.GetAlternativeService(test_host_port_pair);
403 EXPECT_EQ(443, alternative_service.port); 413 EXPECT_EQ(443, alternative_service.port);
404 EXPECT_EQ(NPN_SPDY_3, alternative_service.protocol); 414 EXPECT_EQ(NPN_SPDY_3, alternative_service.protocol);
405 415
406 // Turn off the static, forced alternate protocol so that tests don't 416 // Turn off the static, forced alternate protocol so that tests don't
407 // have this state. 417 // have this state.
408 HttpServerPropertiesImpl::DisableForcedAlternateProtocol(); 418 HttpServerPropertiesImpl::DisableForcedAlternateProtocol();
409 419
410 // Verify the forced protocol is off. 420 // Verify the forced protocol is off.
411 HostPortPair test_host_port_pair2("bar", 80); 421 HostPortPair test_host_port_pair2("bar", 80);
412 EXPECT_FALSE(HasAlternativeService(test_host_port_pair2)); 422 EXPECT_FALSE(HasAlternativeService(test_host_port_pair2));
413 } 423 }
414 424
415 TEST_F(AlternateProtocolServerPropertiesTest, Canonical) { 425 TEST_F(AlternateProtocolServerPropertiesTest, Canonical) {
416 HostPortPair test_host_port_pair("foo.c.youtube.com", 80); 426 HostPortPair test_host_port_pair("foo.c.youtube.com", 80);
417 EXPECT_FALSE(HasAlternativeService(test_host_port_pair)); 427 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
418 428
419 HostPortPair canonical_port_pair("bar.c.youtube.com", 80); 429 HostPortPair canonical_port_pair("bar.c.youtube.com", 80);
420 EXPECT_FALSE(HasAlternativeService(canonical_port_pair)); 430 EXPECT_FALSE(HasAlternativeService(canonical_port_pair));
421 431
422 AlternateProtocolInfo canonical_protocol(1234, QUIC, 1); 432 AlternativeService canonical_altsvc(QUIC, "bar.c.youtube.com", 1234);
423 433 impl_.SetAlternativeService(canonical_port_pair, canonical_altsvc, 1.0);
424 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port,
425 canonical_protocol.protocol, 1.0);
426 // Verify the forced protocol. 434 // Verify the forced protocol.
427 ASSERT_TRUE(HasAlternativeService(test_host_port_pair)); 435 ASSERT_TRUE(HasAlternativeService(test_host_port_pair));
428 const AlternativeService alternative_service = 436 const AlternativeService alternative_service =
429 impl_.GetAlternativeService(test_host_port_pair); 437 impl_.GetAlternativeService(test_host_port_pair);
430 EXPECT_EQ(canonical_protocol.port, alternative_service.port); 438 EXPECT_EQ(canonical_altsvc.port, alternative_service.port);
431 EXPECT_EQ(canonical_protocol.protocol, alternative_service.protocol); 439 EXPECT_EQ(canonical_altsvc.protocol, alternative_service.protocol);
432 440
433 // Verify the canonical suffix. 441 // Verify the canonical suffix.
434 EXPECT_EQ(".c.youtube.com", 442 EXPECT_EQ(".c.youtube.com",
435 impl_.GetCanonicalSuffix(test_host_port_pair.host())); 443 impl_.GetCanonicalSuffix(test_host_port_pair.host()));
436 EXPECT_EQ(".c.youtube.com", 444 EXPECT_EQ(".c.youtube.com",
437 impl_.GetCanonicalSuffix(canonical_port_pair.host())); 445 impl_.GetCanonicalSuffix(canonical_port_pair.host()));
438 } 446 }
439 447
440 TEST_F(AlternateProtocolServerPropertiesTest, CanonicalBelowThreshold) { 448 TEST_F(AlternateProtocolServerPropertiesTest, CanonicalBelowThreshold) {
441 impl_.SetAlternateProtocolProbabilityThreshold(0.02); 449 impl_.SetAlternateProtocolProbabilityThreshold(0.02);
442 450
443 HostPortPair test_host_port_pair("foo.c.youtube.com", 80); 451 HostPortPair test_host_port_pair("foo.c.youtube.com", 80);
444 HostPortPair canonical_port_pair("bar.c.youtube.com", 80); 452 HostPortPair canonical_port_pair("bar.c.youtube.com", 80);
445 AlternateProtocolInfo canonical_protocol(1234, QUIC, 0.01); 453 AlternativeService canonical_altsvc(QUIC, "bar.c.youtube.com", 1234);
446 454
447 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port, 455 impl_.SetAlternativeService(canonical_port_pair, canonical_altsvc, 0.01);
448 canonical_protocol.protocol,
449 canonical_protocol.probability);
450 EXPECT_FALSE(HasAlternativeService(canonical_port_pair)); 456 EXPECT_FALSE(HasAlternativeService(canonical_port_pair));
451 EXPECT_FALSE(HasAlternativeService(test_host_port_pair)); 457 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
452 } 458 }
453 459
454 TEST_F(AlternateProtocolServerPropertiesTest, CanonicalAboveThreshold) { 460 TEST_F(AlternateProtocolServerPropertiesTest, CanonicalAboveThreshold) {
455 impl_.SetAlternateProtocolProbabilityThreshold(0.02); 461 impl_.SetAlternateProtocolProbabilityThreshold(0.02);
456 462
457 HostPortPair test_host_port_pair("foo.c.youtube.com", 80); 463 HostPortPair test_host_port_pair("foo.c.youtube.com", 80);
458 HostPortPair canonical_port_pair("bar.c.youtube.com", 80); 464 HostPortPair canonical_port_pair("bar.c.youtube.com", 80);
459 AlternateProtocolInfo canonical_protocol(1234, QUIC, 0.03); 465 AlternativeService canonical_altsvc(QUIC, "bar.c.youtube.com", 1234);
460 466
461 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port, 467 impl_.SetAlternativeService(canonical_port_pair, canonical_altsvc, 0.03);
462 canonical_protocol.protocol,
463 canonical_protocol.probability);
464 EXPECT_TRUE(HasAlternativeService(canonical_port_pair)); 468 EXPECT_TRUE(HasAlternativeService(canonical_port_pair));
465 EXPECT_TRUE(HasAlternativeService(test_host_port_pair)); 469 EXPECT_TRUE(HasAlternativeService(test_host_port_pair));
466 } 470 }
467 471
468 TEST_F(AlternateProtocolServerPropertiesTest, ClearCanonical) { 472 TEST_F(AlternateProtocolServerPropertiesTest, ClearCanonical) {
469 HostPortPair test_host_port_pair("foo.c.youtube.com", 80); 473 HostPortPair test_host_port_pair("foo.c.youtube.com", 80);
470 HostPortPair canonical_port_pair("bar.c.youtube.com", 80); 474 HostPortPair canonical_port_pair("bar.c.youtube.com", 80);
475 AlternativeService canonical_altsvc(QUIC, "bar.c.youtube.com", 1234);
471 476
472 AlternateProtocolInfo canonical_protocol(1234, QUIC, 1); 477 impl_.SetAlternativeService(canonical_port_pair, canonical_altsvc, 1.0);
473 478 impl_.ClearAlternativeService(canonical_port_pair);
474 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port,
475 canonical_protocol.protocol,
476 canonical_protocol.probability);
477
478 impl_.ClearAlternateProtocol(canonical_port_pair);
479 EXPECT_FALSE(HasAlternativeService(test_host_port_pair)); 479 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
480 } 480 }
481 481
482 TEST_F(AlternateProtocolServerPropertiesTest, CanonicalBroken) { 482 TEST_F(AlternateProtocolServerPropertiesTest, CanonicalBroken) {
483 HostPortPair test_host_port_pair("foo.c.youtube.com", 80); 483 HostPortPair test_host_port_pair("foo.c.youtube.com", 80);
484 HostPortPair canonical_port_pair("bar.c.youtube.com", 80); 484 HostPortPair canonical_port_pair("bar.c.youtube.com", 80);
485 AlternativeService canonical_altsvc(QUIC, "bar.c.youtube.com", 1234);
485 486
486 AlternateProtocolInfo canonical_protocol(1234, QUIC, 1); 487 impl_.SetAlternativeService(canonical_port_pair, canonical_altsvc, 1.0);
487 488 impl_.MarkAlternativeServiceBroken(canonical_altsvc);
488 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port,
489 canonical_protocol.protocol,
490 canonical_protocol.probability);
491
492 impl_.SetBrokenAlternateProtocol(canonical_port_pair);
493 EXPECT_FALSE(HasAlternativeService(test_host_port_pair)); 489 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
494 } 490 }
495 491
496 TEST_F(AlternateProtocolServerPropertiesTest, ClearWithCanonical) { 492 TEST_F(AlternateProtocolServerPropertiesTest, ClearWithCanonical) {
497 HostPortPair test_host_port_pair("foo.c.youtube.com", 80); 493 HostPortPair test_host_port_pair("foo.c.youtube.com", 80);
498 HostPortPair canonical_port_pair("bar.c.youtube.com", 80); 494 HostPortPair canonical_port_pair("bar.c.youtube.com", 80);
495 AlternativeService canonical_altsvc(QUIC, "bar.c.youtube.com", 1234);
499 496
500 AlternateProtocolInfo canonical_protocol(1234, QUIC, 1); 497 impl_.SetAlternativeService(canonical_port_pair, canonical_altsvc, 1.0);
501
502 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port,
503 canonical_protocol.protocol,
504 canonical_protocol.probability);
505
506 impl_.Clear(); 498 impl_.Clear();
507 EXPECT_FALSE(HasAlternativeService(test_host_port_pair)); 499 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
508 } 500 }
509 501
510 TEST_F(AlternateProtocolServerPropertiesTest, 502 TEST_F(AlternateProtocolServerPropertiesTest,
511 ExpireBrokenAlternateProtocolMappings) { 503 ExpireBrokenAlternateProtocolMappings) {
512 HostPortPair host_port_pair("foo", 443); 504 HostPortPair host_port_pair("foo", 443);
513 AlternativeService alternative_service(QUIC, "foo", 443); 505 AlternativeService alternative_service(QUIC, "foo", 443);
514 impl_.SetAlternateProtocol(host_port_pair, 443, QUIC, 1.0); 506 impl_.SetAlternativeService(host_port_pair, alternative_service, 1.0);
515 EXPECT_TRUE(HasAlternativeService(host_port_pair)); 507 EXPECT_TRUE(HasAlternativeService(host_port_pair));
516 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service)); 508 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service));
517 EXPECT_FALSE(impl_.WasAlternateProtocolRecentlyBroken(host_port_pair)); 509 EXPECT_FALSE(impl_.WasAlternativeServiceRecentlyBroken(alternative_service));
518 510
519 base::TimeTicks past = 511 base::TimeTicks past =
520 base::TimeTicks::Now() - base::TimeDelta::FromSeconds(42); 512 base::TimeTicks::Now() - base::TimeDelta::FromSeconds(42);
521 HttpServerPropertiesImplPeer::AddBrokenAlternativeServiceWithExpirationTime( 513 HttpServerPropertiesImplPeer::AddBrokenAlternativeServiceWithExpirationTime(
522 impl_, alternative_service, past); 514 impl_, alternative_service, past);
523 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service)); 515 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service));
524 EXPECT_TRUE(impl_.WasAlternateProtocolRecentlyBroken(host_port_pair)); 516 EXPECT_TRUE(impl_.WasAlternativeServiceRecentlyBroken(alternative_service));
525 517
526 HttpServerPropertiesImplPeer::ExpireBrokenAlternateProtocolMappings(impl_); 518 HttpServerPropertiesImplPeer::ExpireBrokenAlternateProtocolMappings(impl_);
527 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service)); 519 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service));
528 // TODO(bnc): Test WasAlternateProtocolRecentlyBroken once it's changed to 520 // TODO(bnc): Test WasAlternativeServiceRecentlyBroken once it's changed to
529 // take AlternativeService as argument. 521 // take AlternativeService as argument.
530 } 522 }
531 523
532 typedef HttpServerPropertiesImplTest SpdySettingsServerPropertiesTest; 524 typedef HttpServerPropertiesImplTest SpdySettingsServerPropertiesTest;
533 525
534 TEST_F(SpdySettingsServerPropertiesTest, Initialize) { 526 TEST_F(SpdySettingsServerPropertiesTest, Initialize) {
535 HostPortPair spdy_server_google("www.google.com", 443); 527 HostPortPair spdy_server_google("www.google.com", 443);
536 528
537 // Check by initializing empty spdy settings. 529 // Check by initializing empty spdy settings.
538 SpdySettingsMap spdy_settings_map(SpdySettingsMap::NO_AUTO_EVICT); 530 SpdySettingsMap spdy_settings_map(SpdySettingsMap::NO_AUTO_EVICT);
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 EXPECT_EQ(100, stats2->bandwidth_estimate.ToBitsPerSecond()); 785 EXPECT_EQ(100, stats2->bandwidth_estimate.ToBitsPerSecond());
794 786
795 impl_.Clear(); 787 impl_.Clear();
796 const ServerNetworkStats* stats3 = impl_.GetServerNetworkStats(foo_server); 788 const ServerNetworkStats* stats3 = impl_.GetServerNetworkStats(foo_server);
797 EXPECT_EQ(NULL, stats3); 789 EXPECT_EQ(NULL, stats3);
798 } 790 }
799 791
800 } // namespace 792 } // namespace
801 793
802 } // namespace net 794 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698