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

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

Issue 1017453008: Make GetAlternateProtocol return AlternativeService. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: s/server/origin/g in other methods too. 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
« no previous file with comments | « net/http/http_server_properties_impl.cc ('k') | net/http/http_server_properties_manager.h » ('j') | 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/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 26 matching lines...) Expand all
37 static void ExpireBrokenAlternateProtocolMappings( 37 static void ExpireBrokenAlternateProtocolMappings(
38 HttpServerPropertiesImpl& impl) { 38 HttpServerPropertiesImpl& impl) {
39 impl.ExpireBrokenAlternateProtocolMappings(); 39 impl.ExpireBrokenAlternateProtocolMappings();
40 } 40 }
41 }; 41 };
42 42
43 namespace { 43 namespace {
44 44
45 class HttpServerPropertiesImplTest : public testing::Test { 45 class HttpServerPropertiesImplTest : public testing::Test {
46 protected: 46 protected:
47 bool HasAlternateProtocol(const HostPortPair& server) { 47 bool HasAlternativeService(const HostPortPair& origin) {
48 const AlternateProtocolInfo alternate = impl_.GetAlternateProtocol(server); 48 const AlternativeService alternative_service =
49 return alternate.protocol != UNINITIALIZED_ALTERNATE_PROTOCOL; 49 impl_.GetAlternativeService(origin);
50 return alternative_service.protocol != UNINITIALIZED_ALTERNATE_PROTOCOL;
50 } 51 }
51 52
52 HttpServerPropertiesImpl impl_; 53 HttpServerPropertiesImpl impl_;
53 }; 54 };
54 55
55 typedef HttpServerPropertiesImplTest SpdyServerPropertiesTest; 56 typedef HttpServerPropertiesImplTest SpdyServerPropertiesTest;
56 57
57 TEST_F(SpdyServerPropertiesTest, Initialize) { 58 TEST_F(SpdyServerPropertiesTest, Initialize) {
58 HostPortPair spdy_server_google("www.google.com", 443); 59 HostPortPair spdy_server_google("www.google.com", 443);
59 std::string spdy_server_g = spdy_server_google.ToString(); 60 std::string spdy_server_g = spdy_server_google.ToString();
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_g)); 235 ASSERT_TRUE(spdy_server_list.GetString(0, &string_value_g));
235 ASSERT_EQ(spdy_server_g, string_value_g); 236 ASSERT_EQ(spdy_server_g, string_value_g);
236 ASSERT_TRUE(spdy_server_list.GetString(1, &string_value_m)); 237 ASSERT_TRUE(spdy_server_list.GetString(1, &string_value_m));
237 ASSERT_EQ(spdy_server_m, string_value_m); 238 ASSERT_EQ(spdy_server_m, string_value_m);
238 } 239 }
239 240
240 typedef HttpServerPropertiesImplTest AlternateProtocolServerPropertiesTest; 241 typedef HttpServerPropertiesImplTest AlternateProtocolServerPropertiesTest;
241 242
242 TEST_F(AlternateProtocolServerPropertiesTest, Basic) { 243 TEST_F(AlternateProtocolServerPropertiesTest, Basic) {
243 HostPortPair test_host_port_pair("foo", 80); 244 HostPortPair test_host_port_pair("foo", 80);
244 EXPECT_FALSE(HasAlternateProtocol(test_host_port_pair)); 245 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
245 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1.0); 246 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1.0);
246 ASSERT_TRUE(HasAlternateProtocol(test_host_port_pair)); 247 ASSERT_TRUE(HasAlternativeService(test_host_port_pair));
247 const AlternateProtocolInfo alternate = 248 const AlternativeService alternative_service =
248 impl_.GetAlternateProtocol(test_host_port_pair); 249 impl_.GetAlternativeService(test_host_port_pair);
249 EXPECT_EQ(443, alternate.port); 250 EXPECT_EQ(443, alternative_service.port);
250 EXPECT_EQ(NPN_SPDY_3, alternate.protocol); 251 EXPECT_EQ(NPN_SPDY_3, alternative_service.protocol);
251 252
252 impl_.Clear(); 253 impl_.Clear();
253 EXPECT_FALSE(HasAlternateProtocol(test_host_port_pair)); 254 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
254 } 255 }
255 256
256 TEST_F(AlternateProtocolServerPropertiesTest, DefaultProbabilityExcluded) { 257 TEST_F(AlternateProtocolServerPropertiesTest, DefaultProbabilityExcluded) {
257 HostPortPair test_host_port_pair("foo", 80); 258 HostPortPair test_host_port_pair("foo", 80);
258 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .99); 259 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .99);
259 260
260 EXPECT_FALSE(HasAlternateProtocol(test_host_port_pair)); 261 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
261 } 262 }
262 263
263 TEST_F(AlternateProtocolServerPropertiesTest, Probability) { 264 TEST_F(AlternateProtocolServerPropertiesTest, Probability) {
264 impl_.SetAlternateProtocolProbabilityThreshold(.25); 265 impl_.SetAlternateProtocolProbabilityThreshold(.25);
265 266
266 HostPortPair test_host_port_pair("foo", 80); 267 HostPortPair test_host_port_pair("foo", 80);
267 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .5); 268 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 0.5);
268 269
269 ASSERT_TRUE(HasAlternateProtocol(test_host_port_pair)); 270 AlternateProtocolMap::const_iterator it =
270 const AlternateProtocolInfo alternate = 271 impl_.alternate_protocol_map().Peek(test_host_port_pair);
271 impl_.GetAlternateProtocol(test_host_port_pair); 272 EXPECT_TRUE(it != impl_.alternate_protocol_map().end());
272 EXPECT_EQ(443, alternate.port); 273 EXPECT_EQ(443, it->second.port);
273 EXPECT_EQ(NPN_SPDY_3, alternate.protocol); 274 EXPECT_EQ(NPN_SPDY_3, it->second.protocol);
274 EXPECT_EQ(.5, alternate.probability); 275 EXPECT_EQ(0.5, it->second.probability);
275 } 276 }
276 277
277 TEST_F(AlternateProtocolServerPropertiesTest, ProbabilityExcluded) { 278 TEST_F(AlternateProtocolServerPropertiesTest, ProbabilityExcluded) {
278 impl_.SetAlternateProtocolProbabilityThreshold(.75); 279 impl_.SetAlternateProtocolProbabilityThreshold(.75);
279 280
280 HostPortPair test_host_port_pair("foo", 80); 281 HostPortPair test_host_port_pair("foo", 80);
281 282
282 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .5); 283 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .5);
283 EXPECT_FALSE(HasAlternateProtocol(test_host_port_pair)); 284 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
284 } 285 }
285 286
286 TEST_F(AlternateProtocolServerPropertiesTest, Initialize) { 287 TEST_F(AlternateProtocolServerPropertiesTest, Initialize) {
287 HostPortPair test_host_port_pair1("foo1", 80); 288 HostPortPair test_host_port_pair1("foo1", 80);
288 impl_.SetAlternateProtocol(test_host_port_pair1, 443, NPN_SPDY_3, 1.0); 289 impl_.SetAlternateProtocol(test_host_port_pair1, 443, NPN_SPDY_3, 1.0);
289 impl_.SetBrokenAlternateProtocol(test_host_port_pair1); 290 impl_.SetBrokenAlternateProtocol(test_host_port_pair1);
290 HostPortPair test_host_port_pair2("foo2", 80); 291 HostPortPair test_host_port_pair2("foo2", 80);
291 impl_.SetAlternateProtocol(test_host_port_pair2, 443, NPN_SPDY_3, 1.0); 292 impl_.SetAlternateProtocol(test_host_port_pair2, 443, NPN_SPDY_3, 1.0);
292 293
293 AlternateProtocolMap alternate_protocol_map( 294 AlternateProtocolMap alternate_protocol_map(
294 AlternateProtocolMap::NO_AUTO_EVICT); 295 AlternateProtocolMap::NO_AUTO_EVICT);
295 AlternateProtocolInfo alternate(123, NPN_SPDY_3, 1); 296 AlternateProtocolInfo alternate(123, NPN_SPDY_3, 1);
296 alternate_protocol_map.Put(test_host_port_pair2, alternate); 297 alternate_protocol_map.Put(test_host_port_pair2, alternate);
297 HostPortPair test_host_port_pair3("foo3", 80); 298 HostPortPair test_host_port_pair3("foo3", 80);
298 alternate.port = 1234; 299 alternate.port = 1234;
299 alternate_protocol_map.Put(test_host_port_pair3, alternate); 300 alternate_protocol_map.Put(test_host_port_pair3, alternate);
300 impl_.InitializeAlternateProtocolServers(&alternate_protocol_map); 301 impl_.InitializeAlternateProtocolServers(&alternate_protocol_map);
301 302
302 // Verify test_host_port_pair3 is the MRU server. 303 // Verify test_host_port_pair3 is the MRU server.
303 const AlternateProtocolMap& map = impl_.alternate_protocol_map(); 304 const AlternateProtocolMap& map = impl_.alternate_protocol_map();
304 AlternateProtocolMap::const_iterator it = map.begin(); 305 AlternateProtocolMap::const_iterator it = map.begin();
305 EXPECT_TRUE(it->first.Equals(test_host_port_pair3)); 306 EXPECT_TRUE(it->first.Equals(test_host_port_pair3));
306 EXPECT_EQ(1234, it->second.port); 307 EXPECT_EQ(1234, it->second.port);
307 EXPECT_EQ(NPN_SPDY_3, it->second.protocol); 308 EXPECT_EQ(NPN_SPDY_3, it->second.protocol);
308 309
309 ASSERT_TRUE(HasAlternateProtocol(test_host_port_pair1)); 310 ASSERT_TRUE(HasAlternativeService(test_host_port_pair1));
310 const AlternativeService alternative_service( 311 AlternativeService alternative_service(NPN_SPDY_3,
311 NPN_SPDY_3, test_host_port_pair1.host(), 443); 312 test_host_port_pair1.host(), 443);
312 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service)); 313 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service));
313 alternate = impl_.GetAlternateProtocol(test_host_port_pair2); 314 alternative_service = impl_.GetAlternativeService(test_host_port_pair2);
314 EXPECT_EQ(123, alternate.port); 315 EXPECT_EQ(123, alternative_service.port);
315 EXPECT_EQ(NPN_SPDY_3, alternate.protocol); 316 EXPECT_EQ(NPN_SPDY_3, alternative_service.protocol);
316 } 317 }
317 318
318 TEST_F(AlternateProtocolServerPropertiesTest, MRUOfGetAlternateProtocol) { 319 TEST_F(AlternateProtocolServerPropertiesTest, MRUOfGetAlternateProtocol) {
319 HostPortPair test_host_port_pair1("foo1", 80); 320 HostPortPair test_host_port_pair1("foo1", 80);
320 impl_.SetAlternateProtocol(test_host_port_pair1, 443, NPN_SPDY_3, 1.0); 321 impl_.SetAlternateProtocol(test_host_port_pair1, 443, NPN_SPDY_3, 1.0);
321 HostPortPair test_host_port_pair2("foo2", 80); 322 HostPortPair test_host_port_pair2("foo2", 80);
322 impl_.SetAlternateProtocol(test_host_port_pair2, 1234, NPN_SPDY_3, 1.0); 323 impl_.SetAlternateProtocol(test_host_port_pair2, 1234, NPN_SPDY_3, 1.0);
323 324
324 const AlternateProtocolMap& map = impl_.alternate_protocol_map(); 325 const AlternateProtocolMap& map = impl_.alternate_protocol_map();
325 AlternateProtocolMap::const_iterator it = map.begin(); 326 AlternateProtocolMap::const_iterator it = map.begin();
326 EXPECT_TRUE(it->first.Equals(test_host_port_pair2)); 327 EXPECT_TRUE(it->first.Equals(test_host_port_pair2));
327 EXPECT_EQ(1234, it->second.port); 328 EXPECT_EQ(1234, it->second.port);
328 EXPECT_EQ(NPN_SPDY_3, it->second.protocol); 329 EXPECT_EQ(NPN_SPDY_3, it->second.protocol);
329 330
330 // GetAlternateProtocol should reorder the AlternateProtocol map. 331 // GetAlternativeService should reorder the AlternateProtocol map.
331 AlternateProtocolInfo alternate = 332 const AlternativeService alternative_service =
332 impl_.GetAlternateProtocol(test_host_port_pair1); 333 impl_.GetAlternativeService(test_host_port_pair1);
333 EXPECT_EQ(443, alternate.port); 334 EXPECT_EQ(443, alternative_service.port);
334 EXPECT_EQ(NPN_SPDY_3, alternate.protocol); 335 EXPECT_EQ(NPN_SPDY_3, alternative_service.protocol);
335 it = map.begin(); 336 it = map.begin();
336 EXPECT_TRUE(it->first.Equals(test_host_port_pair1)); 337 EXPECT_TRUE(it->first.Equals(test_host_port_pair1));
337 EXPECT_EQ(443, it->second.port); 338 EXPECT_EQ(443, it->second.port);
338 EXPECT_EQ(NPN_SPDY_3, it->second.protocol); 339 EXPECT_EQ(NPN_SPDY_3, it->second.protocol);
339 } 340 }
340 341
341 TEST_F(AlternateProtocolServerPropertiesTest, SetBroken) { 342 TEST_F(AlternateProtocolServerPropertiesTest, SetBroken) {
342 HostPortPair test_host_port_pair("foo", 80); 343 HostPortPair test_host_port_pair("foo", 80);
343 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1.0); 344 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1.0);
344 impl_.SetBrokenAlternateProtocol(test_host_port_pair); 345 impl_.SetBrokenAlternateProtocol(test_host_port_pair);
345 ASSERT_TRUE(HasAlternateProtocol(test_host_port_pair)); 346 ASSERT_TRUE(HasAlternativeService(test_host_port_pair));
346 const AlternativeService alternative_service(NPN_SPDY_3, 347 const AlternativeService alternative_service(NPN_SPDY_3,
347 test_host_port_pair.host(), 443); 348 test_host_port_pair.host(), 443);
348 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service)); 349 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service));
349 350
350 impl_.SetAlternateProtocol(test_host_port_pair, 1234, NPN_SPDY_3, 1.0); 351 impl_.SetAlternateProtocol(test_host_port_pair, 1234, NPN_SPDY_3, 1.0);
351 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service)); 352 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service));
352 const AlternateProtocolInfo alternate = 353 EXPECT_EQ(1234, impl_.GetAlternativeService(test_host_port_pair).port);
353 impl_.GetAlternateProtocol(test_host_port_pair);
354 EXPECT_EQ(1234, alternate.port);
355 } 354 }
356 355
357 TEST_F(AlternateProtocolServerPropertiesTest, ClearBroken) { 356 TEST_F(AlternateProtocolServerPropertiesTest, ClearBroken) {
358 HostPortPair test_host_port_pair("foo", 80); 357 HostPortPair test_host_port_pair("foo", 80);
359 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1.0); 358 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1.0);
360 impl_.SetBrokenAlternateProtocol(test_host_port_pair); 359 impl_.SetBrokenAlternateProtocol(test_host_port_pair);
361 ASSERT_TRUE(HasAlternateProtocol(test_host_port_pair)); 360 ASSERT_TRUE(HasAlternativeService(test_host_port_pair));
362 const AlternativeService alternative_service(NPN_SPDY_3, 361 const AlternativeService alternative_service(NPN_SPDY_3,
363 test_host_port_pair.host(), 443); 362 test_host_port_pair.host(), 443);
364 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service)); 363 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service));
365 impl_.ClearAlternateProtocol(test_host_port_pair); 364 impl_.ClearAlternateProtocol(test_host_port_pair);
366 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service)); 365 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service));
367 } 366 }
368 367
369 TEST_F(AlternateProtocolServerPropertiesTest, MarkRecentlyBroken) { 368 TEST_F(AlternateProtocolServerPropertiesTest, MarkRecentlyBroken) {
370 HostPortPair host_port_pair("foo", 80); 369 HostPortPair host_port_pair("foo", 80);
371 impl_.SetAlternateProtocol(host_port_pair, 443, NPN_SPDY_4, 1.0); 370 impl_.SetAlternateProtocol(host_port_pair, 443, NPN_SPDY_4, 1.0);
(...skipping 12 matching lines...) Expand all
384 } 383 }
385 384
386 TEST_F(AlternateProtocolServerPropertiesTest, Forced) { 385 TEST_F(AlternateProtocolServerPropertiesTest, Forced) {
387 // Test forced alternate protocols. 386 // Test forced alternate protocols.
388 387
389 AlternateProtocolInfo default_protocol(1234, NPN_SPDY_3, 1); 388 AlternateProtocolInfo default_protocol(1234, NPN_SPDY_3, 1);
390 HttpServerPropertiesImpl::ForceAlternateProtocol(default_protocol); 389 HttpServerPropertiesImpl::ForceAlternateProtocol(default_protocol);
391 390
392 // Verify the forced protocol. 391 // Verify the forced protocol.
393 HostPortPair test_host_port_pair("foo", 80); 392 HostPortPair test_host_port_pair("foo", 80);
394 EXPECT_TRUE(HasAlternateProtocol(test_host_port_pair)); 393 EXPECT_TRUE(HasAlternativeService(test_host_port_pair));
395 AlternateProtocolInfo alternate = 394 AlternativeService alternative_service =
396 impl_.GetAlternateProtocol(test_host_port_pair); 395 impl_.GetAlternativeService(test_host_port_pair);
397 EXPECT_EQ(default_protocol.port, alternate.port); 396 EXPECT_EQ(default_protocol.port, alternative_service.port);
398 EXPECT_EQ(default_protocol.protocol, alternate.protocol); 397 EXPECT_EQ(default_protocol.protocol, alternative_service.protocol);
399 398
400 // Verify the real protocol overrides the forced protocol. 399 // Verify the real protocol overrides the forced protocol.
401 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1.0); 400 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1.0);
402 ASSERT_TRUE(HasAlternateProtocol(test_host_port_pair)); 401 ASSERT_TRUE(HasAlternativeService(test_host_port_pair));
403 alternate = impl_.GetAlternateProtocol(test_host_port_pair); 402 alternative_service = impl_.GetAlternativeService(test_host_port_pair);
404 EXPECT_EQ(443, alternate.port); 403 EXPECT_EQ(443, alternative_service.port);
405 EXPECT_EQ(NPN_SPDY_3, alternate.protocol); 404 EXPECT_EQ(NPN_SPDY_3, alternative_service.protocol);
406 405
407 // Turn off the static, forced alternate protocol so that tests don't 406 // Turn off the static, forced alternate protocol so that tests don't
408 // have this state. 407 // have this state.
409 HttpServerPropertiesImpl::DisableForcedAlternateProtocol(); 408 HttpServerPropertiesImpl::DisableForcedAlternateProtocol();
410 409
411 // Verify the forced protocol is off. 410 // Verify the forced protocol is off.
412 HostPortPair test_host_port_pair2("bar", 80); 411 HostPortPair test_host_port_pair2("bar", 80);
413 EXPECT_FALSE(HasAlternateProtocol(test_host_port_pair2)); 412 EXPECT_FALSE(HasAlternativeService(test_host_port_pair2));
414 } 413 }
415 414
416 TEST_F(AlternateProtocolServerPropertiesTest, Canonical) { 415 TEST_F(AlternateProtocolServerPropertiesTest, Canonical) {
417 HostPortPair test_host_port_pair("foo.c.youtube.com", 80); 416 HostPortPair test_host_port_pair("foo.c.youtube.com", 80);
418 EXPECT_FALSE(HasAlternateProtocol(test_host_port_pair)); 417 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
419 418
420 HostPortPair canonical_port_pair("bar.c.youtube.com", 80); 419 HostPortPair canonical_port_pair("bar.c.youtube.com", 80);
421 EXPECT_FALSE(HasAlternateProtocol(canonical_port_pair)); 420 EXPECT_FALSE(HasAlternativeService(canonical_port_pair));
422 421
423 AlternateProtocolInfo canonical_protocol(1234, QUIC, 1); 422 AlternateProtocolInfo canonical_protocol(1234, QUIC, 1);
424 423
425 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port, 424 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port,
426 canonical_protocol.protocol, 1.0); 425 canonical_protocol.protocol, 1.0);
427 // Verify the forced protocol. 426 // Verify the forced protocol.
428 ASSERT_TRUE(HasAlternateProtocol(test_host_port_pair)); 427 ASSERT_TRUE(HasAlternativeService(test_host_port_pair));
429 AlternateProtocolInfo alternate = 428 const AlternativeService alternative_service =
430 impl_.GetAlternateProtocol(test_host_port_pair); 429 impl_.GetAlternativeService(test_host_port_pair);
431 EXPECT_EQ(canonical_protocol.port, alternate.port); 430 EXPECT_EQ(canonical_protocol.port, alternative_service.port);
432 EXPECT_EQ(canonical_protocol.protocol, alternate.protocol); 431 EXPECT_EQ(canonical_protocol.protocol, alternative_service.protocol);
433 432
434 // Verify the canonical suffix. 433 // Verify the canonical suffix.
435 EXPECT_EQ(".c.youtube.com", 434 EXPECT_EQ(".c.youtube.com",
436 impl_.GetCanonicalSuffix(test_host_port_pair.host())); 435 impl_.GetCanonicalSuffix(test_host_port_pair.host()));
437 EXPECT_EQ(".c.youtube.com", 436 EXPECT_EQ(".c.youtube.com",
438 impl_.GetCanonicalSuffix(canonical_port_pair.host())); 437 impl_.GetCanonicalSuffix(canonical_port_pair.host()));
439 } 438 }
440 439
441 TEST_F(AlternateProtocolServerPropertiesTest, CanonicalBelowThreshold) { 440 TEST_F(AlternateProtocolServerPropertiesTest, CanonicalBelowThreshold) {
442 impl_.SetAlternateProtocolProbabilityThreshold(0.02); 441 impl_.SetAlternateProtocolProbabilityThreshold(0.02);
443 442
444 HostPortPair test_host_port_pair("foo.c.youtube.com", 80); 443 HostPortPair test_host_port_pair("foo.c.youtube.com", 80);
445 HostPortPair canonical_port_pair("bar.c.youtube.com", 80); 444 HostPortPair canonical_port_pair("bar.c.youtube.com", 80);
446 AlternateProtocolInfo canonical_protocol(1234, QUIC, 0.01); 445 AlternateProtocolInfo canonical_protocol(1234, QUIC, 0.01);
447 446
448 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port, 447 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port,
449 canonical_protocol.protocol, 448 canonical_protocol.protocol,
450 canonical_protocol.probability); 449 canonical_protocol.probability);
451 EXPECT_FALSE(HasAlternateProtocol(canonical_port_pair)); 450 EXPECT_FALSE(HasAlternativeService(canonical_port_pair));
452 EXPECT_FALSE(HasAlternateProtocol(test_host_port_pair)); 451 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
453 } 452 }
454 453
455 TEST_F(AlternateProtocolServerPropertiesTest, CanonicalAboveThreshold) { 454 TEST_F(AlternateProtocolServerPropertiesTest, CanonicalAboveThreshold) {
456 impl_.SetAlternateProtocolProbabilityThreshold(0.02); 455 impl_.SetAlternateProtocolProbabilityThreshold(0.02);
457 456
458 HostPortPair test_host_port_pair("foo.c.youtube.com", 80); 457 HostPortPair test_host_port_pair("foo.c.youtube.com", 80);
459 HostPortPair canonical_port_pair("bar.c.youtube.com", 80); 458 HostPortPair canonical_port_pair("bar.c.youtube.com", 80);
460 AlternateProtocolInfo canonical_protocol(1234, QUIC, 0.03); 459 AlternateProtocolInfo canonical_protocol(1234, QUIC, 0.03);
461 460
462 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port, 461 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port,
463 canonical_protocol.protocol, 462 canonical_protocol.protocol,
464 canonical_protocol.probability); 463 canonical_protocol.probability);
465 EXPECT_TRUE(HasAlternateProtocol(canonical_port_pair)); 464 EXPECT_TRUE(HasAlternativeService(canonical_port_pair));
466 EXPECT_TRUE(HasAlternateProtocol(test_host_port_pair)); 465 EXPECT_TRUE(HasAlternativeService(test_host_port_pair));
467 } 466 }
468 467
469 TEST_F(AlternateProtocolServerPropertiesTest, ClearCanonical) { 468 TEST_F(AlternateProtocolServerPropertiesTest, ClearCanonical) {
470 HostPortPair test_host_port_pair("foo.c.youtube.com", 80); 469 HostPortPair test_host_port_pair("foo.c.youtube.com", 80);
471 HostPortPair canonical_port_pair("bar.c.youtube.com", 80); 470 HostPortPair canonical_port_pair("bar.c.youtube.com", 80);
472 471
473 AlternateProtocolInfo canonical_protocol(1234, QUIC, 1); 472 AlternateProtocolInfo canonical_protocol(1234, QUIC, 1);
474 473
475 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port, 474 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port,
476 canonical_protocol.protocol, 475 canonical_protocol.protocol,
477 canonical_protocol.probability); 476 canonical_protocol.probability);
478 477
479 impl_.ClearAlternateProtocol(canonical_port_pair); 478 impl_.ClearAlternateProtocol(canonical_port_pair);
480 EXPECT_FALSE(HasAlternateProtocol(test_host_port_pair)); 479 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
481 } 480 }
482 481
483 TEST_F(AlternateProtocolServerPropertiesTest, CanonicalBroken) { 482 TEST_F(AlternateProtocolServerPropertiesTest, CanonicalBroken) {
484 HostPortPair test_host_port_pair("foo.c.youtube.com", 80); 483 HostPortPair test_host_port_pair("foo.c.youtube.com", 80);
485 HostPortPair canonical_port_pair("bar.c.youtube.com", 80); 484 HostPortPair canonical_port_pair("bar.c.youtube.com", 80);
486 485
487 AlternateProtocolInfo canonical_protocol(1234, QUIC, 1); 486 AlternateProtocolInfo canonical_protocol(1234, QUIC, 1);
488 487
489 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port, 488 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port,
490 canonical_protocol.protocol, 489 canonical_protocol.protocol,
491 canonical_protocol.probability); 490 canonical_protocol.probability);
492 491
493 impl_.SetBrokenAlternateProtocol(canonical_port_pair); 492 impl_.SetBrokenAlternateProtocol(canonical_port_pair);
494 EXPECT_FALSE(HasAlternateProtocol(test_host_port_pair)); 493 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
495 } 494 }
496 495
497 TEST_F(AlternateProtocolServerPropertiesTest, ClearWithCanonical) { 496 TEST_F(AlternateProtocolServerPropertiesTest, ClearWithCanonical) {
498 HostPortPair test_host_port_pair("foo.c.youtube.com", 80); 497 HostPortPair test_host_port_pair("foo.c.youtube.com", 80);
499 HostPortPair canonical_port_pair("bar.c.youtube.com", 80); 498 HostPortPair canonical_port_pair("bar.c.youtube.com", 80);
500 499
501 AlternateProtocolInfo canonical_protocol(1234, QUIC, 1); 500 AlternateProtocolInfo canonical_protocol(1234, QUIC, 1);
502 501
503 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port, 502 impl_.SetAlternateProtocol(canonical_port_pair, canonical_protocol.port,
504 canonical_protocol.protocol, 503 canonical_protocol.protocol,
505 canonical_protocol.probability); 504 canonical_protocol.probability);
506 505
507 impl_.Clear(); 506 impl_.Clear();
508 EXPECT_FALSE(HasAlternateProtocol(test_host_port_pair)); 507 EXPECT_FALSE(HasAlternativeService(test_host_port_pair));
509 } 508 }
510 509
511 TEST_F(AlternateProtocolServerPropertiesTest, 510 TEST_F(AlternateProtocolServerPropertiesTest,
512 ExpireBrokenAlternateProtocolMappings) { 511 ExpireBrokenAlternateProtocolMappings) {
513 HostPortPair host_port_pair("foo", 443); 512 HostPortPair host_port_pair("foo", 443);
514 AlternativeService alternative_service(QUIC, "foo", 443); 513 AlternativeService alternative_service(QUIC, "foo", 443);
515 impl_.SetAlternateProtocol(host_port_pair, 443, QUIC, 1.0); 514 impl_.SetAlternateProtocol(host_port_pair, 443, QUIC, 1.0);
516 EXPECT_TRUE(HasAlternateProtocol(host_port_pair)); 515 EXPECT_TRUE(HasAlternativeService(host_port_pair));
517 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service)); 516 EXPECT_FALSE(impl_.IsAlternativeServiceBroken(alternative_service));
518 EXPECT_FALSE(impl_.WasAlternateProtocolRecentlyBroken(host_port_pair)); 517 EXPECT_FALSE(impl_.WasAlternateProtocolRecentlyBroken(host_port_pair));
519 518
520 base::TimeTicks past = 519 base::TimeTicks past =
521 base::TimeTicks::Now() - base::TimeDelta::FromSeconds(42); 520 base::TimeTicks::Now() - base::TimeDelta::FromSeconds(42);
522 HttpServerPropertiesImplPeer::AddBrokenAlternativeServiceWithExpirationTime( 521 HttpServerPropertiesImplPeer::AddBrokenAlternativeServiceWithExpirationTime(
523 impl_, alternative_service, past); 522 impl_, alternative_service, past);
524 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service)); 523 EXPECT_TRUE(impl_.IsAlternativeServiceBroken(alternative_service));
525 EXPECT_TRUE(impl_.WasAlternateProtocolRecentlyBroken(host_port_pair)); 524 EXPECT_TRUE(impl_.WasAlternateProtocolRecentlyBroken(host_port_pair));
526 525
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 EXPECT_EQ(100, stats2->bandwidth_estimate.ToBitsPerSecond()); 793 EXPECT_EQ(100, stats2->bandwidth_estimate.ToBitsPerSecond());
795 794
796 impl_.Clear(); 795 impl_.Clear();
797 const ServerNetworkStats* stats3 = impl_.GetServerNetworkStats(foo_server); 796 const ServerNetworkStats* stats3 = impl_.GetServerNetworkStats(foo_server);
798 EXPECT_EQ(NULL, stats3); 797 EXPECT_EQ(NULL, stats3);
799 } 798 }
800 799
801 } // namespace 800 } // namespace
802 801
803 } // namespace net 802 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_server_properties_impl.cc ('k') | net/http/http_server_properties_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698