1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License"));
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef MOCK_IAUTH_EXECUTOR_HDI_H
17 #define MOCK_IAUTH_EXECUTOR_HDI_H
18 
19 #include "gmock/gmock.h"
20 
21 #include "mock_iauth_executor_hdi.h"
22 
23 namespace OHOS {
24 namespace UserIam {
25 namespace UserAuth {
26 using namespace OHOS::UserIam;
27 using namespace OHOS::UserIam::UserAuth;
28 
29 class MockIAuthExecutorHdi : public IAuthExecutorHdi {
30 public:
31     virtual ~MockIAuthExecutorHdi() = default;
32 
33     MOCK_METHOD1(GetExecutorInfo, ResultCode(ExecutorInfo &info));
34     MOCK_METHOD3(
35         OnRegisterFinish, ResultCode(const std::vector<uint64_t> &templateIdList,
36                               const std::vector<uint8_t> &frameworkPublicKey, const std::vector<uint8_t> &extraInfo));
37     MOCK_METHOD1(Cancel, ResultCode(uint64_t scheduleId));
38     MOCK_METHOD3(SendMessage, ResultCode(uint64_t scheduleId, int32_t srcRole, const std::vector<uint8_t> &msg));
39     MOCK_METHOD3(Enroll, ResultCode(uint64_t scheduleId, const EnrollParam &param,
40                              const std::shared_ptr<UserAuth::IExecuteCallback> &callbackObj));
41     MOCK_METHOD3(Authenticate,
42         ResultCode(uint64_t scheduleId, const AuthenticateParam &param,
43             const std::shared_ptr<UserAuth::IExecuteCallback> &callbackObj));
44     MOCK_METHOD3(Collect,
45         ResultCode(uint64_t scheduleId, const CollectParam &param,
46         const std::shared_ptr<UserAuth::IExecuteCallback> &callbackObj));
47     MOCK_METHOD3(Identify, ResultCode(uint64_t scheduleId, const IdentifyParam &param,
48                                const std::shared_ptr<UserAuth::IExecuteCallback> &callbackObj));
49     MOCK_METHOD1(Delete, ResultCode(const std::vector<uint64_t> &templateIdList));
50     MOCK_METHOD3(SendCommand, ResultCode(PropertyMode commandId, const std::vector<uint8_t> &extraInfo,
51                                   const std::shared_ptr<UserAuth::IExecuteCallback> &callbackObj));
52     MOCK_METHOD3(GetProperty, ResultCode (const std::vector<uint64_t> &templateIdList,
53         const std::vector<Attributes::AttributeKey> &keys, Property &property));
54     MOCK_METHOD1(SetCachedTemplates, ResultCode(const std::vector<uint64_t> &templateIdList));
55     MOCK_METHOD1(NotifyCollectorReady, ResultCode(uint64_t scheduleId));
56 };
57 } // namespace UserAuth
58 } // namespace UserIam
59 } // namespace OHOS
60 
61 #endif // MOCK_IAUTH_EXECUTOR_HDI_H