1/*
2 * Copyright (C) 2024 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_SIM_MANAGER_H
17#define MOCK_SIM_MANAGER_H
18
19#include <gtest/gtest.h>
20#include <gmock/gmock.h>
21#include "i_sim_manager.h"
22
23namespace OHOS {
24namespace Telephony {
25
26class MockSimManager : public ISimManager {
27public:
28    MockSimManager() = default;
29    virtual ~MockSimManager() = default;
30
31    MOCK_METHOD0(GetDefaultVoiceSlotId, int32_t(void));
32    MOCK_METHOD0(GetDefaultSmsSlotId, int32_t(void));
33    MOCK_METHOD0(GetDefaultCellularDataSlotId, int32_t(void));
34    MOCK_METHOD0(IsSetPrimarySlotIdInProgress, bool(void));
35    MOCK_METHOD1(OnInit, bool(int32_t));
36    MOCK_METHOD1(InitTelExtraModule, int32_t(int32_t));
37    MOCK_METHOD1(RefreshSimState, int32_t(int32_t));
38    MOCK_METHOD1(IsSimActive, bool(int32_t));
39    MOCK_METHOD1(SetDefaultVoiceSlotId, int32_t(int32_t));
40    MOCK_METHOD1(SetDefaultSmsSlotId, int32_t(int32_t));
41    MOCK_METHOD1(SetDefaultCellularDataSlotId, int32_t(int32_t));
42    MOCK_METHOD1(SetPrimarySlotId, int32_t(int32_t));
43    MOCK_METHOD1(GetDefaultVoiceSimId, int32_t(int32_t &));
44    MOCK_METHOD1(GetDefaultSmsSimId, int32_t(int32_t &));
45    MOCK_METHOD1(GetDefaultCellularDataSimId, int32_t(int32_t &));
46    MOCK_METHOD1(GetPrimarySlotId, int32_t(int32_t &));
47    MOCK_METHOD1(UpdateOperatorConfigs, int32_t(int32_t));
48    MOCK_METHOD1(GetRadioProtocolTech, int32_t(int32_t));
49    MOCK_METHOD1(GetRadioProtocol, void(int32_t));
50    MOCK_METHOD1(GetDsdsMode, int32_t(int32_t &));
51    MOCK_METHOD1(SetDsdsMode, int32_t(int32_t));
52    MOCK_METHOD1(GetLocaleFromDefaultSim, std::u16string(int32_t));
53    MOCK_METHOD1(GetSlotId, int32_t(int32_t));
54    MOCK_METHOD1(GetSimId, int32_t(int32_t));
55    MOCK_METHOD1(GetSimGid2, std::u16string(int32_t));
56    MOCK_METHOD1(GetSimIst, std::u16string(int32_t));
57    MOCK_METHOD1(ObtainAllSmsOfIcc, std::vector<std::string>(int32_t));
58    MOCK_METHOD1(IsSetActiveSimInProgress, bool(int32_t));
59    MOCK_METHOD1(UnregisterSimAccountCallback, int32_t(const int32_t));
60    MOCK_METHOD1(GetSimTeleNumberIdentifier, std::u16string(const int32_t));
61    MOCK_METHOD1(SavePrimarySlotId, int32_t(int32_t));
62    MOCK_METHOD2(HasSimCard, int32_t(int32_t, bool &));
63    MOCK_METHOD2(GetSimState, int32_t(int32_t, SimState &));
64    MOCK_METHOD2(GetSimIccStatus, int32_t(int32_t, IccSimStatus &));
65    MOCK_METHOD2(GetCardType, int32_t(int32_t, CardType &));
66    MOCK_METHOD2(SetModemInit, int32_t(int32_t, bool));
67    MOCK_METHOD2(SetActiveSim, int32_t(int32_t, int32_t));
68    MOCK_METHOD2(GetShowNumber, int32_t(int32_t, std::u16string &));
69    MOCK_METHOD2(GetShowName, int32_t(int32_t, std::u16string &));
70    MOCK_METHOD2(GetActiveSimAccountInfoList, int32_t(bool, std::vector<IccAccountInfo> &));
71    MOCK_METHOD2(GetOperatorConfigs, int32_t(int, OperatorConfig &));
72    MOCK_METHOD2(SendCallSetupRequestResult, int32_t(int32_t, bool));
73    MOCK_METHOD2(GetSimOperatorNumeric, int32_t(int32_t, std::u16string &));
74    MOCK_METHOD2(GetISOCountryCodeForSim, int32_t(int32_t, std::u16string &));
75    MOCK_METHOD2(GetSimSpn, int32_t(int32_t, std::u16string &));
76    MOCK_METHOD2(GetSimIccId, int32_t(int32_t, std::u16string &));
77    MOCK_METHOD2(GetIMSI, int32_t(int32_t, std::u16string &));
78    MOCK_METHOD2(GetSimGid1, int32_t(int32_t, std::u16string &));
79    MOCK_METHOD2(GetOpName, int32_t(int32_t, std::u16string &));
80    MOCK_METHOD2(GetOpKey, int32_t(int32_t, std::u16string &));
81    MOCK_METHOD2(GetOpKeyExt, int32_t(int32_t, std::u16string &));
82    MOCK_METHOD2(GetSimTelephoneNumber, int32_t(int32_t, std::u16string &));
83    MOCK_METHOD2(GetVoiceMailIdentifier, int32_t(int32_t, std::u16string &));
84    MOCK_METHOD2(GetVoiceMailNumber, int32_t(int32_t, std::u16string &));
85    MOCK_METHOD2(GetVoiceMailCount, int32_t(int32_t, int32_t &));
86    MOCK_METHOD2(SetVoiceMailCount, int32_t(int32_t, int32_t));
87    MOCK_METHOD2(IsCTSimCard, int32_t(int32_t, bool &));
88    MOCK_METHOD2(DelSmsIcc, int32_t(int32_t, int));
89    MOCK_METHOD2(SaveImsSwitch, int32_t(int32_t, int32_t));
90    MOCK_METHOD2(QueryImsSwitch, int32_t(int32_t, int32_t &));
91    MOCK_METHOD2(SetShowNumber, int32_t(int32_t, const std::u16string &));
92    MOCK_METHOD2(SetShowName, int32_t(int32_t, const std::u16string &));
93    MOCK_METHOD2(HasOperatorPrivileges, int32_t(const int32_t, bool &));
94    MOCK_METHOD2(SendEnvelopeCmd, int32_t(int32_t, const std::string &));
95    MOCK_METHOD2(SendTerminalResponseCmd, int32_t(int32_t, const std::string &));
96    MOCK_METHOD2(RegisterSimAccountCallback, int32_t(const int32_t, const sptr<SimAccountCallback> &));
97    MOCK_METHOD3(GetLockState, int32_t(int32_t, LockType, LockState &));
98    MOCK_METHOD3(GetSimAccountInfo, int32_t(int32_t, bool, IccAccountInfo &));
99    MOCK_METHOD3(ObtainSpnCondition, int(int32_t, bool, std::string));
100    MOCK_METHOD3(QueryIccDiallingNumbers, int32_t(int, int, std::vector<std::shared_ptr<DiallingNumbersInfo>> &));
101    MOCK_METHOD3(UnlockPin, int32_t(int32_t, const std::string &, LockStatusResponse &));
102    MOCK_METHOD3(SetLockState, int32_t(int32_t, const LockInfo &, LockStatusResponse &));
103    MOCK_METHOD3(UnlockPin2, int32_t(int32_t, const std::string &, LockStatusResponse &));
104    MOCK_METHOD3(UnlockSimLock, int32_t(int32_t, const PersoLockInfo &, LockStatusResponse &));
105    MOCK_METHOD3(SetVoiceCallForwarding, int32_t(int32_t, bool, const std::string &));
106    MOCK_METHOD3(AddIccDiallingNumbers, int32_t(int, int, const std::shared_ptr<DiallingNumbersInfo> &));
107    MOCK_METHOD3(DelIccDiallingNumbers, int32_t(int, int, const std::shared_ptr<DiallingNumbersInfo> &));
108    MOCK_METHOD3(UpdateIccDiallingNumbers, int32_t(int, int, const std::shared_ptr<DiallingNumbersInfo> &));
109    MOCK_METHOD3(RegisterCoreNotify, void(int32_t, const HANDLE &, int));
110    MOCK_METHOD3(UnRegisterCoreNotify, void(int32_t, const HANDLE &, int));
111    MOCK_METHOD3(SetVoiceMailInfo, int32_t(int32_t, const std::u16string &, const std::u16string &));
112    MOCK_METHOD4(AddSmsToIcc, int32_t(int32_t, int, std::string &, std::string &));
113    MOCK_METHOD4(SimAuthentication, int32_t(int32_t, AuthType, const std::string &, SimAuthenticationResponse &));
114    MOCK_METHOD4(GetSimEons, std::u16string(int32_t, const std::string &, int32_t, bool));
115    MOCK_METHOD4(UnlockPuk, int32_t(int32_t, const std::string &, const std::string &, LockStatusResponse &));
116    MOCK_METHOD4(AlterPin, int32_t(int32_t, const std::string &, const std::string &, LockStatusResponse &));
117    MOCK_METHOD4(UnlockPuk2, int32_t(int32_t, const std::string &, const std::string &, LockStatusResponse &));
118    MOCK_METHOD4(AlterPin2, int32_t(int32_t, const std::string &, const std::string &, LockStatusResponse &));
119    MOCK_METHOD4(SendSimMatchedOperatorInfo, int32_t(int32_t, int32_t, const std::string &, const std::string &));
120    MOCK_METHOD5(UpdateSmsIcc, int32_t(int32_t, int, int, std::string &, std::string &));
121    MOCK_METHOD6(GetSimIO, int32_t(int32_t, int32_t, int32_t, const std::string &, const std::string &,
122                                   SimAuthenticationResponse &));
123};
124}  // namespace Telephony
125}  // namespace OHOS
126#endif  // MOCK_SIM_MANAGER_H