OLD | NEW |
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 "chrome/browser/chromeos/login/parallel_authenticator.h" | 5 #include "chrome/browser/chromeos/login/parallel_authenticator.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 .Times(1) | 510 .Times(1) |
511 .RetiresOnSaturation(); | 511 .RetiresOnSaturation(); |
512 EXPECT_CALL(*mock_caller_, AsyncMount(username_, hash_ascii_, | 512 EXPECT_CALL(*mock_caller_, AsyncMount(username_, hash_ascii_, |
513 cryptohome::MOUNT_FLAGS_NONE, _)) | 513 cryptohome::MOUNT_FLAGS_NONE, _)) |
514 .Times(1) | 514 .Times(1) |
515 .RetiresOnSaturation(); | 515 .RetiresOnSaturation(); |
516 EXPECT_CALL(*mock_caller_, AsyncGetSanitizedUsername(username_, _)) | 516 EXPECT_CALL(*mock_caller_, AsyncGetSanitizedUsername(username_, _)) |
517 .Times(1) | 517 .Times(1) |
518 .RetiresOnSaturation(); | 518 .RetiresOnSaturation(); |
519 EXPECT_CALL(*mock_cryptohome_library_, GetSystemSalt()) | 519 EXPECT_CALL(*mock_cryptohome_library_, GetSystemSalt()) |
520 .WillOnce(Return(std::string())) | 520 .WillOnce(Return(std::string("mock_system_salt"))) |
521 .RetiresOnSaturation(); | 521 .RetiresOnSaturation(); |
522 | 522 |
523 state_->PresetOnlineLoginStatus(LoginFailure::LoginFailureNone()); | 523 state_->PresetOnlineLoginStatus(LoginFailure::LoginFailureNone()); |
524 SetAttemptState(auth_.get(), state_.release()); | 524 SetAttemptState(auth_.get(), state_.release()); |
525 | 525 |
526 auth_->RecoverEncryptedData(std::string()); | 526 auth_->RecoverEncryptedData(std::string()); |
527 base::MessageLoop::current()->Run(); | 527 base::MessageLoop::current()->Run(); |
528 } | 528 } |
529 | 529 |
530 TEST_F(ParallelAuthenticatorTest, DriveDataRecoverButFail) { | 530 TEST_F(ParallelAuthenticatorTest, DriveDataRecoverButFail) { |
531 FailOnLoginSuccess(); | 531 FailOnLoginSuccess(); |
532 ExpectPasswordChange(); | 532 ExpectPasswordChange(); |
533 | 533 |
534 // Set up mock cryptohome library to fail a key migration attempt, | 534 // Set up mock cryptohome library to fail a key migration attempt, |
535 // asserting that the wrong password was used. | 535 // asserting that the wrong password was used. |
536 mock_caller_->SetUp(false, cryptohome::MOUNT_ERROR_KEY_FAILURE); | 536 mock_caller_->SetUp(false, cryptohome::MOUNT_ERROR_KEY_FAILURE); |
537 EXPECT_CALL(*mock_caller_, AsyncMigrateKey(username_, _, hash_ascii_, _)) | 537 EXPECT_CALL(*mock_caller_, AsyncMigrateKey(username_, _, hash_ascii_, _)) |
538 .Times(1) | 538 .Times(1) |
539 .RetiresOnSaturation(); | 539 .RetiresOnSaturation(); |
540 EXPECT_CALL(*mock_cryptohome_library_, GetSystemSalt()) | 540 EXPECT_CALL(*mock_cryptohome_library_, GetSystemSalt()) |
541 .WillOnce(Return(std::string())) | 541 .WillOnce(Return(std::string("mock_system_salt"))) |
542 .RetiresOnSaturation(); | 542 .RetiresOnSaturation(); |
543 | 543 |
544 SetAttemptState(auth_.get(), state_.release()); | 544 SetAttemptState(auth_.get(), state_.release()); |
545 | 545 |
546 auth_->RecoverEncryptedData(std::string()); | 546 auth_->RecoverEncryptedData(std::string()); |
547 base::MessageLoop::current()->Run(); | 547 base::MessageLoop::current()->Run(); |
548 } | 548 } |
549 | 549 |
550 TEST_F(ParallelAuthenticatorTest, ResolveNoMount) { | 550 TEST_F(ParallelAuthenticatorTest, ResolveNoMount) { |
551 // Set a fake online attempt so that we return intermediate cryptohome state. | 551 // Set a fake online attempt so that we return intermediate cryptohome state. |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
642 ExpectLoginSuccess(username_, std::string(), std::string(), false); | 642 ExpectLoginSuccess(username_, std::string(), std::string(), false); |
643 FailOnLoginFailure(); | 643 FailOnLoginFailure(); |
644 | 644 |
645 // Set up mock cryptohome library to respond successfully to a cryptohome | 645 // Set up mock cryptohome library to respond successfully to a cryptohome |
646 // key-check attempt. | 646 // key-check attempt. |
647 mock_caller_->SetUp(true, cryptohome::MOUNT_ERROR_NONE); | 647 mock_caller_->SetUp(true, cryptohome::MOUNT_ERROR_NONE); |
648 EXPECT_CALL(*mock_caller_, AsyncCheckKey(username_, _, _)) | 648 EXPECT_CALL(*mock_caller_, AsyncCheckKey(username_, _, _)) |
649 .Times(1) | 649 .Times(1) |
650 .RetiresOnSaturation(); | 650 .RetiresOnSaturation(); |
651 EXPECT_CALL(*mock_cryptohome_library_, GetSystemSalt()) | 651 EXPECT_CALL(*mock_cryptohome_library_, GetSystemSalt()) |
652 .WillOnce(Return(std::string())) | 652 .WillOnce(Return(std::string("mock_system_salt"))) |
653 .RetiresOnSaturation(); | 653 .RetiresOnSaturation(); |
654 | 654 |
655 auth_->AuthenticateToUnlock(UserContext(username_, | 655 auth_->AuthenticateToUnlock(UserContext(username_, |
656 std::string(), | 656 std::string(), |
657 std::string())); | 657 std::string())); |
658 base::MessageLoop::current()->Run(); | 658 base::MessageLoop::current()->Run(); |
659 } | 659 } |
660 | 660 |
661 } // namespace chromeos | 661 } // namespace chromeos |
OLD | NEW |