Index: chrome/browser/net/sqlite_server_bound_cert_store_unittest.cc |
diff --git a/chrome/browser/net/sqlite_server_bound_cert_store_unittest.cc b/chrome/browser/net/sqlite_server_bound_cert_store_unittest.cc |
index 03d7a508155f385fc3678ca42c4a28e1716957e2..f085be02db5ecf7b8b0b8b44d21fece2cb81a26d 100644 |
--- a/chrome/browser/net/sqlite_server_bound_cert_store_unittest.cc |
+++ b/chrome/browser/net/sqlite_server_bound_cert_store_unittest.cc |
@@ -82,37 +82,6 @@ class SQLiteServerBoundCertStoreTest : public testing::Test { |
scoped_refptr<SQLiteServerBoundCertStore> store_; |
}; |
-TEST_F(SQLiteServerBoundCertStoreTest, KeepOnDestruction) { |
- store_->SetClearLocalStateOnExit(false); |
- store_ = NULL; |
- // Make sure we wait until the destructor has run. |
- scoped_refptr<base::ThreadTestHelper> helper( |
- new base::ThreadTestHelper( |
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB))); |
- ASSERT_TRUE(helper->Run()); |
- |
- ASSERT_TRUE(file_util::PathExists( |
- temp_dir_.path().Append(chrome::kOBCertFilename))); |
- ASSERT_TRUE(file_util::Delete( |
- temp_dir_.path().Append(chrome::kOBCertFilename), false)); |
-} |
- |
-TEST_F(SQLiteServerBoundCertStoreTest, RemoveOnDestruction) { |
- store_->SetClearLocalStateOnExit(true); |
- // Replace the store effectively destroying the current one and forcing it |
- // to write its data to disk. Then we can see if after loading it again it |
- // is still there. |
- store_ = NULL; |
- // Make sure we wait until the destructor has run. |
- scoped_refptr<base::ThreadTestHelper> helper( |
- new base::ThreadTestHelper( |
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB))); |
- ASSERT_TRUE(helper->Run()); |
- |
- ASSERT_FALSE(file_util::PathExists( |
- temp_dir_.path().Append(chrome::kOBCertFilename))); |
-} |
- |
// Test if data is stored as expected in the SQLite database. |
TEST_F(SQLiteServerBoundCertStoreTest, TestPersistence) { |
store_->AddServerBoundCert( |
@@ -548,12 +517,13 @@ bool CertificateExistsInList( |
#endif |
TEST_F(SQLiteServerBoundCertStoreTest, MAYBE_TestClearOnExitPolicy) { |
// First, delete a possibly existing store. |
- store_->SetClearLocalStateOnExit(true); |
store_ = NULL; |
scoped_refptr<base::ThreadTestHelper> helper( |
new base::ThreadTestHelper( |
BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB))); |
ASSERT_TRUE(helper->Run()); |
+ ASSERT_TRUE(file_util::Delete( |
+ temp_dir_.path().Append(chrome::kOBCertFilename), false)); |
// Create a new store with three certificates in it. |
store_ = new SQLiteServerBoundCertStore( |
@@ -602,7 +572,21 @@ TEST_F(SQLiteServerBoundCertStoreTest, MAYBE_TestClearOnExitPolicy) { |
ASSERT_TRUE(store_->Load(&certs.get())); |
ASSERT_EQ(3U, certs.size()); |
- // Delete the store. This should apply the clear on exit policy. |
+ // We've put a exit policy in place, but force the state to be saved. |
+ store_->SaveSessionState(); |
+ store_ = NULL; |
+ ASSERT_TRUE(helper->Run()); |
+ |
+ // Reload the store and check that the certs are still there. |
+ store_ = new SQLiteServerBoundCertStore( |
+ temp_dir_.path().Append(chrome::kOBCertFilename), clear_policy.get()); |
+ |
+ // Reload and test for persistence |
+ certs.reset(); |
+ ASSERT_TRUE(store_->Load(&certs.get())); |
+ ASSERT_EQ(3U, certs.size()); |
+ |
+ // Delete the store. This time, the exit policy should be in place. |
store_ = NULL; |
// Make sure we wait until the destructor has run. |
ASSERT_TRUE(helper->Run()); |