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

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

Issue 110883017: Add CookieStoreConfig to unify API for in-memory and persistent CookieStore Creation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge ToT again. Created 6 years, 11 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 "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"
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 // resetting the owner (whose destructor blocks on the pool completion). 121 // resetting the owner (whose destructor blocks on the pool completion).
122 pool_owner_->pool()->Shutdown(); 122 pool_owner_->pool()->Shutdown();
123 // Create a new pool for the few tests that create multiple stores. In other 123 // Create a new pool for the few tests that create multiple stores. In other
124 // cases this is wasted but harmless. 124 // cases this is wasted but harmless.
125 pool_owner_.reset(new base::SequencedWorkerPoolOwner(3, "Background Pool")); 125 pool_owner_.reset(new base::SequencedWorkerPoolOwner(3, "Background Pool"));
126 } 126 }
127 127
128 void CreateAndLoad(bool crypt_cookies, 128 void CreateAndLoad(bool crypt_cookies,
129 bool restore_old_session_cookies, 129 bool restore_old_session_cookies,
130 CanonicalCookieVector* cookies) { 130 CanonicalCookieVector* cookies) {
131 if (crypt_cookies)
132 cookie_crypto_delegate_.reset(new CookieCryptor());
133
131 store_ = new SQLitePersistentCookieStore( 134 store_ = new SQLitePersistentCookieStore(
132 temp_dir_.path().Append(kCookieFilename), 135 temp_dir_.path().Append(kCookieFilename),
133 client_task_runner(), 136 client_task_runner(),
134 background_task_runner(), 137 background_task_runner(),
135 restore_old_session_cookies, 138 restore_old_session_cookies,
136 NULL, 139 NULL,
137 crypt_cookies ? 140 cookie_crypto_delegate_.get());
138 scoped_ptr<content::CookieCryptoDelegate>(new CookieCryptor) :
139 scoped_ptr<content::CookieCryptoDelegate>());
140 Load(cookies); 141 Load(cookies);
141 } 142 }
142 143
143 void InitializeStore(bool crypt, bool restore_old_session_cookies) { 144 void InitializeStore(bool crypt, bool restore_old_session_cookies) {
144 CanonicalCookieVector cookies; 145 CanonicalCookieVector cookies;
145 CreateAndLoad(crypt, restore_old_session_cookies, &cookies); 146 CreateAndLoad(crypt, restore_old_session_cookies, &cookies);
146 EXPECT_EQ(0U, cookies.size()); 147 EXPECT_EQ(0U, cookies.size());
147 } 148 }
148 149
149 // We have to create this method to wrap WaitableEvent::Wait, since we cannot 150 // We have to create this method to wrap WaitableEvent::Wait, since we cannot
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 184
184 protected: 185 protected:
185 base::MessageLoop main_loop_; 186 base::MessageLoop main_loop_;
186 scoped_ptr<base::SequencedWorkerPoolOwner> pool_owner_; 187 scoped_ptr<base::SequencedWorkerPoolOwner> pool_owner_;
187 base::WaitableEvent loaded_event_; 188 base::WaitableEvent loaded_event_;
188 base::WaitableEvent key_loaded_event_; 189 base::WaitableEvent key_loaded_event_;
189 base::WaitableEvent db_thread_event_; 190 base::WaitableEvent db_thread_event_;
190 CanonicalCookieVector cookies_; 191 CanonicalCookieVector cookies_;
191 base::ScopedTempDir temp_dir_; 192 base::ScopedTempDir temp_dir_;
192 scoped_refptr<SQLitePersistentCookieStore> store_; 193 scoped_refptr<SQLitePersistentCookieStore> store_;
194 scoped_ptr<content::CookieCryptoDelegate> cookie_crypto_delegate_;
193 }; 195 };
194 196
195 TEST_F(SQLitePersistentCookieStoreTest, TestInvalidMetaTableRecovery) { 197 TEST_F(SQLitePersistentCookieStoreTest, TestInvalidMetaTableRecovery) {
196 InitializeStore(false, false); 198 InitializeStore(false, false);
197 AddCookie("A", "B", "foo.bar", "/", base::Time::Now()); 199 AddCookie("A", "B", "foo.bar", "/", base::Time::Now());
198 DestroyStore(); 200 DestroyStore();
199 201
200 // Load up the store and verify that it has good data in it. 202 // Load up the store and verify that it has good data in it.
201 CanonicalCookieVector cookies; 203 CanonicalCookieVector cookies;
202 CreateAndLoad(false, false, &cookies); 204 CreateAndLoad(false, false, &cookies);
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 t += base::TimeDelta::FromInternalValue(10); 271 t += base::TimeDelta::FromInternalValue(10);
270 AddCookie("A", "B", "travel.aaa.com", "/", t); 272 AddCookie("A", "B", "travel.aaa.com", "/", t);
271 t += base::TimeDelta::FromInternalValue(10); 273 t += base::TimeDelta::FromInternalValue(10);
272 AddCookie("A", "B", "www.bbb.com", "/", t); 274 AddCookie("A", "B", "www.bbb.com", "/", t);
273 DestroyStore(); 275 DestroyStore();
274 276
275 store_ = new SQLitePersistentCookieStore( 277 store_ = new SQLitePersistentCookieStore(
276 temp_dir_.path().Append(kCookieFilename), 278 temp_dir_.path().Append(kCookieFilename),
277 client_task_runner(), 279 client_task_runner(),
278 background_task_runner(), 280 background_task_runner(),
279 false, NULL, 281 false, NULL, NULL);
280 scoped_ptr<content::CookieCryptoDelegate>());
281 282
282 // Posting a blocking task to db_thread_ makes sure that the DB thread waits 283 // Posting a blocking task to db_thread_ makes sure that the DB thread waits
283 // until both Load and LoadCookiesForKey have been posted to its task queue. 284 // until both Load and LoadCookiesForKey have been posted to its task queue.
284 background_task_runner()->PostTask( 285 background_task_runner()->PostTask(
285 FROM_HERE, 286 FROM_HERE,
286 base::Bind(&SQLitePersistentCookieStoreTest::WaitOnDBEvent, 287 base::Bind(&SQLitePersistentCookieStoreTest::WaitOnDBEvent,
287 base::Unretained(this))); 288 base::Unretained(this)));
288 store_->Load(base::Bind(&SQLitePersistentCookieStoreTest::OnLoaded, 289 store_->Load(base::Bind(&SQLitePersistentCookieStoreTest::OnLoaded,
289 base::Unretained(this))); 290 base::Unretained(this)));
290 store_->LoadCookiesForKey("aaa.com", 291 store_->LoadCookiesForKey("aaa.com",
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 EXPECT_EQ(2, resultcount); 599 EXPECT_EQ(2, resultcount);
599 600
600 // Verify that "encrypted_value" is NOT visible in the file. 601 // Verify that "encrypted_value" is NOT visible in the file.
601 contents = ReadRawDBContents(); 602 contents = ReadRawDBContents();
602 EXPECT_NE(0U, contents.length()); 603 EXPECT_NE(0U, contents.length());
603 EXPECT_EQ(contents.find("encrypted_value123XYZ"), std::string::npos); 604 EXPECT_EQ(contents.find("encrypted_value123XYZ"), std::string::npos);
604 EXPECT_EQ(contents.find("something456ABC"), std::string::npos); 605 EXPECT_EQ(contents.find("something456ABC"), std::string::npos);
605 } 606 }
606 607
607 } // namespace content 608 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/net/sqlite_persistent_cookie_store_perftest.cc ('k') | content/public/browser/cookie_store_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698