| 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 67e28c4dfc41d1d2e5af5c282143ddbc17712685..45accc5e3a5848b4cffc34845c42ad4cbe456f4f 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(
|
| @@ -540,17 +509,9 @@ bool CertificateExistsInList(
|
|
|
| // Tests the interaction with the clear on exit policy.
|
| TEST_F(SQLiteServerBoundCertStoreTest, 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());
|
| -
|
| // Create a new store with three certificates in it.
|
| store_ = new SQLiteServerBoundCertStore(
|
| - temp_dir_.path().Append(chrome::kOBCertFilename), NULL);
|
| + temp_dir_.path().AppendASCII("ClearOnExitDB"), NULL);
|
|
|
| ScopedVector<net::DefaultServerBoundCertStore::ServerBoundCert> certs;
|
| ASSERT_TRUE(store_->Load(&certs.get()));
|
| @@ -580,6 +541,9 @@ TEST_F(SQLiteServerBoundCertStoreTest, TestClearOnExitPolicy) {
|
|
|
| // Write out the certificates to disk.
|
| store_ = NULL;
|
| + scoped_refptr<base::ThreadTestHelper> helper(
|
| + new base::ThreadTestHelper(
|
| + BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB)));
|
| ASSERT_TRUE(helper->Run());
|
|
|
| // Load the store again with a clear on exit policy.
|
| @@ -591,17 +555,31 @@ TEST_F(SQLiteServerBoundCertStoreTest, TestClearOnExitPolicy) {
|
| storage_policy->AddSessionOnly(GURL("https://protected.com"));
|
| storage_policy->AddProtected(GURL("https://protected.com"));
|
| store_ = new SQLiteServerBoundCertStore(
|
| - temp_dir_.path().Append(chrome::kOBCertFilename), clear_policy.get());
|
| + temp_dir_.path().AppendASCII("ClearOnExitDB"), clear_policy.get());
|
| + ASSERT_TRUE(store_->Load(&certs.get()));
|
| + ASSERT_EQ(3U, certs.size());
|
| +
|
| + // We've put a exit policy in place, but force the state to be saved.
|
| + store_->SetForceKeepSessionState();
|
| + store_ = NULL;
|
| + ASSERT_TRUE(helper->Run());
|
| +
|
| + // Reload the store and check that the certs are still there.
|
| + store_ = new SQLiteServerBoundCertStore(
|
| + temp_dir_.path().AppendASCII("ClearOnExitDB"), 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 should apply the clear on exit policy.
|
| + // 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());
|
|
|
| store_ = new SQLiteServerBoundCertStore(
|
| - temp_dir_.path().Append(chrome::kOBCertFilename), clear_policy.get());
|
| + temp_dir_.path().AppendASCII("ClearOnExitDB"), clear_policy.get());
|
|
|
| // Reload and test for persistence
|
| certs.reset();
|
|
|