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_METHOD1(Init, void(dbus::Bus* bus)); 21 MOCK_METHOD2(SetAsyncCallStatusHandlers, 22 void(const AsyncCallStatusHandler& handler, 23 const AsyncCallStatusWithDataHandler& data_handler)); 24 MOCK_METHOD0(ResetAsyncCallStatusHandlers, void()); 25 MOCK_METHOD1(WaitForServiceToBeAvailable, 26 void(const WaitForServiceToBeAvailableCallback& callback)); 27 MOCK_METHOD1(IsMounted, void(const BoolDBusMethodCallback& callback)); 28 MOCK_METHOD1(Unmount, bool(bool* success)); 29 MOCK_METHOD3(AsyncCheckKey, 30 void(const std::string& username, 31 const std::string& key, 32 const AsyncMethodCallback& callback)); 33 MOCK_METHOD4(AsyncMigrateKey, 34 void(const std::string& username, 35 const std::string& from_key, 36 const std::string& to_key, 37 const AsyncMethodCallback& callback)); 38 MOCK_METHOD2(AsyncRemove, void(const std::string& username, 39 const AsyncMethodCallback& callback)); 40 MOCK_METHOD1(GetSystemSalt, void(const GetSystemSaltCallback& callback)); 41 MOCK_METHOD2(GetSanitizedUsername, 42 void(const std::string& username, 43 const StringDBusMethodCallback& callback)); 44 MOCK_METHOD1(BlockingGetSanitizedUsername, 45 std::string(const std::string& username)); 46 MOCK_METHOD4(AsyncMount, void(const std::string& username, 47 const std::string& key, 48 int flags, 49 const AsyncMethodCallback& callback)); 50 MOCK_METHOD4(AsyncAddKey, void(const std::string& username, 51 const std::string& key, 52 const std::string& new_key, 53 const AsyncMethodCallback& callback)); 54 MOCK_METHOD1(AsyncMountGuest, 55 void(const AsyncMethodCallback& callback)); 56 MOCK_METHOD3(AsyncMountPublic, void(const std::string& public_mount_id, 57 int flags, 58 const AsyncMethodCallback& callback)); 59 MOCK_METHOD1(TpmIsReady, void(const BoolDBusMethodCallback& callback)); 60 MOCK_METHOD1(TpmIsEnabled, void(const BoolDBusMethodCallback& callback)); 61 MOCK_METHOD1(CallTpmIsEnabledAndBlock, bool(bool* enabled)); 62 MOCK_METHOD1(TpmGetPassword, void(const StringDBusMethodCallback& callback)); 63 MOCK_METHOD1(TpmIsOwned, void(const BoolDBusMethodCallback& callback)); 64 MOCK_METHOD1(CallTpmIsOwnedAndBlock, bool(bool* owned)); 65 MOCK_METHOD1(TpmIsBeingOwned, void(const BoolDBusMethodCallback& callback)); 66 MOCK_METHOD1(CallTpmIsBeingOwnedAndBlock, bool(bool* owning)); 67 MOCK_METHOD1(TpmCanAttemptOwnership, 68 void(const VoidDBusMethodCallback& callback)); 69 MOCK_METHOD1(TpmClearStoredPassword, 70 void(const VoidDBusMethodCallback& callback)); 71 MOCK_METHOD0(CallTpmClearStoredPasswordAndBlock, bool()); 72 MOCK_METHOD1(Pkcs11IsTpmTokenReady, 73 void(const BoolDBusMethodCallback& callback)); 74 MOCK_METHOD1(Pkcs11GetTpmTokenInfo, 75 void(const Pkcs11GetTpmTokenInfoCallback& callback)); 76 MOCK_METHOD2(Pkcs11GetTpmTokenInfoForUser, 77 void(const std::string& username, 78 const Pkcs11GetTpmTokenInfoCallback& callback)); 79 MOCK_METHOD3(InstallAttributesGet, 80 bool(const std::string& name, 81 std::vector<uint8>* value, 82 bool* successful)); 83 MOCK_METHOD3(InstallAttributesSet, 84 bool(const std::string& name, 85 const std::vector<uint8>& value, 86 bool* successful)); 87 MOCK_METHOD1(InstallAttributesFinalize, bool(bool* successful)); 88 MOCK_METHOD1(InstallAttributesIsReady, 89 void(const BoolDBusMethodCallback& callback)); 90 MOCK_METHOD1(InstallAttributesIsInvalid, bool(bool* is_invalid)); 91 MOCK_METHOD1(InstallAttributesIsFirstInstall, bool(bool* is_first_install)); 92 MOCK_METHOD1(TpmAttestationIsPrepared, 93 void(const BoolDBusMethodCallback& callback)); 94 MOCK_METHOD1(TpmAttestationIsEnrolled, 95 void(const BoolDBusMethodCallback& callback)); 96 MOCK_METHOD1(AsyncTpmAttestationCreateEnrollRequest, 97 void(const AsyncMethodCallback& callback)); 98 MOCK_METHOD2(AsyncTpmAttestationEnroll, 99 void(const std::string& pca_response, 100 const AsyncMethodCallback& callback)); 101 MOCK_METHOD4( 102 AsyncTpmAttestationCreateCertRequest, 103 void(attestation::AttestationCertificateProfile certificate_profile, 104 const std::string& user_id, 105 const std::string& request_origin, 106 const AsyncMethodCallback& callback)); 107 MOCK_METHOD5(AsyncTpmAttestationFinishCertRequest, 108 void(const std::string& pca_response, 109 attestation::AttestationKeyType key_type, 110 const std::string& user_id, 111 const std::string& key_name, 112 const AsyncMethodCallback& callback)); 113 MOCK_METHOD4(TpmAttestationDoesKeyExist, 114 void(attestation::AttestationKeyType key_type, 115 const std::string& user_id, 116 const std::string& key_name, 117 const BoolDBusMethodCallback& callback)); 118 MOCK_METHOD4(TpmAttestationGetCertificate, 119 void(attestation::AttestationKeyType key_type, 120 const std::string& user_id, 121 const std::string& key_name, 122 const DataMethodCallback& callback)); 123 MOCK_METHOD4(TpmAttestationGetPublicKey, 124 void(attestation::AttestationKeyType key_type, 125 const std::string& user_id, 126 const std::string& key_name, 127 const DataMethodCallback& callback)); 128 MOCK_METHOD4(TpmAttestationRegisterKey, 129 void(attestation::AttestationKeyType key_type, 130 const std::string& user_id, 131 const std::string& key_name, 132 const AsyncMethodCallback& callback)); 133 MOCK_METHOD8(TpmAttestationSignEnterpriseChallenge, 134 void(attestation::AttestationKeyType key_type, 135 const std::string& user_id, 136 const std::string& key_name, 137 const std::string& domain, 138 const std::string& device_id, 139 attestation::AttestationChallengeOptions options, 140 const std::string& challenge, 141 const AsyncMethodCallback& callback)); 142 MOCK_METHOD5(TpmAttestationSignSimpleChallenge, 143 void(attestation::AttestationKeyType key_type, 144 const std::string& user_id, 145 const std::string& key_name, 146 const std::string& challenge, 147 const AsyncMethodCallback& callback)); 148 MOCK_METHOD4(TpmAttestationGetKeyPayload, 149 void(attestation::AttestationKeyType key_type, 150 const std::string& user_id, 151 const std::string& key_name, 152 const DataMethodCallback& callback)); 153 MOCK_METHOD5(TpmAttestationSetKeyPayload, 154 void(attestation::AttestationKeyType key_type, 155 const std::string& user_id, 156 const std::string& key_name, 157 const std::string& payload, 158 const BoolDBusMethodCallback& callback)); 159 MOCK_METHOD4(TpmAttestationDeleteKeys, 160 void(attestation::AttestationKeyType key_type, 161 const std::string& user_id, 162 const std::string& key_prefix, 163 const BoolDBusMethodCallback& callback)); 164 }; 165 166 } // namespace chromeos 167 168 #endif // CHROMEOS_DBUS_MOCK_CRYPTOHOME_CLIENT_H_ 169