mock_cryptohome_client.h revision a36e5920737c6adbddd3e43b760e5de8431db6e0
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
13namespace chromeos {
14
15class 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