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 3 // found in the LICENSE file. 4 5 #ifndef CHROMEOS_DBUS_MOCK_CRYPTOHOME_CLIENT_H_ 6 #define CHROMEOS_DBUS_MOCK_CRYPTOHOME_CLIENT_H_ 7 8 #include <string> 9 10 #include "chromeos/dbus/cryptohome_client.h" 11 #include "testing/gmock/include/gmock/gmock.h" 12 13 namespace chromeos { 14 15 class MockCryptohomeClient : public CryptohomeClient { 16 public: 17 MockCryptohomeClient(); 18 virtual ~MockCryptohomeClient(); 19 20 MOCK_METHOD2(SetAsyncCallStatusHandlers, 21 void(const AsyncCallStatusHandler& handler, 22 const AsyncCallStatusWithDataHandler& data_handler)); 23 MOCK_METHOD0(ResetAsyncCallStatusHandlers, void()); 24 MOCK_METHOD1(IsMounted, void(const BoolDBusMethodCallback& callback)); 25 MOCK_METHOD1(Unmount, bool(bool* success)); 26 MOCK_METHOD3(AsyncCheckKey, 27 void(const std::string& username, 28 const std::string& key, 29 const AsyncMethodCallback& callback)); 30 MOCK_METHOD4(AsyncMigrateKey, 31 void(const std::string& username, 32 const std::string& from_key, 33 const std::string& to_key, 34 const AsyncMethodCallback& callback)); 35 MOCK_METHOD2(AsyncRemove, void(const std::string& username, 36 const AsyncMethodCallback& callback)); 37 MOCK_METHOD1(GetSystemSalt, bool(std::vector<uint8>* salt)); 38 MOCK_METHOD2(GetSanitizedUsername, 39 void(const std::string& username, 40 const StringDBusMethodCallback& callback)); 41 MOCK_METHOD1(BlockingGetSanitizedUsername, 42 std::string(const std::string& username)); 43 MOCK_METHOD4(AsyncMount, void(const std::string& username, 44 const std::string& key, 45 int flags, 46 const AsyncMethodCallback& callback)); 47 MOCK_METHOD4(AsyncAddKey, void(const std::string& username, 48 const std::string& key, 49 const std::string& new_key, 50 const AsyncMethodCallback& callback)); 51 MOCK_METHOD1(AsyncMountGuest, 52 void(const AsyncMethodCallback& callback)); 53 MOCK_METHOD3(AsyncMountPublic, void(const std::string& public_mount_id, 54 int flags, 55 const AsyncMethodCallback& callback)); 56 MOCK_METHOD1(TpmIsReady, void(const BoolDBusMethodCallback& callback)); 57 MOCK_METHOD1(TpmIsEnabled, void(const BoolDBusMethodCallback& callback)); 58 MOCK_METHOD1(CallTpmIsEnabledAndBlock, bool(bool* enabled)); 59 MOCK_METHOD1(TpmGetPassword, void(const StringDBusMethodCallback& callback)); 60 MOCK_METHOD1(TpmIsOwned, void(const BoolDBusMethodCallback& callback)); 61 MOCK_METHOD1(CallTpmIsOwnedAndBlock, bool(bool* owned)); 62 MOCK_METHOD1(TpmIsBeingOwned, void(const BoolDBusMethodCallback& callback)); 63 MOCK_METHOD1(CallTpmIsBeingOwnedAndBlock, bool(bool* owning)); 64 MOCK_METHOD1(TpmCanAttemptOwnership, 65 void(const VoidDBusMethodCallback& callback)); 66 MOCK_METHOD1(TpmClearStoredPassword, 67 void(const VoidDBusMethodCallback& callback)); 68 MOCK_METHOD0(CallTpmClearStoredPasswordAndBlock, bool()); 69 MOCK_METHOD1(Pkcs11IsTpmTokenReady, 70 void(const BoolDBusMethodCallback& callback)); 71 MOCK_METHOD1(Pkcs11GetTpmTokenInfo, 72 void(const Pkcs11GetTpmTokenInfoCallback& callback)); 73 MOCK_METHOD3(InstallAttributesGet, 74 bool(const std::string& name, 75 std::vector<uint8>* value, 76 bool* successful)); 77 MOCK_METHOD3(InstallAttributesSet, 78 bool(const std::string& name, 79 const std::vector<uint8>& value, 80 bool* successful)); 81 MOCK_METHOD1(InstallAttributesFinalize, bool(bool* successful)); 82 MOCK_METHOD1(InstallAttributesIsReady, 83 void(const BoolDBusMethodCallback& callback)); 84 MOCK_METHOD1(InstallAttributesIsInvalid, bool(bool* is_invalid)); 85 MOCK_METHOD1(InstallAttributesIsFirstInstall, bool(bool* is_first_install)); 86 MOCK_METHOD1(TpmAttestationIsPrepared, 87 void(const BoolDBusMethodCallback& callback)); 88 MOCK_METHOD1(TpmAttestationIsEnrolled, 89 void(const BoolDBusMethodCallback& callback)); 90 MOCK_METHOD1(AsyncTpmAttestationCreateEnrollRequest, 91 void(const AsyncMethodCallback& callback)); 92 MOCK_METHOD2(AsyncTpmAttestationEnroll, 93 void(const std::string& pca_response, 94 const AsyncMethodCallback& callback)); 95 MOCK_METHOD2(AsyncTpmAttestationCreateCertRequest, 96 void(int options, 97 const AsyncMethodCallback& callback)); 98 MOCK_METHOD4(AsyncTpmAttestationFinishCertRequest, 99 void(const std::string& pca_response, 100 attestation::AttestationKeyType key_type, 101 const std::string& key_name, 102 const AsyncMethodCallback& callback)); 103 MOCK_METHOD3(TpmAttestationDoesKeyExist, 104 void(attestation::AttestationKeyType key_type, 105 const std::string& key_name, 106 const BoolDBusMethodCallback& callback)); 107 MOCK_METHOD3(TpmAttestationGetCertificate, 108 void(attestation::AttestationKeyType key_type, 109 const std::string& key_name, 110 const DataMethodCallback& callback)); 111 MOCK_METHOD3(TpmAttestationGetPublicKey, 112 void(attestation::AttestationKeyType key_type, 113 const std::string& key_name, 114 const DataMethodCallback& callback)); 115 MOCK_METHOD3(TpmAttestationRegisterKey, 116 void(attestation::AttestationKeyType key_type, 117 const std::string& key_name, 118 const AsyncMethodCallback& callback)); 119 MOCK_METHOD7(TpmAttestationSignEnterpriseChallenge, 120 void(attestation::AttestationKeyType key_type, 121 const std::string& key_name, 122 const std::string& domain, 123 const std::string& device_id, 124 attestation::AttestationChallengeOptions options, 125 const std::string& challenge, 126 const AsyncMethodCallback& callback)); 127 MOCK_METHOD4(TpmAttestationSignSimpleChallenge, 128 void(attestation::AttestationKeyType key_type, 129 const std::string& key_name, 130 const std::string& challenge, 131 const AsyncMethodCallback& callback)); 132 MOCK_METHOD3(TpmAttestationGetKeyPayload, 133 void(attestation::AttestationKeyType key_type, 134 const std::string& key_name, 135 const DataMethodCallback& callback)); 136 MOCK_METHOD4(TpmAttestationSetKeyPayload, 137 void(attestation::AttestationKeyType key_type, 138 const std::string& key_name, 139 const std::string& payload, 140 const BoolDBusMethodCallback& callback)); 141 }; 142 143 } // namespace chromeos 144 145 #endif // CHROMEOS_DBUS_MOCK_CRYPTOHOME_CLIENT_H_ 146