OLD | NEW |
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 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 impl_.SetAlternateProtocolProbabilityThreshold(.75); | 279 impl_.SetAlternateProtocolProbabilityThreshold(.75); |
280 | 280 |
281 HostPortPair test_host_port_pair("foo", 80); | 281 HostPortPair test_host_port_pair("foo", 80); |
282 | 282 |
283 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .5); | 283 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, .5); |
284 EXPECT_FALSE(impl_.HasAlternateProtocol(test_host_port_pair)); | 284 EXPECT_FALSE(impl_.HasAlternateProtocol(test_host_port_pair)); |
285 } | 285 } |
286 | 286 |
287 TEST_F(AlternateProtocolServerPropertiesTest, Initialize) { | 287 TEST_F(AlternateProtocolServerPropertiesTest, Initialize) { |
288 HostPortPair test_host_port_pair1("foo1", 80); | 288 HostPortPair test_host_port_pair1("foo1", 80); |
| 289 impl_.SetAlternateProtocol(test_host_port_pair1, 443, NPN_SPDY_3, 1); |
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); | 292 impl_.SetAlternateProtocol(test_host_port_pair2, 443, NPN_SPDY_3, 1); |
292 | 293 |
293 AlternateProtocolMap alternate_protocol_map( | 294 AlternateProtocolMap alternate_protocol_map( |
294 AlternateProtocolMap::NO_AUTO_EVICT); | 295 AlternateProtocolMap::NO_AUTO_EVICT); |
295 AlternateProtocolInfo port_alternate_protocol_pair(123, NPN_SPDY_3, 1); | 296 AlternateProtocolInfo alternate(123, NPN_SPDY_3, 1); |
296 alternate_protocol_map.Put(test_host_port_pair2, | 297 alternate_protocol_map.Put(test_host_port_pair2, alternate); |
297 port_alternate_protocol_pair); | |
298 HostPortPair test_host_port_pair3("foo3", 80); | 298 HostPortPair test_host_port_pair3("foo3", 80); |
299 port_alternate_protocol_pair.port = 1234; | 299 alternate.port = 1234; |
300 alternate_protocol_map.Put(test_host_port_pair3, | 300 alternate_protocol_map.Put(test_host_port_pair3, alternate); |
301 port_alternate_protocol_pair); | |
302 impl_.InitializeAlternateProtocolServers(&alternate_protocol_map); | 301 impl_.InitializeAlternateProtocolServers(&alternate_protocol_map); |
303 | 302 |
304 // Verify test_host_port_pair3 is the MRU server. | 303 // Verify test_host_port_pair3 is the MRU server. |
305 const net::AlternateProtocolMap& map = impl_.alternate_protocol_map(); | 304 const net::AlternateProtocolMap& map = impl_.alternate_protocol_map(); |
306 net::AlternateProtocolMap::const_iterator it = map.begin(); | 305 net::AlternateProtocolMap::const_iterator it = map.begin(); |
307 it = map.begin(); | 306 it = map.begin(); |
308 EXPECT_TRUE(it->first.Equals(test_host_port_pair3)); | 307 EXPECT_TRUE(it->first.Equals(test_host_port_pair3)); |
309 EXPECT_EQ(1234, it->second.port); | 308 EXPECT_EQ(1234, it->second.port); |
310 EXPECT_EQ(NPN_SPDY_3, it->second.protocol); | 309 EXPECT_EQ(NPN_SPDY_3, it->second.protocol); |
311 | 310 |
312 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair1)); | 311 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair1)); |
313 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair2)); | 312 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair2)); |
314 port_alternate_protocol_pair = | 313 alternate = impl_.GetAlternateProtocol(test_host_port_pair1); |
315 impl_.GetAlternateProtocol(test_host_port_pair1); | 314 EXPECT_TRUE(alternate.is_broken); |
316 EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, port_alternate_protocol_pair.protocol); | 315 alternate = impl_.GetAlternateProtocol(test_host_port_pair2); |
317 port_alternate_protocol_pair = | 316 EXPECT_EQ(123, alternate.port); |
318 impl_.GetAlternateProtocol(test_host_port_pair2); | 317 EXPECT_EQ(NPN_SPDY_3, alternate.protocol); |
319 EXPECT_EQ(123, port_alternate_protocol_pair.port); | |
320 EXPECT_EQ(NPN_SPDY_3, port_alternate_protocol_pair.protocol); | |
321 } | 318 } |
322 | 319 |
323 TEST_F(AlternateProtocolServerPropertiesTest, MRUOfHasAlternateProtocol) { | 320 TEST_F(AlternateProtocolServerPropertiesTest, MRUOfHasAlternateProtocol) { |
324 HostPortPair test_host_port_pair1("foo1", 80); | 321 HostPortPair test_host_port_pair1("foo1", 80); |
325 impl_.SetAlternateProtocol(test_host_port_pair1, 443, NPN_SPDY_3, 1); | 322 impl_.SetAlternateProtocol(test_host_port_pair1, 443, NPN_SPDY_3, 1); |
326 HostPortPair test_host_port_pair2("foo2", 80); | 323 HostPortPair test_host_port_pair2("foo2", 80); |
327 impl_.SetAlternateProtocol(test_host_port_pair2, 1234, NPN_SPDY_3, 1); | 324 impl_.SetAlternateProtocol(test_host_port_pair2, 1234, NPN_SPDY_3, 1); |
328 | 325 |
329 const net::AlternateProtocolMap& map = impl_.alternate_protocol_map(); | 326 const net::AlternateProtocolMap& map = impl_.alternate_protocol_map(); |
330 net::AlternateProtocolMap::const_iterator it = map.begin(); | 327 net::AlternateProtocolMap::const_iterator it = map.begin(); |
(...skipping 27 matching lines...) Expand all Loading... |
358 EXPECT_EQ(443, alternate.port); | 355 EXPECT_EQ(443, alternate.port); |
359 EXPECT_EQ(NPN_SPDY_3, alternate.protocol); | 356 EXPECT_EQ(NPN_SPDY_3, alternate.protocol); |
360 it = map.begin(); | 357 it = map.begin(); |
361 EXPECT_TRUE(it->first.Equals(test_host_port_pair1)); | 358 EXPECT_TRUE(it->first.Equals(test_host_port_pair1)); |
362 EXPECT_EQ(443, it->second.port); | 359 EXPECT_EQ(443, it->second.port); |
363 EXPECT_EQ(NPN_SPDY_3, it->second.protocol); | 360 EXPECT_EQ(NPN_SPDY_3, it->second.protocol); |
364 } | 361 } |
365 | 362 |
366 TEST_F(AlternateProtocolServerPropertiesTest, SetBroken) { | 363 TEST_F(AlternateProtocolServerPropertiesTest, SetBroken) { |
367 HostPortPair test_host_port_pair("foo", 80); | 364 HostPortPair test_host_port_pair("foo", 80); |
| 365 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1); |
368 impl_.SetBrokenAlternateProtocol(test_host_port_pair); | 366 impl_.SetBrokenAlternateProtocol(test_host_port_pair); |
369 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); | 367 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); |
370 AlternateProtocolInfo alternate = | 368 AlternateProtocolInfo alternate = |
371 impl_.GetAlternateProtocol(test_host_port_pair); | 369 impl_.GetAlternateProtocol(test_host_port_pair); |
372 EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, alternate.protocol); | 370 EXPECT_TRUE(alternate.is_broken); |
373 | 371 |
374 impl_.SetAlternateProtocol( | 372 impl_.SetAlternateProtocol( |
375 test_host_port_pair, | 373 test_host_port_pair, |
376 1234, | 374 1234, |
377 NPN_SPDY_3, | 375 NPN_SPDY_3, |
378 1); | 376 1); |
379 alternate = impl_.GetAlternateProtocol(test_host_port_pair); | 377 alternate = impl_.GetAlternateProtocol(test_host_port_pair); |
380 EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, alternate.protocol) | 378 EXPECT_TRUE(alternate.is_broken) << "Second attempt should be ignored."; |
381 << "Second attempt should be ignored."; | |
382 } | 379 } |
383 | 380 |
384 TEST_F(AlternateProtocolServerPropertiesTest, ClearBroken) { | 381 TEST_F(AlternateProtocolServerPropertiesTest, ClearBroken) { |
385 HostPortPair test_host_port_pair("foo", 80); | 382 HostPortPair test_host_port_pair("foo", 80); |
| 383 impl_.SetAlternateProtocol(test_host_port_pair, 443, NPN_SPDY_3, 1); |
386 impl_.SetBrokenAlternateProtocol(test_host_port_pair); | 384 impl_.SetBrokenAlternateProtocol(test_host_port_pair); |
387 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); | 385 ASSERT_TRUE(impl_.HasAlternateProtocol(test_host_port_pair)); |
388 AlternateProtocolInfo alternate = | 386 AlternateProtocolInfo alternate = |
389 impl_.GetAlternateProtocol(test_host_port_pair); | 387 impl_.GetAlternateProtocol(test_host_port_pair); |
390 EXPECT_EQ(ALTERNATE_PROTOCOL_BROKEN, alternate.protocol); | 388 EXPECT_TRUE(alternate.is_broken); |
391 impl_.ClearAlternateProtocol(test_host_port_pair); | 389 impl_.ClearAlternateProtocol(test_host_port_pair); |
392 EXPECT_FALSE(impl_.HasAlternateProtocol(test_host_port_pair)); | 390 EXPECT_FALSE(impl_.HasAlternateProtocol(test_host_port_pair)); |
393 } | 391 } |
394 | 392 |
395 TEST_F(AlternateProtocolServerPropertiesTest, Forced) { | 393 TEST_F(AlternateProtocolServerPropertiesTest, Forced) { |
396 // Test forced alternate protocols. | 394 // Test forced alternate protocols. |
397 | 395 |
398 AlternateProtocolInfo default_protocol(1234, NPN_SPDY_3, 1); | 396 AlternateProtocolInfo default_protocol(1234, NPN_SPDY_3, 1); |
399 HttpServerPropertiesImpl::ForceAlternateProtocol(default_protocol); | 397 HttpServerPropertiesImpl::ForceAlternateProtocol(default_protocol); |
400 | 398 |
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
712 EXPECT_EQ("foo", supports_quic1.address); | 710 EXPECT_EQ("foo", supports_quic1.address); |
713 | 711 |
714 impl_.Clear(); | 712 impl_.Clear(); |
715 SupportsQuic supports_quic2 = impl_.GetSupportsQuic(test_host_port_pair); | 713 SupportsQuic supports_quic2 = impl_.GetSupportsQuic(test_host_port_pair); |
716 EXPECT_FALSE(supports_quic2.used_quic); | 714 EXPECT_FALSE(supports_quic2.used_quic); |
717 EXPECT_EQ("", supports_quic2.address); | 715 EXPECT_EQ("", supports_quic2.address); |
718 } | 716 } |
719 } // namespace | 717 } // namespace |
720 | 718 |
721 } // namespace net | 719 } // namespace net |
OLD | NEW |