Index: chrome/browser/chromeos/cros/mock_cryptohome_library.h |
diff --git a/chrome/browser/chromeos/cros/mock_cryptohome_library.h b/chrome/browser/chromeos/cros/mock_cryptohome_library.h |
index 1b510a6cbea8b47e0db154630347f11c6888bdd2..808db1bac23dd2e087c93a222b2ce968e4ccc0f5 100644 |
--- a/chrome/browser/chromeos/cros/mock_cryptohome_library.h |
+++ b/chrome/browser/chromeos/cros/mock_cryptohome_library.h |
@@ -11,11 +11,25 @@ |
#include "chrome/browser/chromeos/cros/cryptohome_library.h" |
#include "testing/gmock/include/gmock/gmock.h" |
+using ::testing::Invoke; |
+using ::testing::_; |
+ |
namespace chromeos { |
class MockCryptohomeLibrary : public CryptohomeLibrary { |
public: |
- MockCryptohomeLibrary() {} |
+ MockCryptohomeLibrary() { |
+ ON_CALL(*this, AsyncCheckKey(_, _, _)) |
+ .WillByDefault(Invoke(this, &MockCryptohomeLibrary::TwoString)); |
+ ON_CALL(*this, AsyncMigrateKey(_, _, _, _)) |
+ .WillByDefault(Invoke(this, &MockCryptohomeLibrary::ThreeString)); |
+ ON_CALL(*this, AsyncMount(_, _, _)) |
+ .WillByDefault(Invoke(this, &MockCryptohomeLibrary::TwoString)); |
+ ON_CALL(*this, AsyncMountForBwsi(_)) |
+ .WillByDefault(Invoke(this, &MockCryptohomeLibrary::ZeroString)); |
+ ON_CALL(*this, AsyncRemove(_, _)) |
+ .WillByDefault(Invoke(this, &MockCryptohomeLibrary::OneString)); |
+ } |
virtual ~MockCryptohomeLibrary() {} |
MOCK_METHOD2(CheckKey, bool(const std::string& user_email, |
const std::string& passhash)); |
@@ -41,6 +55,41 @@ class MockCryptohomeLibrary : public CryptohomeLibrary { |
MOCK_METHOD2(AsyncRemove, bool(const std::string& user_email, Delegate* d)); |
MOCK_METHOD0(IsMounted, bool(void)); |
MOCK_METHOD0(GetSystemSalt, CryptohomeBlob(void)); |
+ |
+ void SetAsyncBehavior(bool outcome, int code) { |
+ outcome_ = outcome; |
+ code_ = code; |
+ } |
+ |
+ bool ThreeString(const std::string& user_email, |
+ const std::string& old_hash, |
+ const std::string& new_hash, |
+ Delegate* d) { |
+ d->OnComplete(outcome_, code_); |
+ return true; |
+ } |
+ |
+ bool TwoString(const std::string& user_email, |
+ const std::string& passhash, |
+ Delegate* d) { |
+ d->OnComplete(outcome_, code_); |
+ return true; |
+ } |
+ |
+ bool OneString(const std::string& user_email, Delegate* d) { |
+ d->OnComplete(outcome_, code_); |
+ return true; |
+ } |
+ |
+ bool ZeroString(Delegate* d) { |
+ d->OnComplete(outcome_, code_); |
+ return true; |
+ } |
+ |
+ private: |
+ bool outcome_; |
+ int code_; |
+ DISALLOW_COPY_AND_ASSIGN(MockCryptohomeLibrary); |
}; |
} // namespace chromeos |