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

Side by Side Diff: chrome/browser/password_manager/password_store_proxy_mac_unittest.cc

Issue 2729853005: Stop password migration from the Keychain on Mac. (Closed)
Patch Set: Created 3 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/password_manager/password_store_proxy_mac.h" 5 #include "chrome/browser/password_manager/password_store_proxy_mac.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/files/scoped_temp_dir.h" 9 #include "base/files/scoped_temp_dir.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 204
205 base::FilePath PasswordStoreProxyMacTest::test_login_db_file_path() const { 205 base::FilePath PasswordStoreProxyMacTest::test_login_db_file_path() const {
206 return db_dir_.GetPath().Append(FILE_PATH_LITERAL("login.db")); 206 return db_dir_.GetPath().Append(FILE_PATH_LITERAL("login.db"));
207 } 207 }
208 208
209 MigrationStatus PasswordStoreProxyMacTest::GetTargetStatus( 209 MigrationStatus PasswordStoreProxyMacTest::GetTargetStatus(
210 bool keychain_locked) const { 210 bool keychain_locked) const {
211 if (GetParam() == MigrationStatus::NOT_STARTED || 211 if (GetParam() == MigrationStatus::NOT_STARTED ||
212 GetParam() == MigrationStatus::FAILED_ONCE || 212 GetParam() == MigrationStatus::FAILED_ONCE ||
213 GetParam() == MigrationStatus::FAILED_TWICE) { 213 GetParam() == MigrationStatus::FAILED_TWICE) {
214 return keychain_locked ? MigrationStatus::MIGRATED_PARTIALLY 214 return MigrationStatus::MIGRATION_STOPPED;
215 : MigrationStatus::MIGRATED;
216 } 215 }
217 if (GetParam() == MigrationStatus::MIGRATED) 216 if (GetParam() == MigrationStatus::MIGRATED)
218 return MigrationStatus::MIGRATED_DELETED; 217 return MigrationStatus::MIGRATED_DELETED;
219 return GetParam(); 218 return GetParam();
220 } 219 }
221 220
222 void PasswordStoreProxyMacTest::AddForm(const PasswordForm& form) { 221 void PasswordStoreProxyMacTest::AddForm(const PasswordForm& form) {
223 MockPasswordStoreObserver mock_observer(store()); 222 MockPasswordStoreObserver mock_observer(store());
224 223
225 password_manager::PasswordStoreChangeList list; 224 password_manager::PasswordStoreChangeList list;
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 ClosePasswordStore(); 424 ClosePasswordStore();
426 } 425 }
427 426
428 INSTANTIATE_TEST_CASE_P(, 427 INSTANTIATE_TEST_CASE_P(,
429 PasswordStoreProxyMacTest, 428 PasswordStoreProxyMacTest,
430 testing::Values(MigrationStatus::NOT_STARTED, 429 testing::Values(MigrationStatus::NOT_STARTED,
431 MigrationStatus::MIGRATED, 430 MigrationStatus::MIGRATED,
432 MigrationStatus::FAILED_ONCE, 431 MigrationStatus::FAILED_ONCE,
433 MigrationStatus::FAILED_TWICE, 432 MigrationStatus::FAILED_TWICE,
434 MigrationStatus::MIGRATED_DELETED, 433 MigrationStatus::MIGRATED_DELETED,
435 MigrationStatus::MIGRATED_PARTIALLY)); 434 MigrationStatus::MIGRATED_PARTIALLY,
435 MigrationStatus::MIGRATION_STOPPED));
436 436
437 // Test the migration process. 437 // Test the migration process.
438 class PasswordStoreProxyMacMigrationTest : public PasswordStoreProxyMacTest { 438 class PasswordStoreProxyMacMigrationTest : public PasswordStoreProxyMacTest {
439 public: 439 public:
440 void SetUp() override; 440 void SetUp() override;
441 441
442 void TestMigration(bool lock_keychain); 442 void TestMigration(bool lock_keychain);
443 443
444 protected: 444 protected:
445 std::unique_ptr<password_manager::LoginDatabase> login_db_; 445 std::unique_ptr<password_manager::LoginDatabase> login_db_;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 keychain_->set_locked(true); 479 keychain_->set_locked(true);
480 store_ = new PasswordStoreProxyMac( 480 store_ = new PasswordStoreProxyMac(
481 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI), 481 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI),
482 std::move(keychain_), std::move(login_db_), &testing_prefs_); 482 std::move(keychain_), std::move(login_db_), &testing_prefs_);
483 ASSERT_TRUE(store_->Init(syncer::SyncableService::StartSyncFlare())); 483 ASSERT_TRUE(store_->Init(syncer::SyncableService::StartSyncFlare()));
484 FinishAsyncProcessing(); 484 FinishAsyncProcessing();
485 485
486 MockPasswordStoreConsumer mock_consumer; 486 MockPasswordStoreConsumer mock_consumer;
487 store()->GetLogins(PasswordStore::FormDigest(form), &mock_consumer); 487 store()->GetLogins(PasswordStore::FormDigest(form), &mock_consumer);
488 mock_consumer.WaitForResult(); 488 mock_consumer.WaitForResult();
489 if (before_migration && lock_keychain) 489 if (before_migration)
490 EXPECT_THAT(mock_consumer.forms(), IsEmpty()); 490 EXPECT_THAT(mock_consumer.forms(), IsEmpty());
491 else 491 else
492 EXPECT_THAT(mock_consumer.forms(), ElementsAre(Pointee(form))); 492 EXPECT_THAT(mock_consumer.forms(), ElementsAre(Pointee(form)));
493 493
494 int status = testing_prefs_.GetInteger( 494 int status = testing_prefs_.GetInteger(
495 password_manager::prefs::kKeychainMigrationStatus); 495 password_manager::prefs::kKeychainMigrationStatus);
496 EXPECT_EQ(static_cast<int>(GetTargetStatus(lock_keychain)), status); 496 EXPECT_EQ(static_cast<int>(GetTargetStatus(lock_keychain)), status);
497 histogram_tester_.ExpectUniqueSample( 497 histogram_tester_.ExpectUniqueSample(
498 "PasswordManager.KeychainMigration.Status", status, 1); 498 "PasswordManager.KeychainMigration.Status", status, 1);
499 static_cast<crypto::MockAppleKeychain*>(store()->keychain()) 499 static_cast<crypto::MockAppleKeychain*>(store()->keychain())
(...skipping 18 matching lines...) Expand all
518 TestMigration(true); 518 TestMigration(true);
519 } 519 }
520 520
521 INSTANTIATE_TEST_CASE_P(, 521 INSTANTIATE_TEST_CASE_P(,
522 PasswordStoreProxyMacMigrationTest, 522 PasswordStoreProxyMacMigrationTest,
523 testing::Values(MigrationStatus::NOT_STARTED, 523 testing::Values(MigrationStatus::NOT_STARTED,
524 MigrationStatus::MIGRATED, 524 MigrationStatus::MIGRATED,
525 MigrationStatus::FAILED_ONCE, 525 MigrationStatus::FAILED_ONCE,
526 MigrationStatus::FAILED_TWICE, 526 MigrationStatus::FAILED_TWICE,
527 MigrationStatus::MIGRATED_DELETED, 527 MigrationStatus::MIGRATED_DELETED,
528 MigrationStatus::MIGRATED_PARTIALLY)); 528 MigrationStatus::MIGRATED_PARTIALLY,
529 MigrationStatus::MIGRATION_STOPPED));
529 530
530 } // namespace 531 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698