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

Side by Side Diff: content/browser/net/sqlite_persistent_cookie_store_unittest.cc

Issue 14113014: Adding Priority field to cookies. (Closed) Base URL: http://chromium.googlesource.com/chromium/src.git@master
Patch Set: Renamed enums PRIORITY_* to COOKIE_PRIORITY_*. Created 7 years, 8 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
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 "content/browser/net/sqlite_persistent_cookie_store.h" 5 #include "content/browser/net/sqlite_persistent_cookie_store.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/callback.h" 11 #include "base/callback.h"
12 #include "base/file_util.h" 12 #include "base/file_util.h"
13 #include "base/files/scoped_temp_dir.h" 13 #include "base/files/scoped_temp_dir.h"
14 #include "base/memory/ref_counted.h" 14 #include "base/memory/ref_counted.h"
15 #include "base/message_loop.h" 15 #include "base/message_loop.h"
16 #include "base/sequenced_task_runner.h" 16 #include "base/sequenced_task_runner.h"
17 #include "base/stl_util.h" 17 #include "base/stl_util.h"
18 #include "base/synchronization/waitable_event.h" 18 #include "base/synchronization/waitable_event.h"
19 #include "base/test/sequenced_worker_pool_owner.h" 19 #include "base/test/sequenced_worker_pool_owner.h"
20 #include "base/threading/sequenced_worker_pool.h" 20 #include "base/threading/sequenced_worker_pool.h"
21 #include "base/time.h" 21 #include "base/time.h"
22 #include "googleurl/src/gurl.h" 22 #include "googleurl/src/gurl.h"
23 #include "net/cookies/canonical_cookie.h" 23 #include "net/cookies/canonical_cookie.h"
24 #include "net/cookies/cookie_constants.h"
24 #include "sql/connection.h" 25 #include "sql/connection.h"
25 #include "sql/meta_table.h" 26 #include "sql/meta_table.h"
26 #include "testing/gtest/include/gtest/gtest.h" 27 #include "testing/gtest/include/gtest/gtest.h"
27 28
28 namespace content { 29 namespace content {
29 30
30 namespace { 31 namespace {
31 32
32 const base::FilePath::CharType kCookieFilename[] = FILE_PATH_LITERAL("Cookies"); 33 const base::FilePath::CharType kCookieFilename[] = FILE_PATH_LITERAL("Cookies");
33 34
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 } 114 }
114 115
115 // Adds a persistent cookie to store_. 116 // Adds a persistent cookie to store_.
116 void AddCookie(const std::string& name, 117 void AddCookie(const std::string& name,
117 const std::string& value, 118 const std::string& value,
118 const std::string& domain, 119 const std::string& domain,
119 const std::string& path, 120 const std::string& path,
120 const base::Time& creation) { 121 const base::Time& creation) {
121 store_->AddCookie( 122 store_->AddCookie(
122 net::CanonicalCookie(GURL(), name, value, domain, path, creation, 123 net::CanonicalCookie(GURL(), name, value, domain, path, creation,
123 creation, creation, false, false)); 124 creation, creation, false, false,
125 net::COOKIE_PRIORITY_DEFAULT));
124 } 126 }
125 127
126 virtual void SetUp() OVERRIDE { 128 virtual void SetUp() OVERRIDE {
127 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); 129 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
128 } 130 }
129 131
130 virtual void TearDown() OVERRIDE { 132 virtual void TearDown() OVERRIDE {
131 DestroyStore(); 133 DestroyStore();
132 pool_owner_->pool()->Shutdown(); 134 pool_owner_->pool()->Shutdown();
133 } 135 }
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 } 309 }
308 310
309 // Test loading old session cookies from the disk. 311 // Test loading old session cookies from the disk.
310 TEST_F(SQLitePersistentCookieStoreTest, TestLoadOldSessionCookies) { 312 TEST_F(SQLitePersistentCookieStoreTest, TestLoadOldSessionCookies) {
311 InitializeStore(true); 313 InitializeStore(true);
312 314
313 // Add a session cookie. 315 // Add a session cookie.
314 store_->AddCookie( 316 store_->AddCookie(
315 net::CanonicalCookie( 317 net::CanonicalCookie(
316 GURL(), "C", "D", "sessioncookie.com", "/", base::Time::Now(), 318 GURL(), "C", "D", "sessioncookie.com", "/", base::Time::Now(),
317 base::Time(), base::Time::Now(), false, false)); 319 base::Time(), base::Time::Now(), false, false,
320 net::COOKIE_PRIORITY_DEFAULT));
318 321
319 // Force the store to write its data to the disk. 322 // Force the store to write its data to the disk.
320 DestroyStore(); 323 DestroyStore();
321 324
322 // Create a store that loads session cookies and test that the session cookie 325 // Create a store that loads session cookies and test that the session cookie
323 // was loaded. 326 // was loaded.
324 CanonicalCookieVector cookies; 327 CanonicalCookieVector cookies;
325 CreateAndLoad(true, &cookies); 328 CreateAndLoad(true, &cookies);
326 329
327 ASSERT_EQ(1U, cookies.size()); 330 ASSERT_EQ(1U, cookies.size());
328 ASSERT_STREQ("sessioncookie.com", cookies[0]->Domain().c_str()); 331 ASSERT_STREQ("sessioncookie.com", cookies[0]->Domain().c_str());
329 ASSERT_STREQ("C", cookies[0]->Name().c_str()); 332 ASSERT_STREQ("C", cookies[0]->Name().c_str());
330 ASSERT_STREQ("D", cookies[0]->Value().c_str()); 333 ASSERT_STREQ("D", cookies[0]->Value().c_str());
331 334
332 STLDeleteElements(&cookies); 335 STLDeleteElements(&cookies);
333 } 336 }
334 337
335 // Test loading old session cookies from the disk. 338 // Test loading old session cookies from the disk.
336 TEST_F(SQLitePersistentCookieStoreTest, TestDontLoadOldSessionCookies) { 339 TEST_F(SQLitePersistentCookieStoreTest, TestDontLoadOldSessionCookies) {
337 InitializeStore(true); 340 InitializeStore(true);
338 341
339 // Add a session cookie. 342 // Add a session cookie.
340 store_->AddCookie( 343 store_->AddCookie(
341 net::CanonicalCookie( 344 net::CanonicalCookie(
342 GURL(), "C", "D", "sessioncookie.com", "/", base::Time::Now(), 345 GURL(), "C", "D", "sessioncookie.com", "/", base::Time::Now(),
343 base::Time(), base::Time::Now(), false, false)); 346 base::Time(), base::Time::Now(), false, false,
347 net::COOKIE_PRIORITY_DEFAULT));
344 348
345 // Force the store to write its data to the disk. 349 // Force the store to write its data to the disk.
346 DestroyStore(); 350 DestroyStore();
347 351
348 // Create a store that doesn't load old session cookies and test that the 352 // Create a store that doesn't load old session cookies and test that the
349 // session cookie was not loaded. 353 // session cookie was not loaded.
350 CanonicalCookieVector cookies; 354 CanonicalCookieVector cookies;
351 CreateAndLoad(false, &cookies); 355 CreateAndLoad(false, &cookies);
352 ASSERT_EQ(0U, cookies.size()); 356 ASSERT_EQ(0U, cookies.size());
353 357
354 // The store should also delete the session cookie. Wait until that has been 358 // The store should also delete the session cookie. Wait until that has been
355 // done. 359 // done.
356 DestroyStore(); 360 DestroyStore();
357 361
358 // Create a store that loads old session cookies and test that the session 362 // Create a store that loads old session cookies and test that the session
359 // cookie is gone. 363 // cookie is gone.
360 CreateAndLoad(true, &cookies); 364 CreateAndLoad(true, &cookies);
361 ASSERT_EQ(0U, cookies.size()); 365 ASSERT_EQ(0U, cookies.size());
362 } 366 }
363 367
364 TEST_F(SQLitePersistentCookieStoreTest, PersistIsPersistent) { 368 TEST_F(SQLitePersistentCookieStoreTest, PersistIsPersistent) {
365 InitializeStore(true); 369 InitializeStore(true);
366 static const char kSessionName[] = "session"; 370 static const char kSessionName[] = "session";
367 static const char kPersistentName[] = "persistent"; 371 static const char kPersistentName[] = "persistent";
368 372
369 // Add a session cookie. 373 // Add a session cookie.
370 store_->AddCookie( 374 store_->AddCookie(
371 net::CanonicalCookie( 375 net::CanonicalCookie(
372 GURL(), kSessionName, "val", "sessioncookie.com", "/", 376 GURL(), kSessionName, "val", "sessioncookie.com", "/",
373 base::Time::Now(), base::Time(), base::Time::Now(), false, false)); 377 base::Time::Now(), base::Time(), base::Time::Now(), false, false,
378 net::COOKIE_PRIORITY_DEFAULT));
374 // Add a persistent cookie. 379 // Add a persistent cookie.
375 store_->AddCookie( 380 store_->AddCookie(
376 net::CanonicalCookie( 381 net::CanonicalCookie(
377 GURL(), kPersistentName, "val", "sessioncookie.com", "/", 382 GURL(), kPersistentName, "val", "sessioncookie.com", "/",
378 base::Time::Now() - base::TimeDelta::FromDays(1), base::Time::Now(), 383 base::Time::Now() - base::TimeDelta::FromDays(1), base::Time::Now(),
379 base::Time::Now(), false, false)); 384 base::Time::Now(), false, false,
385 net::COOKIE_PRIORITY_DEFAULT));
380 386
381 // Create a store that loads session cookie and test that the the IsPersistent 387 // Create a store that loads session cookie and test that the the IsPersistent
382 // attribute is restored. 388 // attribute is restored.
383 CanonicalCookieVector cookies; 389 CanonicalCookieVector cookies;
384 CreateAndLoad(true, &cookies); 390 CreateAndLoad(true, &cookies);
385 ASSERT_EQ(2U, cookies.size()); 391 ASSERT_EQ(2U, cookies.size());
386 392
387 std::map<std::string, net::CanonicalCookie*> cookie_map; 393 std::map<std::string, net::CanonicalCookie*> cookie_map;
388 for (CanonicalCookieVector::const_iterator it = cookies.begin(); 394 for (CanonicalCookieVector::const_iterator it = cookies.begin();
389 it != cookies.end(); 395 it != cookies.end();
390 ++it) { 396 ++it) {
391 cookie_map[(*it)->Name()] = *it; 397 cookie_map[(*it)->Name()] = *it;
392 } 398 }
393 399
394 std::map<std::string, net::CanonicalCookie*>::const_iterator it = 400 std::map<std::string, net::CanonicalCookie*>::const_iterator it =
395 cookie_map.find(kSessionName); 401 cookie_map.find(kSessionName);
396 ASSERT_TRUE(it != cookie_map.end()); 402 ASSERT_TRUE(it != cookie_map.end());
397 EXPECT_FALSE(cookie_map[kSessionName]->IsPersistent()); 403 EXPECT_FALSE(cookie_map[kSessionName]->IsPersistent());
398 404
399 it = cookie_map.find(kPersistentName); 405 it = cookie_map.find(kPersistentName);
400 ASSERT_TRUE(it != cookie_map.end()); 406 ASSERT_TRUE(it != cookie_map.end());
401 EXPECT_TRUE(cookie_map[kPersistentName]->IsPersistent()); 407 EXPECT_TRUE(cookie_map[kPersistentName]->IsPersistent());
402 408
403 STLDeleteElements(&cookies); 409 STLDeleteElements(&cookies);
404 } 410 }
405 411
406 } // namespace content 412 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/net/sqlite_persistent_cookie_store_perftest.cc ('k') | net/cookies/canonical_cookie.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698