• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include <gtest/gtest.h>
17 
18 #include "app_preloader.h"
19 #include "hilog_tag_wrapper.h"
20 
21 using namespace testing;
22 using namespace testing::ext;
23 
24 namespace OHOS {
25 namespace AppExecFwk {
26 class AppPreloaderTest : public testing::Test {
27 public:
28     void SetUp();
29     void TearDown();
30 
31 protected:
32     std::shared_ptr<RemoteClientManager> remoteClientManager_ = nullptr;
33 };
34 
SetUp()35 void AppPreloaderTest::SetUp()
36 {
37     remoteClientManager_ = std::make_shared<RemoteClientManager>();
38     auto bundleMgrHelper = std::make_shared<BundleMgrHelper>();
39     remoteClientManager_->SetBundleManagerHelper(bundleMgrHelper);
40 }
41 
TearDown()42 void AppPreloaderTest::TearDown()
43 {}
44 
45 /**
46  * @tc.number: AppPreloaderTest_GeneratePreloadRequest_0100
47  * @tc.desc: Test GeneratePreloadRequest works
48  * @tc.type: FUNC
49  * @tc.Function: GeneratePreloadRequest
50  * @tc.SubFunction: NA
51  * @tc.EnvConditions: NA
52  */
53 HWTEST_F(AppPreloaderTest, AppPreloaderTest_GeneratePreloadRequest_0100, TestSize.Level0)
54 {
55     TAG_LOGD(AAFwkTag::TEST, "AppPreloaderTest_GeneratePreloadRequest_0100 start.");
56     auto manager = std::make_shared<AppPreloader>(remoteClientManager_);
57     EXPECT_NE(manager, nullptr);
58 
59     std::string bundleName = "com.acts.preloadtest";
60     int32_t userId = 100;
61     int32_t appIndex = 0;
62     PreloadRequest request;
63     auto ret = manager->GeneratePreloadRequest(bundleName, userId, appIndex, request);
64     EXPECT_EQ(ret, ERR_OK);
65 }
66 
67 /**
68  * @tc.number: AppPreloaderTest_GeneratePreloadRequest_0200
69  * @tc.desc: Test GeneratePreloadRequest works
70  * @tc.type: FUNC
71  * @tc.Function: GeneratePreloadRequest
72  * @tc.SubFunction: NA
73  * @tc.EnvConditions: NA
74  */
75 HWTEST_F(AppPreloaderTest, AppPreloaderTest_GeneratePreloadRequest_0200, TestSize.Level0)
76 {
77     TAG_LOGD(AAFwkTag::TEST, "AppPreloaderTest_GeneratePreloadRequest_0200 start.");
78     auto manager = std::make_shared<AppPreloader>(remoteClientManager_);
79     EXPECT_NE(manager, nullptr);
80 
81     std::string bundleName = "com.acts.preloadtest";
82     int32_t userId = 1;
83     int32_t appIndex = 0;
84     PreloadRequest request;
85     auto ret = manager->GeneratePreloadRequest(bundleName, userId, appIndex, request);
86     EXPECT_EQ(ret, ERR_OK);
87 }
88 
89 /**
90  * @tc.number: AppPreloaderTest_GeneratePreloadRequest_0300
91  * @tc.desc: Test GeneratePreloadRequest works
92  * @tc.type: FUNC
93  * @tc.Function: GeneratePreloadRequest
94  * @tc.SubFunction: NA
95  * @tc.EnvConditions: NA
96  */
97 HWTEST_F(AppPreloaderTest, AppPreloaderTest_GeneratePreloadRequest_0300, TestSize.Level0)
98 {
99     TAG_LOGD(AAFwkTag::TEST, "AppPreloaderTest_GeneratePreloadRequest_0300 start.");
100     auto manager = std::make_shared<AppPreloader>(remoteClientManager_);
101     EXPECT_NE(manager, nullptr);
102 
103     std::string bundleName = "com.acts.preloadtest";
104     int32_t userId = 0;
105     int32_t appIndex = 0;
106     PreloadRequest request;
107     auto ret = manager->GeneratePreloadRequest(bundleName, userId, appIndex, request);
108     EXPECT_EQ(ret, ERR_OK);
109 }
110 
111 /**
112  * @tc.number: AppPreloaderTest_GeneratePreloadRequest_0400
113  * @tc.desc: Test GeneratePreloadRequest works
114  * @tc.type: FUNC
115  * @tc.Function: GeneratePreloadRequest
116  * @tc.SubFunction: NA
117  * @tc.EnvConditions: NA
118  */
119 HWTEST_F(AppPreloaderTest, AppPreloaderTest_GeneratePreloadRequest_0400, TestSize.Level0)
120 {
121     TAG_LOGD(AAFwkTag::TEST, "AppPreloaderTest_GeneratePreloadRequest_0400 start.");
122     auto manager = std::make_shared<AppPreloader>(remoteClientManager_);
123     EXPECT_NE(manager, nullptr);
124 
125     std::string bundleName = "com.acts.preloadtest";
126     int32_t userId = -1;
127     int32_t appIndex = 0;
128     PreloadRequest request;
129     auto ret = manager->GeneratePreloadRequest(bundleName, userId, appIndex, request);
130     EXPECT_EQ(ret, ERR_OK);
131 }
132 
133 /**
134  * @tc.number: AppPreloaderTest_GeneratePreloadRequest_0500
135  * @tc.desc: Test GeneratePreloadRequest works
136  * @tc.type: FUNC
137  * @tc.Function: GeneratePreloadRequest
138  * @tc.SubFunction: NA
139  * @tc.EnvConditions: NA
140  */
141 HWTEST_F(AppPreloaderTest, AppPreloaderTest_GeneratePreloadRequest_0500, TestSize.Level0)
142 {
143     TAG_LOGD(AAFwkTag::TEST, "AppPreloaderTest_GeneratePreloadRequest_0500 start.");
144     auto manager = std::make_shared<AppPreloader>(remoteClientManager_);
145     EXPECT_NE(manager, nullptr);
146 
147     std::string bundleName = "com.acts.preloadtest";
148     int32_t userId = 100;
149     int32_t appIndex = 1;
150     PreloadRequest request;
151     auto ret = manager->GeneratePreloadRequest(bundleName, userId, appIndex, request);
152     EXPECT_EQ(ret, ERR_OK);
153 }
154 
155 /**
156  * @tc.number: AppPreloaderTest_GeneratePreloadRequest_0500
157  * @tc.desc: Test GeneratePreloadRequest works
158  * @tc.type: FUNC
159  * @tc.Function: GeneratePreloadRequest
160  * @tc.SubFunction: NA
161  * @tc.EnvConditions: NA
162  */
163 HWTEST_F(AppPreloaderTest, AppPreloaderTest_GeneratePreloadRequest_0600, TestSize.Level0)
164 {
165     TAG_LOGD(AAFwkTag::TEST, "AppPreloaderTest_GeneratePreloadRequest_0600 start.");
166     auto manager = std::make_shared<AppPreloader>(remoteClientManager_);
167     EXPECT_NE(manager, nullptr);
168 
169     std::string bundleName = "com.acts.preloadtest";
170     int32_t userId = 1;
171     int32_t appIndex = 1;
172     PreloadRequest request;
173     auto ret = manager->GeneratePreloadRequest(bundleName, userId, appIndex, request);
174     EXPECT_EQ(ret, ERR_OK);
175 }
176 
177 /**
178  * @tc.number: AppPreloaderTest_GeneratePreloadRequest_0700
179  * @tc.desc: Test GeneratePreloadRequest works
180  * @tc.type: FUNC
181  * @tc.Function: GeneratePreloadRequest
182  * @tc.SubFunction: NA
183  * @tc.EnvConditions: NA
184  */
185 HWTEST_F(AppPreloaderTest, AppPreloaderTest_GeneratePreloadRequest_0700, TestSize.Level0)
186 {
187     TAG_LOGD(AAFwkTag::TEST, "AppPreloaderTest_GeneratePreloadRequest_0700 start.");
188     auto manager = std::make_shared<AppPreloader>(remoteClientManager_);
189     EXPECT_NE(manager, nullptr);
190 
191     std::string bundleName = "com.acts.preloadtest";
192     int32_t userId = 0;
193     int32_t appIndex = 1;
194     PreloadRequest request;
195     auto ret = manager->GeneratePreloadRequest(bundleName, userId, appIndex, request);
196     EXPECT_EQ(ret, ERR_OK);
197 }
198 
199 /**
200  * @tc.number: AppPreloaderTest_GeneratePreloadRequest_0800
201  * @tc.desc: Test GeneratePreloadRequest works
202  * @tc.type: FUNC
203  * @tc.Function: GeneratePreloadRequest
204  * @tc.SubFunction: NA
205  * @tc.EnvConditions: NA
206  */
207 HWTEST_F(AppPreloaderTest, AppPreloaderTest_GeneratePreloadRequest_0800, TestSize.Level0)
208 {
209     TAG_LOGD(AAFwkTag::TEST, "AppPreloaderTest_GeneratePreloadRequest_0800 start.");
210     auto manager = std::make_shared<AppPreloader>(remoteClientManager_);
211     EXPECT_NE(manager, nullptr);
212 
213     std::string bundleName = "com.acts.preloadtest";
214     int32_t userId = 0;
215     int32_t appIndex = -1;
216     PreloadRequest request;
217     auto ret = manager->GeneratePreloadRequest(bundleName, userId, appIndex, request);
218     EXPECT_EQ(ret, ERR_OK);
219 }
220 
221 /**
222  * @tc.number: AppPreloaderTest_PreCheck_0100
223  * @tc.desc: Test PreCheck works
224  * @tc.type: FUNC
225  * @tc.Function: GeneratePreloadRequest
226  * @tc.SubFunction: NA
227  * @tc.EnvConditions: NA
228  */
229 HWTEST_F(AppPreloaderTest, AppPreloaderTest_PreCheck_0100, TestSize.Level0)
230 {
231     TAG_LOGD(AAFwkTag::TEST, "AppPreloaderTest_PreCheck_0100 start.");
232     auto manager = std::make_shared<AppPreloader>(remoteClientManager_);
233     EXPECT_NE(manager, nullptr);
234 
235     std::string bundleName = "com.acts.testxxxx";
236     auto ret = manager->PreCheck(bundleName, PreloadMode::PRE_MAKE);
237     EXPECT_EQ(ret, true);
238 }
239 
240 /**
241  * @tc.number: AppPreloaderTest_PreCheck_0200
242  * @tc.desc: Test PreCheck works
243  * @tc.type: FUNC
244  * @tc.Function: GeneratePreloadRequest
245  * @tc.SubFunction: NA
246  * @tc.EnvConditions: NA
247  */
248 HWTEST_F(AppPreloaderTest, AppPreloaderTest_PreCheck_0200, TestSize.Level0)
249 {
250     TAG_LOGD(AAFwkTag::TEST, "AppPreloaderTest_PreCheck_0200 start.");
251     auto manager = std::make_shared<AppPreloader>(remoteClientManager_);
252     EXPECT_NE(manager, nullptr);
253 
254     std::string bundleName = "";
255     auto ret = manager->PreCheck(bundleName, PreloadMode::PRE_MAKE);
256     EXPECT_EQ(ret, true);
257 }
258 
259 /**
260  * @tc.number: AppPreloaderTest_PreCheck_0300
261  * @tc.desc: Test PreCheck works
262  * @tc.type: FUNC
263  * @tc.Function: GeneratePreloadRequest
264  * @tc.SubFunction: NA
265  * @tc.EnvConditions: NA
266  */
267 HWTEST_F(AppPreloaderTest, AppPreloaderTest_PreCheck_0300, TestSize.Level0)
268 {
269     TAG_LOGD(AAFwkTag::TEST, "AppPreloaderTest_PreCheck_0300 start.");
270     auto manager = std::make_shared<AppPreloader>(remoteClientManager_);
271     EXPECT_NE(manager, nullptr);
272 
273     std::string bundleName = "com.acts.testxxxx";
274     auto ret = manager->PreCheck(bundleName, PreloadMode::PRESS_DOWN);
275     EXPECT_EQ(ret, false);
276 }
277 
278 /**
279  * @tc.number: AppPreloaderTest_PreCheck_0400
280  * @tc.desc: Test PreCheck works
281  * @tc.type: FUNC
282  * @tc.Function: GeneratePreloadRequest
283  * @tc.SubFunction: NA
284  * @tc.EnvConditions: NA
285  */
286 HWTEST_F(AppPreloaderTest, AppPreloaderTest_PreCheck_0400, TestSize.Level0)
287 {
288     TAG_LOGD(AAFwkTag::TEST, "AppPreloaderTest_PreCheck_0400 start.");
289     auto manager = std::make_shared<AppPreloader>(remoteClientManager_);
290     EXPECT_NE(manager, nullptr);
291 
292     std::string bundleName = "com.acts.testxxxx";
293     auto ret = manager->PreCheck(bundleName, PreloadMode::PRESS_DOWN);
294     EXPECT_EQ(ret, false);
295 }
296 }  // namespace AppExecFwk
297 }  // namespace OHOS
298