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

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

Issue 9802003: SPDY - persist SPDY settings. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 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 | Annotate | Revision Log
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 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698