| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/auth/mock_authenticator.h" | 5 #include "chrome/browser/chromeos/login/auth/mock_authenticator.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "chrome/browser/chromeos/login/auth/user_context.h" | 8 #include "base/logging.h" |
| 9 #include "content/public/browser/browser_thread.h" | 9 #include "content/public/browser/browser_thread.h" |
| 10 | 10 |
| 11 using content::BrowserThread; | 11 using content::BrowserThread; |
| 12 | 12 |
| 13 namespace chromeos { | 13 namespace chromeos { |
| 14 | 14 |
| 15 MockAuthenticator::MockAuthenticator(LoginStatusConsumer* consumer, |
| 16 const UserContext& expected_user_context) |
| 17 : Authenticator(consumer), |
| 18 expected_user_context_(expected_user_context) { |
| 19 } |
| 20 |
| 21 void MockAuthenticator::CompleteLogin(Profile* profile, |
| 22 const UserContext& user_context) { |
| 23 if (expected_user_context_ != user_context) |
| 24 NOTREACHED(); |
| 25 OnLoginSuccess(); |
| 26 } |
| 27 |
| 15 void MockAuthenticator::AuthenticateToLogin(Profile* profile, | 28 void MockAuthenticator::AuthenticateToLogin(Profile* profile, |
| 16 const UserContext& user_context) { | 29 const UserContext& user_context) { |
| 17 if (expected_username_ == user_context.GetUserID() && | 30 if (user_context == expected_user_context_) { |
| 18 expected_password_ == user_context.GetPassword()) { | |
| 19 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, | 31 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
| 20 base::Bind(&MockAuthenticator::OnLoginSuccess, this)); | 32 base::Bind(&MockAuthenticator::OnLoginSuccess, this)); |
| 21 return; | 33 return; |
| 22 } | 34 } |
| 23 GoogleServiceAuthError error( | 35 GoogleServiceAuthError error( |
| 24 GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS); | 36 GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS); |
| 25 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, | 37 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
| 26 base::Bind(&MockAuthenticator::OnLoginFailure, this, | 38 base::Bind(&MockAuthenticator::OnLoginFailure, this, |
| 27 LoginFailure::FromNetworkAuthFailure(error))); | 39 LoginFailure::FromNetworkAuthFailure(error))); |
| 28 } | 40 } |
| 29 | 41 |
| 30 void MockAuthenticator::CompleteLogin(Profile* profile, | |
| 31 const UserContext& user_context) { | |
| 32 CHECK_EQ(expected_username_, user_context.GetUserID()); | |
| 33 CHECK_EQ(expected_password_, user_context.GetPassword()); | |
| 34 OnLoginSuccess(); | |
| 35 } | |
| 36 | |
| 37 void MockAuthenticator::AuthenticateToUnlock( | 42 void MockAuthenticator::AuthenticateToUnlock( |
| 38 const UserContext& user_context) { | 43 const UserContext& user_context) { |
| 39 AuthenticateToLogin(NULL /* not used */, user_context); | 44 AuthenticateToLogin(NULL /* not used */, user_context); |
| 40 } | 45 } |
| 41 | 46 |
| 42 void MockAuthenticator::LoginAsLocallyManagedUser( | 47 void MockAuthenticator::LoginAsLocallyManagedUser( |
| 43 const UserContext& user_context) { | 48 const UserContext& user_context) { |
| 44 UserContext new_user_context = user_context; | 49 UserContext new_user_context = user_context; |
| 45 new_user_context.SetUserIDHash(user_context.GetUserID()); | 50 new_user_context.SetUserIDHash(user_context.GetUserID()); |
| 46 consumer_->OnLoginSuccess(new_user_context); | 51 consumer_->OnLoginSuccess(new_user_context); |
| 47 } | 52 } |
| 48 | 53 |
| 49 void MockAuthenticator::LoginRetailMode() { | 54 void MockAuthenticator::LoginRetailMode() { |
| 50 UserContext user_context("demo-mode"); | 55 UserContext user_context("demo-mode"); |
| 51 user_context.SetUserIDHash("demo-mode"); | 56 user_context.SetUserIDHash("demo-mode"); |
| 52 consumer_->OnRetailModeLoginSuccess(user_context); | 57 consumer_->OnRetailModeLoginSuccess(user_context); |
| 53 } | 58 } |
| 54 | 59 |
| 55 void MockAuthenticator::LoginAsPublicAccount(const std::string& username) { | |
| 56 UserContext user_context(expected_username_); | |
| 57 user_context.SetUserIDHash(expected_username_); | |
| 58 consumer_->OnLoginSuccess(user_context); | |
| 59 } | |
| 60 | |
| 61 void MockAuthenticator::LoginAsKioskAccount(const std::string& app_user_id, | |
| 62 bool use_guest_mount) { | |
| 63 UserContext user_context(expected_username_); | |
| 64 user_context.SetUserIDHash(expected_username_); | |
| 65 consumer_->OnLoginSuccess(user_context); | |
| 66 } | |
| 67 | |
| 68 void MockAuthenticator::LoginOffTheRecord() { | 60 void MockAuthenticator::LoginOffTheRecord() { |
| 69 consumer_->OnOffTheRecordLoginSuccess(); | 61 consumer_->OnOffTheRecordLoginSuccess(); |
| 70 } | 62 } |
| 71 | 63 |
| 64 void MockAuthenticator::LoginAsPublicAccount(const std::string& username) { |
| 65 UserContext user_context(expected_user_context_.GetUserID()); |
| 66 user_context.SetUserIDHash(expected_user_context_.GetUserID()); |
| 67 consumer_->OnLoginSuccess(user_context); |
| 68 } |
| 69 |
| 70 void MockAuthenticator::LoginAsKioskAccount(const std::string& app_user_id, |
| 71 bool use_guest_mount) { |
| 72 UserContext user_context(expected_user_context_.GetUserID()); |
| 73 user_context.SetUserIDHash(expected_user_context_.GetUserID()); |
| 74 consumer_->OnLoginSuccess(user_context); |
| 75 } |
| 76 |
| 72 void MockAuthenticator::OnRetailModeLoginSuccess() { | 77 void MockAuthenticator::OnRetailModeLoginSuccess() { |
| 73 UserContext user_context(expected_username_); | 78 UserContext user_context(expected_user_context_.GetUserID()); |
| 74 user_context.SetUserIDHash(expected_username_); | 79 user_context.SetUserIDHash(expected_user_context_.GetUserID()); |
| 75 consumer_->OnRetailModeLoginSuccess(user_context); | 80 consumer_->OnRetailModeLoginSuccess(user_context); |
| 76 } | 81 } |
| 77 | 82 |
| 78 void MockAuthenticator::OnLoginSuccess() { | 83 void MockAuthenticator::OnLoginSuccess() { |
| 79 // If we want to be more like the real thing, we could save username | 84 // If we want to be more like the real thing, we could save the user ID |
| 80 // in AuthenticateToLogin, but there's not much of a point. | 85 // in AuthenticateToLogin, but there's not much of a point. |
| 81 UserContext user_context(expected_username_); | 86 UserContext user_context(expected_user_context_); |
| 82 user_context.SetPassword(expected_password_); | 87 user_context.SetUserIDHash(expected_user_context_.GetUserID()); |
| 83 user_context.SetUserIDHash(expected_username_); | |
| 84 consumer_->OnLoginSuccess(user_context); | 88 consumer_->OnLoginSuccess(user_context); |
| 85 } | 89 } |
| 86 | 90 |
| 87 void MockAuthenticator::OnLoginFailure(const LoginFailure& failure) { | 91 void MockAuthenticator::OnLoginFailure(const LoginFailure& failure) { |
| 88 consumer_->OnLoginFailure(failure); | 92 consumer_->OnLoginFailure(failure); |
| 89 } | 93 } |
| 90 | 94 |
| 95 void MockAuthenticator::RecoverEncryptedData(const std::string& old_password) { |
| 96 } |
| 97 |
| 98 void MockAuthenticator::ResyncEncryptedData() { |
| 99 } |
| 100 |
| 91 void MockAuthenticator::SetExpectedCredentials( | 101 void MockAuthenticator::SetExpectedCredentials( |
| 92 const std::string& expected_username, | 102 const UserContext& user_context) { |
| 93 const std::string& expected_password) { | 103 expected_user_context_ = user_context; |
| 94 expected_username_ = expected_username; | 104 } |
| 95 expected_password_ = expected_password; | 105 |
| 106 MockAuthenticator::~MockAuthenticator() { |
| 96 } | 107 } |
| 97 | 108 |
| 98 } // namespace chromeos | 109 } // namespace chromeos |
| OLD | NEW |