• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 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 FOUNDATION_APPEXECFWK_KITS_APPKIT_TEST_MOCK_BUNDLE_MGR_SERVICE_H
17 #define FOUNDATION_APPEXECFWK_KITS_APPKIT_TEST_MOCK_BUNDLE_MGR_SERVICE_H
18 
19 #include "gmock/gmock.h"
20 #include "semaphore_ex.h"
21 #include "bundle_mgr_host.h"
22 
23 namespace OHOS {
24 namespace AppExecFwk {
25 class MockBundleMgrService : public BundleMgrHost {
26 public:
27     MOCK_METHOD4(GetApplicationInfo,
28         bool(const std::string &appName, const ApplicationFlag flag, const int userId, ApplicationInfo &appInfo));
GetApplicationInfos(const ApplicationFlag flag,const int userId,std::vector<ApplicationInfo> & appInfos)29     virtual bool GetApplicationInfos(
30         const ApplicationFlag flag, const int userId, std::vector<ApplicationInfo> &appInfos) override
31     {
32         return false;
33     }
GetBundleInfo(const std::string & bundleName,const BundleFlag flag,BundleInfo & bundleInfo)34     virtual bool GetBundleInfo(const std::string &bundleName, const BundleFlag flag, BundleInfo &bundleInfo) override
35     {
36         return false;
37     }
GetBundleInfos(const BundleFlag flag,std::vector<BundleInfo> & bundleInfos)38     virtual bool GetBundleInfos(const BundleFlag flag, std::vector<BundleInfo> &bundleInfos) override
39     {
40         return false;
41     }
GetUidByBundleName(const std::string & bundleName,const int userId)42     virtual int GetUidByBundleName(const std::string &bundleName, const int userId) override
43     {
44         return 0;
45     }
GetAppIdByBundleName(const std::string & bundleName,const int userId)46     virtual std::string GetAppIdByBundleName(const std::string &bundleName, const int userId) override
47     {
48         return "";
49     }
GetBundleNameForUid(const int uid,std::string & bundleName)50     virtual bool GetBundleNameForUid(const int uid, std::string &bundleName) override
51     {
52         return false;
53     }
54     MOCK_METHOD2(GetBundleGids, bool(const std::string &bundleName, std::vector<int> &gids));
GetAppType(const std::string & bundleName)55     std::string GetAppType(const std::string &bundleName)
56     {
57         GTEST_LOG_(INFO) << "MockBundleMgrService::GetAppType called";
58         return "ModuleTestType";
59     }
CheckIsSystemAppByUid(const int uid)60     virtual bool CheckIsSystemAppByUid(const int uid) override
61     {
62         return false;
63     }
64     MOCK_METHOD2(GetBundleInfosByMetaData, bool(const std::string &metaData, std::vector<BundleInfo> &bundleInfos));
65     MOCK_METHOD2(QueryAbilityInfo, bool(const Want &want, AbilityInfo &abilityInfo));
66     MOCK_METHOD2(QueryAbilityInfoByUri, bool(const std::string &abilityUri, AbilityInfo &abilityInfo));
67     MOCK_METHOD1(QueryKeepAliveBundleInfos, bool(std::vector<BundleInfo> &bundleInfos));
68     MOCK_METHOD2(GetAbilityLabel, std::string(const std::string &bundleName, const std::string &className));
69     MOCK_METHOD3(
70         GetBundleArchiveInfo, bool(const std::string &hapFilePath, const BundleFlag flag, BundleInfo &bundleInfo));
71     MOCK_METHOD2(GetHapModuleInfo, bool(const std::string &hapFilePath, HapModuleInfo &hapModuleInfo));
72     MOCK_METHOD2(GetHapModuleInfo, bool(const AbilityInfo &abilityInfo, HapModuleInfo &hapModuleInfo));
73     MOCK_METHOD2(GetLaunchWantForBundle, bool(const std::string &bundleName, Want &want));
74     MOCK_METHOD2(CheckPublicKeys, int(const std::string &firstBundleName, const std::string &secondBundleName));
75     MOCK_METHOD2(CheckPermission, int(const std::string &bundleName, const std::string &permission));
76     MOCK_METHOD2(GetPermissionDef, bool(const std::string &permissionName, PermissionDef &permissionDef));
77     MOCK_METHOD1(GetAllPermissionGroupDefs, bool(std::vector<PermissionDef> &permissionDefs));
78     MOCK_METHOD2(GetAppsGrantedPermissions,
79         bool(const std::vector<std::string> &permissions, std::vector<std::string> &appNames));
80     MOCK_METHOD1(HasSystemCapability, bool(const std::string &capName));
81     MOCK_METHOD1(GetSystemAvailableCapabilities, bool(std::vector<std::string> &systemCaps));
82     MOCK_METHOD0(IsSafeMode, bool());
83     MOCK_METHOD2(CleanBundleCacheFiles,
84         bool(const std::string &bundleName, const sptr<ICleanCacheCallback> &cleanCacheCallback));
85     MOCK_METHOD1(CleanBundleDataFiles, bool(const std::string &bundleName));
86     MOCK_METHOD1(RegisterBundleStatusCallback, bool(const sptr<IBundleStatusCallback> &bundleStatusCallback));
87     MOCK_METHOD1(ClearBundleStatusCallback, bool(const sptr<IBundleStatusCallback> &bundleStatusCallback));
88     MOCK_METHOD0(UnregisterBundleStatusCallback, bool());
DumpInfos(const DumpFlag flag,const std::string & bundleName,std::string & result)89     virtual bool DumpInfos(const DumpFlag flag, const std::string &bundleName, std::string &result) override
90     {
91         return false;
92     }
93     MOCK_METHOD0(GetBundleInstaller, sptr<IBundleInstaller>());
94     MOCK_METHOD1(GetBundleInstaller, bool(const std::string &));
95     MOCK_METHOD2(SetApplicationEnabled, bool(const std::string &, bool));
96     MOCK_METHOD1(IsApplicationEnabled, bool(const std::string &));
97 
CanRequestPermission(const std::string & bundleName,const std::string & permissionName,const int userId)98     virtual bool CanRequestPermission(
99         const std::string &bundleName, const std::string &permissionName, const int userId) override
100     {
101         return true;
102     }
RequestPermissionFromUser(const std::string & bundleName,const std::string & permission,const int userId)103     virtual bool RequestPermissionFromUser(
104         const std::string &bundleName, const std::string &permission, const int userId) override
105     {
106         return true;
107     }
108     MOCK_METHOD2(GetNameForUid, bool(const int uid, std::string &name));
109     MOCK_METHOD2(GetBundlesForUid, bool(const int uid, std::vector<std::string> &));
110     MOCK_METHOD2(SetAbilityEnabled, bool(const AbilityInfo &, bool));
111     MOCK_METHOD1(IsAbilityEnabled, bool(const AbilityInfo &));
112     MOCK_METHOD2(GetAbilityIcon, std::string(const std::string &bundleName, const std::string &className));
113     MOCK_METHOD1(RegisterAllPermissionsChanged, bool(const sptr<OnPermissionChangedCallback> &callback));
114     MOCK_METHOD2(RegisterPermissionsChanged,
115         bool(const std::vector<int> &uids, const sptr<OnPermissionChangedCallback> &callback));
116     MOCK_METHOD1(UnregisterPermissionsChanged, bool(const sptr<OnPermissionChangedCallback> &callback));
Wait()117     void Wait()
118     {
119         sem_.Wait();
120     }
121 
Post()122     int Post()
123     {
124         sem_.Post();
125         return 0;
126     }
127 
PostVoid()128     void PostVoid()
129     {
130         sem_.Post();
131     }
132 
133 private:
134     Semaphore sem_;
135 };
136 
137 }  // namespace AppExecFwk
138 }  // namespace OHOS
139 #endif  // FOUNDATION_APPEXECFWK_KITS_APPKIT_TEST_MOCK_BUNDLE_MGR_SERVICE_H