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 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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::SpdySettings spdy_settings; |
294 spdy::SettingsFlagsAndId spdy_setting(0); | 294 spdy::SettingsFlagsAndId spdy_setting(spdy::SETTINGS_FLAG_PERSISTED, 1234); |
295 spdy_setting.set_flags(spdy::SETTINGS_FLAG_PERSISTED); | |
296 spdy_setting.set_id(1234); | |
297 spdy_settings.push_back(std::make_pair(spdy_setting, 31337)); | 295 spdy_settings.push_back(std::make_pair(spdy_setting, 31337)); |
298 spdy_settings_map[spdy_server_google] = spdy_settings; | 296 spdy_settings_map[spdy_server_google] = spdy_settings; |
299 impl_.InitializeSpdySettingsServers(&spdy_settings_map); | 297 impl_.InitializeSpdySettingsServers(&spdy_settings_map); |
300 spdy::SpdySettings spdy_settings2 = impl_.GetSpdySettings(spdy_server_google); | 298 spdy::SpdySettings spdy_settings2 = impl_.GetSpdySettings(spdy_server_google); |
301 ASSERT_EQ(1U, spdy_settings2.size()); | 299 ASSERT_EQ(1U, spdy_settings2.size()); |
302 spdy::SpdySetting spdy_setting2 = spdy_settings2.front(); | 300 spdy::SpdySetting spdy_setting2 = spdy_settings2.front(); |
303 spdy::SettingsFlagsAndId id2_ret(spdy_setting2.first); | 301 spdy::SettingsFlagsAndId id2_ret(spdy_setting2.first); |
304 EXPECT_EQ(1234U, id2_ret.id()); | 302 EXPECT_EQ(1234U, id2_ret.id()); |
305 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id2_ret.flags()); | 303 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id2_ret.flags()); |
306 EXPECT_EQ(31337U, spdy_settings2.front().second); | 304 EXPECT_EQ(31337U, spdy_settings2.front().second); |
307 } | 305 } |
308 | 306 |
309 TEST_F(SpdySettingsServerPropertiesTest, SpdySettingsTest) { | 307 TEST_F(SpdySettingsServerPropertiesTest, SetSpdySettings) { |
310 HostPortPair spdy_server_empty("", 443); | 308 HostPortPair spdy_server_empty("", 443); |
311 spdy::SpdySettings spdy_settings0 = impl_.GetSpdySettings(spdy_server_empty); | 309 spdy::SpdySettings spdy_settings0 = impl_.GetSpdySettings(spdy_server_empty); |
312 EXPECT_EQ(0U, spdy_settings0.size()); // Returns kEmptySpdySettings | 310 EXPECT_EQ(0U, spdy_settings0.size()); // Returns kEmptySpdySettings |
313 | 311 |
314 // Add www.google.com:443 as persisting. | 312 // Add www.google.com:443 as persisting. |
315 HostPortPair spdy_server_google("www.google.com", 443); | 313 HostPortPair spdy_server_google("www.google.com", 443); |
316 spdy::SpdySettings spdy_settings1; | 314 spdy::SpdySettings spdy_settings1; |
317 spdy::SettingsFlagsAndId id1(0); | 315 spdy::SettingsFlagsAndId id1(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 1234); |
318 id1.set_flags(spdy::SETTINGS_FLAG_PLEASE_PERSIST); | |
319 id1.set_id(1234); | |
320 spdy_settings1.push_back(std::make_pair(id1, 31337)); | 316 spdy_settings1.push_back(std::make_pair(id1, 31337)); |
321 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_google, spdy_settings1)); | 317 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_google, spdy_settings1)); |
322 spdy::SpdySettings spdy_settings1_ret = | 318 spdy::SpdySettings spdy_settings1_ret = |
323 impl_.GetSpdySettings(spdy_server_google); | 319 impl_.GetSpdySettings(spdy_server_google); |
324 ASSERT_EQ(1U, spdy_settings1_ret.size()); | 320 ASSERT_EQ(1U, spdy_settings1_ret.size()); |
325 spdy::SpdySetting spdy_setting1_ret = spdy_settings1_ret.front(); | 321 spdy::SpdySetting spdy_setting1_ret = spdy_settings1_ret.front(); |
326 spdy::SettingsFlagsAndId id1_ret(spdy_setting1_ret.first); | 322 spdy::SettingsFlagsAndId id1_ret(spdy_setting1_ret.first); |
327 EXPECT_EQ(1234U, id1_ret.id()); | 323 EXPECT_EQ(1234U, id1_ret.id()); |
328 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id1_ret.flags()); | 324 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id1_ret.flags()); |
329 EXPECT_EQ(31337U, spdy_setting1_ret.second); | 325 EXPECT_EQ(31337U, spdy_setting1_ret.second); |
330 | 326 |
331 // Add mail.google.com:443 as not persisting. | 327 // Add mail.google.com:443 as not persisting. |
332 HostPortPair spdy_server_mail("mail.google.com", 443); | 328 HostPortPair spdy_server_mail("mail.google.com", 443); |
333 spdy::SpdySettings spdy_settings2; | 329 spdy::SpdySettings spdy_settings2; |
334 spdy::SettingsFlagsAndId id2(0); | 330 spdy::SettingsFlagsAndId id2(0, 5678); |
335 id2.set_id(5678); | |
336 spdy_settings2.push_back(std::make_pair(id2, 62667)); | 331 spdy_settings2.push_back(std::make_pair(id2, 62667)); |
337 EXPECT_FALSE(impl_.SetSpdySettings(spdy_server_mail, spdy_settings2)); | 332 EXPECT_FALSE(impl_.SetSpdySettings(spdy_server_mail, spdy_settings2)); |
338 spdy::SpdySettings spdy_settings2_ret = | 333 spdy::SpdySettings spdy_settings2_ret = |
339 impl_.GetSpdySettings(spdy_server_mail); | 334 impl_.GetSpdySettings(spdy_server_mail); |
340 EXPECT_EQ(0U, spdy_settings2_ret.size()); // Returns kEmptySpdySettings | 335 EXPECT_EQ(0U, spdy_settings2_ret.size()); // Returns kEmptySpdySettings |
341 | 336 |
342 // Add docs.google.com:443 as persisting | 337 // Add docs.google.com:443 as persisting |
343 HostPortPair spdy_server_docs("docs.google.com", 443); | 338 HostPortPair spdy_server_docs("docs.google.com", 443); |
344 spdy::SpdySettings spdy_settings3; | 339 spdy::SpdySettings spdy_settings3; |
345 spdy::SettingsFlagsAndId id3(0); | 340 spdy::SettingsFlagsAndId id3(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 9012); |
346 id3.set_flags(spdy::SETTINGS_FLAG_PLEASE_PERSIST); | |
347 id3.set_id(9012); | |
348 spdy_settings3.push_back(std::make_pair(id3, 93997)); | 341 spdy_settings3.push_back(std::make_pair(id3, 93997)); |
349 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_docs, spdy_settings3)); | 342 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_docs, spdy_settings3)); |
350 spdy::SpdySettings spdy_settings3_ret = | 343 spdy::SpdySettings spdy_settings3_ret = |
351 impl_.GetSpdySettings(spdy_server_docs); | 344 impl_.GetSpdySettings(spdy_server_docs); |
352 ASSERT_EQ(1U, spdy_settings3_ret.size()); | 345 ASSERT_EQ(1U, spdy_settings3_ret.size()); |
353 spdy::SpdySetting spdy_setting3_ret = spdy_settings3_ret.front(); | 346 spdy::SpdySetting spdy_setting3_ret = spdy_settings3_ret.front(); |
354 spdy::SettingsFlagsAndId id3_ret(spdy_setting3_ret.first); | 347 spdy::SettingsFlagsAndId id3_ret(spdy_setting3_ret.first); |
355 EXPECT_EQ(9012U, id3_ret.id()); | 348 EXPECT_EQ(9012U, id3_ret.id()); |
356 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id3_ret.flags()); | 349 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id3_ret.flags()); |
357 EXPECT_EQ(93997U, spdy_setting3_ret.second); | 350 EXPECT_EQ(93997U, spdy_setting3_ret.second); |
358 } | 351 } |
359 | 352 |
| 353 TEST_F(SpdySettingsServerPropertiesTest, SetSpdySetting) { |
| 354 HostPortPair spdy_server_empty("", 443); |
| 355 spdy::SpdySettings spdy_settings0 = impl_.GetSpdySettings(spdy_server_empty); |
| 356 EXPECT_EQ(0U, spdy_settings0.size()); // Returns kEmptySpdySettings |
| 357 |
| 358 // Add www.google.com:443 as persisting. |
| 359 HostPortPair spdy_server_google("www.google.com", 443); |
| 360 spdy::SettingsFlagsAndId id1(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 1234); |
| 361 EXPECT_TRUE(impl_.SetSpdySetting( |
| 362 spdy_server_google, std::make_pair(id1, 31337))); |
| 363 spdy::SpdySettings spdy_settings1_ret = |
| 364 impl_.GetSpdySettings(spdy_server_google); |
| 365 ASSERT_EQ(1U, spdy_settings1_ret.size()); |
| 366 spdy::SpdySetting spdy_setting1_ret = spdy_settings1_ret.front(); |
| 367 spdy::SettingsFlagsAndId id1_ret(spdy_setting1_ret.first); |
| 368 EXPECT_EQ(1234U, id1_ret.id()); |
| 369 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id1_ret.flags()); |
| 370 EXPECT_EQ(31337U, spdy_setting1_ret.second); |
| 371 |
| 372 // Add mail.google.com:443 as not persisting. |
| 373 HostPortPair spdy_server_mail("mail.google.com", 443); |
| 374 spdy::SettingsFlagsAndId id2(0, 5678); |
| 375 EXPECT_FALSE(impl_.SetSpdySetting( |
| 376 spdy_server_mail, std::make_pair(id2, 62667))); |
| 377 spdy::SpdySettings spdy_settings2_ret = |
| 378 impl_.GetSpdySettings(spdy_server_mail); |
| 379 EXPECT_EQ(0U, spdy_settings2_ret.size()); // Returns kEmptySpdySettings |
| 380 |
| 381 // Add docs.google.com:443 as persisting |
| 382 HostPortPair spdy_server_docs("docs.google.com", 443); |
| 383 spdy::SettingsFlagsAndId id3(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 9012); |
| 384 EXPECT_TRUE(impl_.SetSpdySetting( |
| 385 spdy_server_docs, std::make_pair(id3, 93997))); |
| 386 spdy::SpdySettings spdy_settings3_ret = |
| 387 impl_.GetSpdySettings(spdy_server_docs); |
| 388 ASSERT_EQ(1U, spdy_settings3_ret.size()); |
| 389 spdy::SpdySetting spdy_setting3_ret = spdy_settings3_ret.front(); |
| 390 spdy::SettingsFlagsAndId id3_ret(spdy_setting3_ret.first); |
| 391 EXPECT_EQ(9012U, id3_ret.id()); |
| 392 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id3_ret.flags()); |
| 393 EXPECT_EQ(93997U, spdy_setting3_ret.second); |
| 394 // Check data for www.google.com:443. |
| 395 spdy::SpdySettings spdy_settings4_ret = |
| 396 impl_.GetSpdySettings(spdy_server_google); |
| 397 ASSERT_EQ(1U, spdy_settings4_ret.size()); |
| 398 spdy::SpdySetting spdy_setting4_ret = spdy_settings4_ret.front(); |
| 399 spdy::SettingsFlagsAndId id4_ret(spdy_setting4_ret.first); |
| 400 EXPECT_EQ(1234U, id4_ret.id()); |
| 401 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id4_ret.flags()); |
| 402 EXPECT_EQ(31337U, spdy_setting4_ret.second); |
| 403 } |
| 404 |
360 TEST_F(SpdySettingsServerPropertiesTest, Clear) { | 405 TEST_F(SpdySettingsServerPropertiesTest, Clear) { |
361 // Add www.google.com:443 as persisting. | 406 // Add www.google.com:443 as persisting. |
362 HostPortPair spdy_server_google("www.google.com", 443); | 407 HostPortPair spdy_server_google("www.google.com", 443); |
363 spdy::SpdySettings spdy_settings1; | 408 spdy::SpdySettings spdy_settings1; |
364 spdy::SettingsFlagsAndId id1(0); | 409 spdy::SettingsFlagsAndId id1(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 1234); |
365 id1.set_flags(spdy::SETTINGS_FLAG_PLEASE_PERSIST); | |
366 id1.set_id(1234); | |
367 spdy_settings1.push_back(std::make_pair(id1, 31337)); | 410 spdy_settings1.push_back(std::make_pair(id1, 31337)); |
368 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_google, spdy_settings1)); | 411 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_google, spdy_settings1)); |
369 spdy::SpdySettings spdy_settings1_ret = | 412 spdy::SpdySettings spdy_settings1_ret = |
370 impl_.GetSpdySettings(spdy_server_google); | 413 impl_.GetSpdySettings(spdy_server_google); |
371 ASSERT_EQ(1U, spdy_settings1_ret.size()); | 414 ASSERT_EQ(1U, spdy_settings1_ret.size()); |
372 spdy::SpdySetting spdy_setting1_ret = spdy_settings1_ret.front(); | 415 spdy::SpdySetting spdy_setting1_ret = spdy_settings1_ret.front(); |
373 spdy::SettingsFlagsAndId id1_ret(spdy_setting1_ret.first); | 416 spdy::SettingsFlagsAndId id1_ret(spdy_setting1_ret.first); |
374 EXPECT_EQ(1234U, id1_ret.id()); | 417 EXPECT_EQ(1234U, id1_ret.id()); |
375 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id1_ret.flags()); | 418 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id1_ret.flags()); |
376 EXPECT_EQ(31337U, spdy_setting1_ret.second); | 419 EXPECT_EQ(31337U, spdy_setting1_ret.second); |
377 | 420 |
378 // Add docs.google.com:443 as persisting | 421 // Add docs.google.com:443 as persisting |
379 HostPortPair spdy_server_docs("docs.google.com", 443); | 422 HostPortPair spdy_server_docs("docs.google.com", 443); |
380 spdy::SpdySettings spdy_settings3; | 423 spdy::SpdySettings spdy_settings3; |
381 spdy::SettingsFlagsAndId id3(0); | 424 spdy::SettingsFlagsAndId id3(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 9012); |
382 id3.set_flags(spdy::SETTINGS_FLAG_PLEASE_PERSIST); | |
383 id3.set_id(9012); | |
384 spdy_settings3.push_back(std::make_pair(id3, 93997)); | 425 spdy_settings3.push_back(std::make_pair(id3, 93997)); |
385 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_docs, spdy_settings3)); | 426 EXPECT_TRUE(impl_.SetSpdySettings(spdy_server_docs, spdy_settings3)); |
386 spdy::SpdySettings spdy_settings3_ret = | 427 spdy::SpdySettings spdy_settings3_ret = |
387 impl_.GetSpdySettings(spdy_server_docs); | 428 impl_.GetSpdySettings(spdy_server_docs); |
388 ASSERT_EQ(1U, spdy_settings3_ret.size()); | 429 ASSERT_EQ(1U, spdy_settings3_ret.size()); |
389 spdy::SpdySetting spdy_setting3_ret = spdy_settings3_ret.front(); | 430 spdy::SpdySetting spdy_setting3_ret = spdy_settings3_ret.front(); |
390 spdy::SettingsFlagsAndId id3_ret(spdy_setting3_ret.first); | 431 spdy::SettingsFlagsAndId id3_ret(spdy_setting3_ret.first); |
391 EXPECT_EQ(9012U, id3_ret.id()); | 432 EXPECT_EQ(9012U, id3_ret.id()); |
392 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id3_ret.flags()); | 433 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id3_ret.flags()); |
393 EXPECT_EQ(93997U, spdy_setting3_ret.second); | 434 EXPECT_EQ(93997U, spdy_setting3_ret.second); |
394 | 435 |
395 impl_.Clear(); | 436 impl_.Clear(); |
396 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_google).size()); | 437 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_google).size()); |
397 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_docs).size()); | 438 EXPECT_EQ(0U, impl_.GetSpdySettings(spdy_server_docs).size()); |
398 } | 439 } |
399 | 440 |
400 } // namespace | 441 } // namespace |
401 | 442 |
402 } // namespace net | 443 } // namespace net |
OLD | NEW |