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

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

Powered by Google App Engine
This is Rietveld 408576698