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