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

Side by Side Diff: chrome/browser/net/http_server_properties_manager_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 "chrome/browser/net/http_server_properties_manager.h" 5 #include "chrome/browser/net/http_server_properties_manager.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/common/pref_names.h" 10 #include "chrome/common/pref_names.h"
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 EXPECT_FALSE(http_server_props_manager_->SupportsSpdy(spdy_server_mail)); 231 EXPECT_FALSE(http_server_props_manager_->SupportsSpdy(spdy_server_mail));
232 http_server_props_manager_->SetSupportsSpdy(spdy_server_mail, true); 232 http_server_props_manager_->SetSupportsSpdy(spdy_server_mail, true);
233 233
234 // Run the task. 234 // Run the task.
235 loop_.RunAllPending(); 235 loop_.RunAllPending();
236 236
237 EXPECT_TRUE(http_server_props_manager_->SupportsSpdy(spdy_server_mail)); 237 EXPECT_TRUE(http_server_props_manager_->SupportsSpdy(spdy_server_mail));
238 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 238 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
239 } 239 }
240 240
241 TEST_F(HttpServerPropertiesManagerTest, SetSpdySettings) {
242 ExpectPrefsUpdate();
243
244 // Add SpdySettings for mail.google.com:443.
245 net::HostPortPair spdy_server_mail("mail.google.com", 443);
246 spdy::SpdySettings spdy_settings;
247 spdy::SettingsFlagsAndId id1(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 1234);
248 spdy_settings.push_back(std::make_pair(id1, 31337));
249 http_server_props_manager_->SetSpdySettings(spdy_server_mail, spdy_settings);
250
251 // Run the task.
252 loop_.RunAllPending();
253
254 spdy::SpdySettings spdy_settings_ret =
255 http_server_props_manager_->GetSpdySettings(spdy_server_mail);
256 ASSERT_EQ(1U, spdy_settings_ret.size());
257 spdy::SpdySetting spdy_setting1_ret = spdy_settings_ret.front();
258 spdy::SettingsFlagsAndId id1_ret(spdy_setting1_ret.first);
259 EXPECT_EQ(1234U, id1_ret.id());
260 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id1_ret.flags());
261 EXPECT_EQ(31337U, spdy_setting1_ret.second);
262
263 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
264 }
265
266 TEST_F(HttpServerPropertiesManagerTest, SetSpdySetting) { 241 TEST_F(HttpServerPropertiesManagerTest, SetSpdySetting) {
267 ExpectPrefsUpdate(); 242 ExpectPrefsUpdate();
268 243
269 // Add SpdySetting for mail.google.com:443. 244 // Add SpdySetting for mail.google.com:443.
270 net::HostPortPair spdy_server_mail("mail.google.com", 443); 245 net::HostPortPair spdy_server_mail("mail.google.com", 443);
271 spdy::SettingsFlagsAndId id1(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 1234); 246 const uint32 id1 = 1234;
247 const uint8 flags1 = spdy::SETTINGS_FLAG_PLEASE_PERSIST;
248 const uint32 value1 = 31337;
249 spdy::SettingsFlagsAndValue flags_and_value1(flags1, value1);
272 http_server_props_manager_->SetSpdySetting( 250 http_server_props_manager_->SetSpdySetting(
273 spdy_server_mail, std::make_pair(id1, 31337)); 251 spdy_server_mail, id1, flags_and_value1);
274 252
275 // Run the task. 253 // Run the task.
276 loop_.RunAllPending(); 254 loop_.RunAllPending();
277 255
278 spdy::SpdySettings spdy_settings_ret = 256 const spdy::SettingsMap& settings_map1_ret =
279 http_server_props_manager_->GetSpdySettings(spdy_server_mail); 257 http_server_props_manager_->GetSpdySettings(spdy_server_mail);
280 ASSERT_EQ(1U, spdy_settings_ret.size()); 258 ASSERT_EQ(1U, settings_map1_ret.size());
281 spdy::SpdySetting spdy_setting1_ret = spdy_settings_ret.front(); 259 spdy::SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1);
282 spdy::SettingsFlagsAndId id1_ret(spdy_setting1_ret.first); 260 EXPECT_NE(it1_ret, settings_map1_ret.end());
283 EXPECT_EQ(1234U, id1_ret.id()); 261 spdy::SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second;
284 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id1_ret.flags()); 262 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first);
285 EXPECT_EQ(31337U, spdy_setting1_ret.second); 263 EXPECT_EQ(value1, flags_and_value1_ret.second);
286 264
287 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 265 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
288 } 266 }
289 267
290 TEST_F(HttpServerPropertiesManagerTest, HasAlternateProtocol) { 268 TEST_F(HttpServerPropertiesManagerTest, HasAlternateProtocol) {
291 ExpectPrefsUpdate(); 269 ExpectPrefsUpdate();
292 270
293 net::HostPortPair spdy_server_mail("mail.google.com", 80); 271 net::HostPortPair spdy_server_mail("mail.google.com", 80);
294 EXPECT_FALSE( 272 EXPECT_FALSE(
295 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail)); 273 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail));
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 } 314 }
337 315
338 TEST_F(HttpServerPropertiesManagerTest, Clear) { 316 TEST_F(HttpServerPropertiesManagerTest, Clear) {
339 ExpectPrefsUpdate(); 317 ExpectPrefsUpdate();
340 318
341 net::HostPortPair spdy_server_mail("mail.google.com", 443); 319 net::HostPortPair spdy_server_mail("mail.google.com", 443);
342 http_server_props_manager_->SetSupportsSpdy(spdy_server_mail, true); 320 http_server_props_manager_->SetSupportsSpdy(spdy_server_mail, true);
343 http_server_props_manager_->SetAlternateProtocol( 321 http_server_props_manager_->SetAlternateProtocol(
344 spdy_server_mail, 443, net::NPN_SPDY_2); 322 spdy_server_mail, 443, net::NPN_SPDY_2);
345 323
346 spdy::SpdySettings spdy_settings; 324 const uint32 id1 = 1234;
347 spdy::SettingsFlagsAndId id1(spdy::SETTINGS_FLAG_PLEASE_PERSIST, 1234); 325 const uint8 flags1 = spdy::SETTINGS_FLAG_PLEASE_PERSIST;
348 spdy_settings.push_back(std::make_pair(id1, 31337)); 326 const uint32 value1 = 31337;
349 http_server_props_manager_->SetSpdySettings(spdy_server_mail, spdy_settings); 327 spdy::SettingsFlagsAndValue flags_and_value1(flags1, value1);
328 http_server_props_manager_->SetSpdySetting(
329 spdy_server_mail, id1, flags_and_value1);
350 330
351 net::HostPortPair known_pipeliner("pipeline.com", 8080); 331 net::HostPortPair known_pipeliner("pipeline.com", 8080);
352 http_server_props_manager_->SetPipelineCapability(known_pipeliner, 332 http_server_props_manager_->SetPipelineCapability(known_pipeliner,
353 net::PIPELINE_CAPABLE); 333 net::PIPELINE_CAPABLE);
354 334
355 // Run the task. 335 // Run the task.
356 loop_.RunAllPending(); 336 loop_.RunAllPending();
357 337
358 EXPECT_TRUE(http_server_props_manager_->SupportsSpdy(spdy_server_mail)); 338 EXPECT_TRUE(http_server_props_manager_->SupportsSpdy(spdy_server_mail));
359 EXPECT_TRUE( 339 EXPECT_TRUE(
360 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail)); 340 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail));
361 341
362 spdy::SpdySettings spdy_settings_ret = 342 // Check SPDY settings values.
343 const spdy::SettingsMap& settings_map1_ret =
363 http_server_props_manager_->GetSpdySettings(spdy_server_mail); 344 http_server_props_manager_->GetSpdySettings(spdy_server_mail);
364 ASSERT_EQ(1U, spdy_settings_ret.size()); 345 ASSERT_EQ(1U, settings_map1_ret.size());
365 spdy::SpdySetting spdy_setting1_ret = spdy_settings_ret.front(); 346 spdy::SettingsMap::const_iterator it1_ret = settings_map1_ret.find(id1);
366 spdy::SettingsFlagsAndId id1_ret(spdy_setting1_ret.first); 347 EXPECT_NE(it1_ret, settings_map1_ret.end());
367 EXPECT_EQ(1234U, id1_ret.id()); 348 spdy::SettingsFlagsAndValue flags_and_value1_ret = it1_ret->second;
368 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, id1_ret.flags()); 349 EXPECT_EQ(spdy::SETTINGS_FLAG_PERSISTED, flags_and_value1_ret.first);
369 EXPECT_EQ(31337U, spdy_setting1_ret.second); 350 EXPECT_EQ(value1, flags_and_value1_ret.second);
370 351
371 EXPECT_EQ(net::PIPELINE_CAPABLE, 352 EXPECT_EQ(net::PIPELINE_CAPABLE,
372 http_server_props_manager_->GetPipelineCapability(known_pipeliner)); 353 http_server_props_manager_->GetPipelineCapability(known_pipeliner));
373 354
374 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 355 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
375 356
376 ExpectPrefsUpdate(); 357 ExpectPrefsUpdate();
377 // Clear http server data. 358 // Clear http server data.
378 http_server_props_manager_->Clear(); 359 http_server_props_manager_->Clear();
379 360
380 // Run the task. 361 // Run the task.
381 loop_.RunAllPending(); 362 loop_.RunAllPending();
382 363
383 EXPECT_FALSE(http_server_props_manager_->SupportsSpdy(spdy_server_mail)); 364 EXPECT_FALSE(http_server_props_manager_->SupportsSpdy(spdy_server_mail));
384 EXPECT_FALSE( 365 EXPECT_FALSE(
385 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail)); 366 http_server_props_manager_->HasAlternateProtocol(spdy_server_mail));
386 367
387 spdy::SpdySettings spdy_settings1_ret = 368 const spdy::SettingsMap& settings_map2_ret =
388 http_server_props_manager_->GetSpdySettings(spdy_server_mail); 369 http_server_props_manager_->GetSpdySettings(spdy_server_mail);
389 EXPECT_EQ(0U, spdy_settings1_ret.size()); 370 EXPECT_EQ(0U, settings_map2_ret.size());
390 371
391 EXPECT_EQ(net::PIPELINE_UNKNOWN, 372 EXPECT_EQ(net::PIPELINE_UNKNOWN,
392 http_server_props_manager_->GetPipelineCapability(known_pipeliner)); 373 http_server_props_manager_->GetPipelineCapability(known_pipeliner));
393 374
394 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 375 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
395 } 376 }
396 377
397 TEST_F(HttpServerPropertiesManagerTest, ShutdownWithPendingUpdateCache0) { 378 TEST_F(HttpServerPropertiesManagerTest, ShutdownWithPendingUpdateCache0) {
398 // Post an update task to the UI thread. 379 // Post an update task to the UI thread.
399 http_server_props_manager_->ScheduleUpdateCacheOnUI(); 380 http_server_props_manager_->ScheduleUpdateCacheOnUI();
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 // Run the task after shutdown, but before deletion. 442 // Run the task after shutdown, but before deletion.
462 loop_.RunAllPending(); 443 loop_.RunAllPending();
463 Mock::VerifyAndClearExpectations(http_server_props_manager_.get()); 444 Mock::VerifyAndClearExpectations(http_server_props_manager_.get());
464 http_server_props_manager_.reset(); 445 http_server_props_manager_.reset();
465 loop_.RunAllPending(); 446 loop_.RunAllPending();
466 } 447 }
467 448
468 } // namespace 449 } // namespace
469 450
470 } // namespace chrome_browser_net 451 } // namespace chrome_browser_net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698