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 #ifndef OHOS_FILEMGMT_BACKUP_SVC_SESSION_MANAGER_THROW_MOCK_H 16 #define OHOS_FILEMGMT_BACKUP_SVC_SESSION_MANAGER_THROW_MOCK_H 17 18 #include <memory> 19 #include <string> 20 #include <gmock/gmock.h> 21 22 #include "module_ipc/svc_session_manager.h" 23 24 namespace OHOS::FileManagement::Backup { 25 26 class BackupSvcSessionManager { 27 public: 28 virtual ~BackupSvcSessionManager() = default; 29 public: 30 virtual ErrCode VerifyCallerAndScenario(uint32_t, IServiceReverse::Scenario) = 0; 31 virtual ErrCode Active(SvcSessionManager::Impl) = 0; 32 virtual ErrCode Deactive(const wptr<IRemoteObject> &, bool) = 0; 33 virtual ErrCode VerifyBundleName(std::string &) = 0; 34 virtual sptr<IServiceReverse> GetServiceReverseProxy() = 0; 35 virtual IServiceReverse::Scenario GetScenario() = 0; 36 virtual bool OnBundleFileReady(const std::string &, const std::string &) = 0; 37 virtual UniqueFd OnBundleExtManageInfo(const std::string &, UniqueFd) = 0; 38 virtual void RemoveExtInfo(const std::string &) = 0; 39 virtual wptr<SvcBackupConnection> GetExtConnection(const BundleName &) = 0; 40 virtual sptr<SvcBackupConnection> GetBackupAbilityExt(const std::string &) = 0; 41 virtual void DumpInfo(const int, const std::vector<std::u16string> &) = 0; 42 virtual ErrCode InitClient(SvcSessionManager::Impl &) = 0; 43 virtual void SetExtFileNameRequest(const std::string &, const std::string &) = 0; 44 virtual std::set<std::string> GetExtFileNameRequest(const std::string &) = 0; 45 virtual std::tuple<bool, std::map<BundleName, BackupExtInfo>::iterator> GetBackupExtNameMap( 46 const std::string &) = 0; 47 virtual bool GetSchedBundleName(std::string &) = 0; 48 virtual BConstants::ServiceSchedAction GetServiceSchedAction(const std::string &) = 0; 49 virtual void SetServiceSchedAction(const std::string &, BConstants::ServiceSchedAction) = 0; 50 virtual std::string GetBackupExtName(const std::string &) = 0; 51 virtual void SetBackupExtInfo(const std::string &, const std::string &) = 0; 52 virtual std::string GetBackupExtInfo(const std::string &) = 0; 53 virtual void SetBackupExtName(const std::string &, const std::string &) = 0; 54 virtual std::weak_ptr<SABackupConnection> GetSAExtConnection(const BundleName &) = 0; 55 virtual void AppendBundles(const std::vector<BundleName> &, std::vector<BundleName> &) = 0; 56 virtual sptr<SvcBackupConnection> CreateBackupConnection(BundleName &) = 0; 57 virtual ErrCode Start() = 0; 58 virtual ErrCode Finish() = 0; 59 virtual bool IsOnAllBundlesFinished() = 0; 60 virtual bool IsOnOnStartSched() = 0; 61 virtual bool NeedToUnloadService() = 0; 62 virtual int32_t GetSessionUserId() = 0; 63 virtual void SetSessionUserId(int32_t) = 0; 64 virtual std::string GetSessionCallerName() = 0; 65 virtual std::string GetSessionActiveTime() = 0; 66 virtual void SetBundleRestoreType(const std::string &, RestoreTypeEnum) = 0; 67 virtual RestoreTypeEnum GetBundleRestoreType(const std::string &) = 0; 68 virtual void SetBundleVersionCode(const std::string &, int64_t) = 0; 69 virtual int64_t GetBundleVersionCode(const std::string &) = 0; 70 virtual void SetBundleVersionName(const std::string &, std::string) = 0; 71 virtual std::string GetBundleVersionName(const std::string &) = 0; 72 virtual void SetBundleUserId(const std::string &, const int32_t) = 0; 73 virtual int32_t GetBundleUserId(const std::string &) = 0; 74 virtual void SetBundleDataSize(const std::string &, int64_t) = 0; 75 virtual bool StartFwkTimer(const std::string &, const Utils::Timer::TimerCallback &) = 0; 76 virtual bool StopFwkTimer(const std::string &) = 0; 77 virtual bool StartExtTimer(const std::string &, const Utils::Timer::TimerCallback &) = 0; 78 virtual bool StopExtTimer(const std::string &) = 0; 79 virtual bool UpdateTimer(const std::string &, uint32_t, const Utils::Timer::TimerCallback &) = 0; 80 virtual void IncreaseSessionCnt(const std::string) = 0; 81 virtual void DecreaseSessionCnt(const std::string) = 0; 82 virtual int32_t GetMemParaCurSize() = 0; 83 virtual void SetMemParaCurSize(int32_t) = 0; 84 virtual ErrCode ClearSessionData() = 0; 85 virtual bool GetIsIncrementalBackup() = 0; 86 virtual bool ValidRestoreDataType(RestoreTypeEnum) = 0; 87 virtual uint32_t GetTimeoutValue(const std::string &) = 0; 88 virtual SvcSessionManager::Impl GetImpl() = 0; 89 virtual int GetSessionCnt() = 0; 90 virtual void SetClearDataFlag(const std::string &bundleName, bool isNotClear) = 0; 91 virtual bool GetClearDataFlag(const std::string &bundleName) = 0; 92 virtual void SetIncrementalData(const BIncrementalData &) = 0; 93 virtual int32_t GetIncrementalManifestFd(const std::string &) = 0; 94 virtual int64_t GetLastIncrementalTime(const std::string &) = 0; 95 virtual bool CleanAndCheckIfNeedWait(ErrCode &ret, std::vector<std::string> &bundleNameList) = 0; 96 virtual void SetPublishFlag(const std::string &bundleName) = 0; 97 virtual void SetImplRestoreType(const RestoreTypeEnum restoreType) = 0; 98 virtual void SetIsReadyLaunch(const std::string &bundleName) = 0; 99 virtual void SetOldBackupVersion(const std::string &backupVersion) = 0; 100 virtual std::string GetOldBackupVersion() = 0; 101 public: 102 static inline std::shared_ptr<BackupSvcSessionManager> session = nullptr; 103 }; 104 105 class SvcSessionManagerMock : public BackupSvcSessionManager { 106 public: 107 MOCK_METHOD(ErrCode, VerifyCallerAndScenario, (uint32_t, IServiceReverse::Scenario)); 108 MOCK_METHOD(ErrCode, Active, (SvcSessionManager::Impl)); 109 MOCK_METHOD(ErrCode, Deactive, (const wptr<IRemoteObject> &, bool)); 110 MOCK_METHOD(ErrCode, VerifyBundleName, (std::string &)); 111 MOCK_METHOD(sptr<IServiceReverse>, GetServiceReverseProxy, ()); 112 MOCK_METHOD(IServiceReverse::Scenario, GetScenario, ()); 113 MOCK_METHOD(bool, OnBundleFileReady, (const std::string &, const std::string &)); 114 MOCK_METHOD(UniqueFd, OnBundleExtManageInfo, (const std::string &, UniqueFd)); 115 MOCK_METHOD(void, RemoveExtInfo, (const std::string &)); 116 MOCK_METHOD(wptr<SvcBackupConnection>, GetExtConnection, (const BundleName &)); 117 MOCK_METHOD(sptr<SvcBackupConnection>, GetBackupAbilityExt, (const std::string &)); 118 MOCK_METHOD(void, DumpInfo, (const int, const std::vector<std::u16string> &)); 119 MOCK_METHOD(ErrCode, InitClient, (SvcSessionManager::Impl &)); 120 MOCK_METHOD(void, SetExtFileNameRequest, (const std::string &, const std::string &)); 121 MOCK_METHOD(std::set<std::string>, GetExtFileNameRequest, (const std::string &)); 122 MOCK_METHOD((std::tuple<bool, std::map<BundleName, BackupExtInfo>::iterator>), GetBackupExtNameMap, 123 (const std::string &)); 124 MOCK_METHOD(bool, GetSchedBundleName, (std::string &)); 125 MOCK_METHOD(BConstants::ServiceSchedAction, GetServiceSchedAction, (const std::string &)); 126 MOCK_METHOD(void, SetServiceSchedAction, (const std::string &, BConstants::ServiceSchedAction)); 127 MOCK_METHOD(std::string, GetBackupExtName, (const std::string &)); 128 MOCK_METHOD(void, SetBackupExtInfo, (const std::string &, const std::string &)); 129 MOCK_METHOD(std::string, GetBackupExtInfo, (const std::string &)); 130 MOCK_METHOD(void, SetBackupExtName, (const std::string &, const std::string &)); 131 MOCK_METHOD(std::weak_ptr<SABackupConnection>, GetSAExtConnection, (const BundleName &)); 132 MOCK_METHOD(void, AppendBundles, (const std::vector<BundleName> &, std::vector<BundleName> &)); 133 MOCK_METHOD(sptr<SvcBackupConnection>, CreateBackupConnection, (BundleName &)); 134 MOCK_METHOD(ErrCode, Start, ()); 135 MOCK_METHOD(ErrCode, Finish, ()); 136 MOCK_METHOD(bool, IsOnAllBundlesFinished, ()); 137 MOCK_METHOD(bool, IsOnOnStartSched, ()); 138 MOCK_METHOD(bool, NeedToUnloadService, ()); 139 MOCK_METHOD(int32_t, GetSessionUserId, ()); 140 MOCK_METHOD(void, SetSessionUserId, (int32_t)); 141 MOCK_METHOD(std::string, GetSessionCallerName, ()); 142 MOCK_METHOD(std::string, GetSessionActiveTime, ()); 143 MOCK_METHOD(void, SetBundleRestoreType, (const std::string &, RestoreTypeEnum)); 144 MOCK_METHOD(RestoreTypeEnum, GetBundleRestoreType, (const std::string &)); 145 MOCK_METHOD(void, SetBundleVersionCode, (const std::string &, int64_t)); 146 MOCK_METHOD(int64_t, GetBundleVersionCode, (const std::string &)); 147 MOCK_METHOD(void, SetBundleVersionName, (const std::string &, std::string)); 148 MOCK_METHOD(std::string, GetBundleVersionName, (const std::string &)); 149 MOCK_METHOD(void, SetBundleUserId, (const std::string &, const int32_t)); 150 MOCK_METHOD(int32_t, GetBundleUserId, (const std::string &)); 151 MOCK_METHOD(void, SetBundleDataSize, (const std::string &, int64_t)); 152 MOCK_METHOD(bool, StartFwkTimer, (const std::string &, const Utils::Timer::TimerCallback &)); 153 MOCK_METHOD(bool, StopFwkTimer, (const std::string &)); 154 MOCK_METHOD(bool, StartExtTimer, (const std::string &, const Utils::Timer::TimerCallback &)); 155 MOCK_METHOD(bool, StopExtTimer, (const std::string &)); 156 MOCK_METHOD(bool, UpdateTimer, (const std::string &, uint32_t, const Utils::Timer::TimerCallback &)); 157 MOCK_METHOD(void, IncreaseSessionCnt, (const std::string)); 158 MOCK_METHOD(void, DecreaseSessionCnt, (const std::string)); 159 MOCK_METHOD(int32_t, GetMemParaCurSize, ()); 160 MOCK_METHOD(void, SetMemParaCurSize, (int32_t)); 161 MOCK_METHOD(ErrCode, ClearSessionData, ()); 162 MOCK_METHOD(bool, GetIsIncrementalBackup, ()); 163 MOCK_METHOD(bool, ValidRestoreDataType, (RestoreTypeEnum)); 164 MOCK_METHOD(uint32_t, GetTimeoutValue, (const std::string &)); 165 MOCK_METHOD(SvcSessionManager::Impl, GetImpl, ()); 166 MOCK_METHOD(int, GetSessionCnt, ()); 167 MOCK_METHOD(void, SetClearDataFlag, (const std::string &, bool)); 168 MOCK_METHOD(bool, GetClearDataFlag, (const std::string &)); 169 MOCK_METHOD(void, SetIncrementalData, (const BIncrementalData &)); 170 MOCK_METHOD(int32_t, GetIncrementalManifestFd, (const std::string &)); 171 MOCK_METHOD(int64_t, GetLastIncrementalTime, (const std::string &)); 172 MOCK_METHOD(bool, CleanAndCheckIfNeedWait, (ErrCode &, std::vector<std::string> &)); 173 MOCK_METHOD(void, SetPublishFlag, (const std::string &)); 174 MOCK_METHOD(void, SetImplRestoreType, (const RestoreTypeEnum restoreType)); 175 MOCK_METHOD(void, SetIsReadyLaunch, (const std::string &)); 176 MOCK_METHOD(void, SetOldBackupVersion, (const std::string &)); 177 MOCK_METHOD(std::string, GetOldBackupVersion, ()); 178 }; 179 180 } // namespace OHOS::FileManagement::Backup 181 #endif // OHOS_FILEMGMT_BACKUP_SVC_SESSION_MANAGER_THROW_MOCK_H