Chromium Code Reviews| 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 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 283 | 283 |
| 284 TEST_F(SpdySettingsServerPropertiesTest, Initialize) { | 284 TEST_F(SpdySettingsServerPropertiesTest, Initialize) { |
| 285 HostPortPair spdy_server_google("www.google.com", 443); | 285 HostPortPair spdy_server_google("www.google.com", 443); |
| 286 | 286 |
| 287 // Check by initializing empty spdy settings. | 287 // Check by initializing empty spdy settings. |
| 288 SpdySettingsMap spdy_settings_map; | 288 SpdySettingsMap spdy_settings_map; |
| 289 impl_.InitializeSpdySettingsServers(&spdy_settings_map); | 289 impl_.InitializeSpdySettingsServers(&spdy_settings_map); |
| 290 EXPECT_TRUE(impl_.GetSpdySettings(spdy_server_google).empty()); | 290 EXPECT_TRUE(impl_.GetSpdySettings(spdy_server_google).empty()); |
| 291 | 291 |
| 292 // Check by initializing with www.google.com:443 spdy server settings. | 292 // Check by initializing with www.google.com:443 spdy server settings. |
| 293 spdy::SpdySettings spdy_settings; | 293 spdy::SettingsMap settings_map; |
| 294 spdy::SettingsFlagsAndId spdy_setting(spdy::SETTINGS_FLAG_PERSISTED, 1234); | 294 const uint32 id = 1234; |
| 295 spdy_settings.push_back(std::make_pair(spdy_setting, 31337)); | 295 const uint8 flags = spdy::SETTINGS_FLAG_PERSISTED; |
| 296 spdy_settings_map[spdy_server_google] = spdy_settings; | 296 const uint32 value = 31337; |
| 297 spdy::SettingsFlagsAndValue flags_and_value(flags, value); | |
| 298 settings_map[id] = flags_and_value; | |
| 299 spdy_settings_map[spdy_server_google] = settings_map; | |
| 297 impl_.InitializeSpdySettingsServers(&spdy_settings_map); | 300 impl_.InitializeSpdySettingsServers(&spdy_settings_map); |
| 298 spdy::SpdySettings spdy_settings2 = impl_.GetSpdySettings(spdy_server_google); | |
| 299 ASSERT_EQ(1U, spdy_settings2.size()); | |
| 300 spdy::SpdySetting spdy_setting2 = spdy_settings2.front(); | |
| 301 spdy::SettingsFlagsAndId id2_ret(spdy_setting2.first); | |
| 302 EXPECT_EQ(1234U, id2_ret.id()); | |
| 303 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id2_ret.flags()); | |
| 304 EXPECT_EQ(31337U, spdy_settings2.front().second); | |
| 305 } | |
| 306 | 301 |
| 307 TEST_F(SpdySettingsServerPropertiesTest, SetSpdySettings) { | 302 const spdy::SettingsMap& settings_map2 = |
|
Ryan Hamilton
2012/03/21 16:24:41
What happened to this test? Is it now redundant?
ramant (doing other things)
2012/03/23 04:11:25
It is redundant. tx.
| |
| 308 HostPortPair spdy_server_empty("", 443); | |
| 309 spdy::SpdySettings spdy_settings0 = impl_.GetSpdySettings(spdy_server_empty); | |
| 310 EXPECT_EQ(0U, spdy_settings0.size()); // Returns kEmptySpdySettings | |
| 311 | |
| 312 // Add www.google.com:443 as persisting. | |
| 313 HostPortPair spdy_server_google("www.google.com", 443); | |
| 314 spdy::SpdySettings spdy_settings1; | |
| 315 spdy::SettingsFlagsAndId id1(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 1234); | |
| 316 spdy_settings1.push_back(std::make_pair(id1, 31337)); | |
| 317 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_google, spdy_settings1)); | |
| 318 spdy::SpdySettings spdy_settings1_ret = | |
| 319 impl_.GetSpdySettings(spdy_server_google); | 303 impl_.GetSpdySettings(spdy_server_google); |
| 320 ASSERT_EQ(1U, spdy_settings1_ret.size()); | 304 ASSERT_EQ(1U, settings_map2.size()); |
| 321 spdy::SpdySetting spdy_setting1_ret = spdy_settings1_ret.front(); | 305 spdy::SettingsMap::const_iterator it = settings_map2.find(id); |
| 322 spdy::SettingsFlagsAndId id1_ret(spdy_setting1_ret.first); | 306 EXPECT_NE(it, settings_map2.end()); |
| 323 EXPECT_EQ(1234U, id1_ret.id()); | 307 spdy::SettingsFlagsAndValue flags_and_value2 = it->second; |
| 324 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id1_ret.flags()); | 308 EXPECT_EQ(flags, flags_and_value2.first); |
| 325 EXPECT_EQ(31337U, spdy_setting1_ret.second); | 309 EXPECT_EQ(value, flags_and_value2.second); |
| 326 | |
| 327 // Add mail.google.com:443 as not persisting. | |
| 328 HostPortPair spdy_server_mail("mail.google.com", 443); | |
| 329 spdy::SpdySettings spdy_settings2; | |
| 330 spdy::SettingsFlagsAndId id2(0, 5678); | |
| 331 spdy_settings2.push_back(std::make_pair(id2, 62667)); | |
| 332 EXPECT_FALSE(impl_.SetSpdySettings(spdy_server_mail, spdy_settings2)); | |
| 333 spdy::SpdySettings spdy_settings2_ret = | |
| 334 impl_.GetSpdySettings(spdy_server_mail); | |
| 335 EXPECT_EQ(0U, spdy_settings2_ret.size()); // Returns kEmptySpdySettings | |
| 336 | |
| 337 // Add docs.google.com:443 as persisting | |
| 338 HostPortPair spdy_server_docs("docs.google.com", 443); | |
| 339 spdy::SpdySettings spdy_settings3; | |
| 340 spdy::SettingsFlagsAndId id3(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 9012); | |
| 341 spdy_settings3.push_back(std::make_pair(id3, 93997)); | |
| 342 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_docs, spdy_settings3)); | |
| 343 spdy::SpdySettings spdy_settings3_ret = | |
| 344 impl_.GetSpdySettings(spdy_server_docs); | |
| 345 ASSERT_EQ(1U, spdy_settings3_ret.size()); | |
| 346 spdy::SpdySetting spdy_setting3_ret = spdy_settings3_ret.front(); | |
| 347 spdy::SettingsFlagsAndId id3_ret(spdy_setting3_ret.first); | |
| 348 EXPECT_EQ(9012U, id3_ret.id()); | |
| 349 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id3_ret.flags()); | |
| 350 EXPECT_EQ(93997U, spdy_setting3_ret.second); | |
| 351 } | 310 } |
| 352 | 311 |
| 353 TEST_F(SpdySettingsServerPropertiesTest, SetSpdySetting) { | 312 TEST_F(SpdySettingsServerPropertiesTest, SetSpdySetting) { |
| 354 HostPortPair spdy_server_empty("", 443); | 313 HostPortPair spdy_server_empty("", 443); |
| 355 spdy::SpdySettings spdy_settings0 = impl_.GetSpdySettings(spdy_server_empty); | 314 const spdy::SettingsMap& settings_map0 = |
| 356 EXPECT_EQ(0U, spdy_settings0.size()); // Returns kEmptySpdySettings | 315 impl_.GetSpdySettings(spdy_server_empty); |
| 316 EXPECT_EQ(0U, settings_map0.size()); // Returns kEmptySettingsMap. | |
| 357 | 317 |
| 358 // Add www.google.com:443 as persisting. | 318 // Add www.google.com:443 as persisting. |
| 359 HostPortPair spdy_server_google("www.google.com", 443); | 319 HostPortPair spdy_server_google("www.google.com", 443); |
| 360 spdy::SettingsFlagsAndId id1(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 1234); | 320 const uint32 id1 = 1234; |
| 361 EXPECT_TRUE(impl_.SetSpdySetting( | 321 const uint8 flags1 = spdy::SETTINGS_FLAG_PLEASE_PERSIST; |
| 362 spdy_server_google, std::make_pair(id1, 31337))); | 322 const uint32 value1 = 31337; |
| 363 spdy::SpdySettings spdy_settings1_ret = | 323 spdy::SettingsFlagsAndValue flags_and_value1(flags1, value1); |
| 324 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_google, id1, flags_and_value1)); | |
| 325 // Check the values. | |
| 326 const spdy::SettingsMap& settings_map1_ret = | |
| 364 impl_.GetSpdySettings(spdy_server_google); | 327 impl_.GetSpdySettings(spdy_server_google); |
| 365 ASSERT_EQ(1U, spdy_settings1_ret.size()); | 328 ASSERT_EQ(1U, settings_map1_ret.size()); |
| 366 spdy::SpdySetting spdy_setting1_ret = spdy_settings1_ret.front(); | 329 spdy::SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1); |
| 367 spdy::SettingsFlagsAndId id1_ret(spdy_setting1_ret.first); | 330 EXPECT_NE(it1_ret, settings_map1_ret.end()); |
| 368 EXPECT_EQ(1234U, id1_ret.id()); | 331 spdy::SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second; |
| 369 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id1_ret.flags()); | 332 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first); |
| 370 EXPECT_EQ(31337U, spdy_setting1_ret.second); | 333 EXPECT_EQ(value1, flags_and_value1_ret.second); |
| 371 | 334 |
| 372 // Add mail.google.com:443 as not persisting. | 335 // Add mail.google.com:443 as not persisting. |
| 373 HostPortPair spdy_server_mail("mail.google.com", 443); | 336 HostPortPair spdy_server_mail("mail.google.com", 443); |
| 374 spdy::SettingsFlagsAndId id2(0, 5678); | 337 const uint32 id2 = 5678; |
| 375 EXPECT_FALSE(impl_.SetSpdySetting( | 338 const uint8 flags2 = 0; |
| 376 spdy_server_mail, std::make_pair(id2, 62667))); | 339 const uint32 value2 = 62667; |
| 377 spdy::SpdySettings spdy_settings2_ret = | 340 spdy::SettingsFlagsAndValue flags_and_value2(flags2, value2); |
| 341 EXPECT_FALSE(impl_.SetSpdySetting(spdy_server_mail, id2, flags_and_value2)); | |
| 342 const spdy::SettingsMap& settings_map2_ret = | |
| 378 impl_.GetSpdySettings(spdy_server_mail); | 343 impl_.GetSpdySettings(spdy_server_mail); |
| 379 EXPECT_EQ(0U, spdy_settings2_ret.size()); // Returns kEmptySpdySettings | 344 EXPECT_EQ(0U, settings_map2_ret.size()); // Returns kEmptySettingsMap. |
| 380 | 345 |
| 381 // Add docs.google.com:443 as persisting | 346 // Add docs.google.com:443 as persisting |
| 382 HostPortPair spdy_server_docs("docs.google.com", 443); | 347 HostPortPair spdy_server_docs("docs.google.com", 443); |
| 383 spdy::SettingsFlagsAndId id3(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 9012); | 348 const uint32 id3 = 9012; |
| 384 EXPECT_TRUE(impl_.SetSpdySetting( | 349 const uint8 flags3 = spdy::SETTINGS_FLAG_PLEASE_PERSIST; |
| 385 spdy_server_docs, std::make_pair(id3, 93997))); | 350 const uint32 value3 = 93997; |
| 386 spdy::SpdySettings spdy_settings3_ret = | 351 spdy::SettingsFlagsAndValue flags_and_value3(flags3, value3); |
| 352 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_docs, id3, flags_and_value3)); | |
| 353 // Check the values. | |
| 354 const spdy::SettingsMap& settings_map3_ret = | |
| 387 impl_.GetSpdySettings(spdy_server_docs); | 355 impl_.GetSpdySettings(spdy_server_docs); |
| 388 ASSERT_EQ(1U, spdy_settings3_ret.size()); | 356 ASSERT_EQ(1U, settings_map3_ret.size()); |
| 389 spdy::SpdySetting spdy_setting3_ret = spdy_settings3_ret.front(); | 357 spdy::SettingsMap::const_iterator it3_ret = settings_map3_ret.find(id3); |
| 390 spdy::SettingsFlagsAndId id3_ret(spdy_setting3_ret.first); | 358 EXPECT_NE(it3_ret, settings_map3_ret.end()); |
| 391 EXPECT_EQ(9012U, id3_ret.id()); | 359 spdy::SettingsFlagsAndValue flags_and_value3_ret = it3_ret->second; |
| 392 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id3_ret.flags()); | 360 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, flags_and_value3_ret.first); |
| 393 EXPECT_EQ(93997U, spdy_setting3_ret.second); | 361 EXPECT_EQ(value3, flags_and_value3_ret.second); |
| 394 // Check data for www.google.com:443. | 362 |
| 395 spdy::SpdySettings spdy_settings4_ret = | 363 // Check data for www.google.com:443 (id1). |
| 364 const spdy::SettingsMap& settings_map4_ret = | |
| 396 impl_.GetSpdySettings(spdy_server_google); | 365 impl_.GetSpdySettings(spdy_server_google); |
| 397 ASSERT_EQ(1U, spdy_settings4_ret.size()); | 366 ASSERT_EQ(1U, settings_map4_ret.size()); |
| 398 spdy::SpdySetting spdy_setting4_ret = spdy_settings4_ret.front(); | 367 spdy::SettingsMap::const_iterator it4_ret = settings_map4_ret.find(id1); |
| 399 spdy::SettingsFlagsAndId id4_ret(spdy_setting4_ret.first); | 368 EXPECT_NE(it4_ret, settings_map4_ret.end()); |
| 400 EXPECT_EQ(1234U, id4_ret.id()); | 369 spdy::SettingsFlagsAndValue flags_and_value4_ret = it4_ret->second; |
| 401 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id4_ret.flags()); | 370 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, flags_and_value4_ret.first); |
| 402 EXPECT_EQ(31337U, spdy_setting4_ret.second); | 371 EXPECT_EQ(value1, flags_and_value1_ret.second); |
| 403 } | 372 } |
| 404 | 373 |
| 405 TEST_F(SpdySettingsServerPropertiesTest, Clear) { | 374 TEST_F(SpdySettingsServerPropertiesTest, Clear) { |
| 406 // Add www.google.com:443 as persisting. | 375 // Add www.google.com:443 as persisting. |
| 407 HostPortPair spdy_server_google("www.google.com", 443); | 376 HostPortPair spdy_server_google("www.google.com", 443); |
| 408 spdy::SpdySettings spdy_settings1; | 377 const uint32 id1 = 1234; |
| 409 spdy::SettingsFlagsAndId id1(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 1234); | 378 const uint8 flags1 = spdy::SETTINGS_FLAG_PLEASE_PERSIST; |
| 410 spdy_settings1.push_back(std::make_pair(id1, 31337)); | 379 const uint32 value1 = 31337; |
| 411 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_google, spdy_settings1)); | 380 spdy::SettingsFlagsAndValue flags_and_value1(flags1, value1); |
| 412 spdy::SpdySettings spdy_settings1_ret = | 381 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_google, id1, flags_and_value1)); |
| 382 // Check the values. | |
| 383 const spdy::SettingsMap& settings_map1_ret = | |
| 413 impl_.GetSpdySettings(spdy_server_google); | 384 impl_.GetSpdySettings(spdy_server_google); |
| 414 ASSERT_EQ(1U, spdy_settings1_ret.size()); | 385 ASSERT_EQ(1U, settings_map1_ret.size()); |
| 415 spdy::SpdySetting spdy_setting1_ret = spdy_settings1_ret.front(); | 386 spdy::SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1); |
| 416 spdy::SettingsFlagsAndId id1_ret(spdy_setting1_ret.first); | 387 EXPECT_NE(it1_ret, settings_map1_ret.end()); |
| 417 EXPECT_EQ(1234U, id1_ret.id()); | 388 spdy::SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second; |
| 418 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id1_ret.flags()); | 389 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first); |
| 419 EXPECT_EQ(31337U, spdy_setting1_ret.second); | 390 EXPECT_EQ(value1, flags_and_value1_ret.second); |
| 420 | 391 |
| 421 // Add docs.google.com:443 as persisting | 392 // Add docs.google.com:443 as persisting |
| 422 HostPortPair spdy_server_docs("docs.google.com", 443); | 393 HostPortPair spdy_server_docs("docs.google.com", 443); |
| 423 spdy::SpdySettings spdy_settings3; | 394 const uint32 id3 = 9012; |
| 424 spdy::SettingsFlagsAndId id3(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 9012); | 395 const uint8 flags3 = spdy::SETTINGS_FLAG_PLEASE_PERSIST; |
| 425 spdy_settings3.push_back(std::make_pair(id3, 93997)); | 396 const uint32 value3 = 93997; |
| 426 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_docs, spdy_settings3)); | 397 spdy::SettingsFlagsAndValue flags_and_value3(flags3, value3); |
| 427 spdy::SpdySettings spdy_settings3_ret = | 398 EXPECT_TRUE(impl_.SetSpdySetting(spdy_server_docs, id3, flags_and_value3)); |
| 399 // Check the values. | |
| 400 const spdy::SettingsMap& settings_map3_ret = | |
| 428 impl_.GetSpdySettings(spdy_server_docs); | 401 impl_.GetSpdySettings(spdy_server_docs); |
| 429 ASSERT_EQ(1U, spdy_settings3_ret.size()); | 402 ASSERT_EQ(1U, settings_map3_ret.size()); |
| 430 spdy::SpdySetting spdy_setting3_ret = spdy_settings3_ret.front(); | 403 spdy::SettingsMap::const_iterator it3_ret = settings_map3_ret.find(id3); |
| 431 spdy::SettingsFlagsAndId id3_ret(spdy_setting3_ret.first); | 404 EXPECT_NE(it3_ret, settings_map3_ret.end()); |
| 432 EXPECT_EQ(9012U, id3_ret.id()); | 405 spdy::SettingsFlagsAndValue flags_and_value3_ret = it3_ret->second; |
| 433 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id3_ret.flags()); | 406 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, flags_and_value3_ret.first); |
| 434 EXPECT_EQ(93997U, spdy_setting3_ret.second); | 407 EXPECT_EQ(value3, flags_and_value3_ret.second); |
| 435 | 408 |
| 436 impl_.Clear(); | 409 impl_.Clear(); |
| 437 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_google).size()); | 410 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_google).size()); |
| 438 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_docs).size()); | 411 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_docs).size()); |
| 439 } | 412 } |
| 440 | 413 |
| 441 } // namespace | 414 } // namespace |
| 442 | 415 |
| 443 } // namespace net | 416 } // namespace net |
| OLD | NEW |