• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022 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 #define private public
16 #define protected public
17 #include "wallpaper_service.h"
18 #undef private
19 #undef protected
20 
21 #include <gtest/gtest.h>
22 
23 #include <ctime>
24 
25 #include "accesstoken_kit.h"
26 #include "directory_ex.h"
27 #include "file_deal.h"
28 #include "hilog_wrapper.h"
29 #include "image_packer.h"
30 #include "nativetoken_kit.h"
31 #include "pixel_map.h"
32 #include "scene_board_judgement.h"
33 #include "token_setproc.h"
34 #include "wallpaper_common_event_subscriber.h"
35 #include "wallpaper_manager.h"
36 #include "wallpaper_manager_client.h"
37 #include "wallpaper_service.h"
38 
39 namespace OHOS {
40 namespace WallpaperMgrService {
41 constexpr int32_t SYSTYEM = 0;
42 constexpr int32_t LOCKSCREEN = 1;
43 constexpr int32_t INVALID_WALLPAPER_TYPE = 2;
44 constexpr int32_t HUNDRED = 100;
45 constexpr int32_t DEFAULT_WALLPAPER_ID = -1;
46 constexpr int32_t FOO_MAX_LEN = 60000000;
47 constexpr int32_t TEST_USERID = 99;
48 constexpr int32_t TEST_USERID1 = 98;
49 constexpr int32_t INVALID_USERID = -1;
50 constexpr int32_t NORMAL = 0;
51 constexpr int32_t UNFOLD_1 = 1;
52 constexpr int32_t UNFOLD_2 = 1;
53 constexpr int32_t PORT = 0;
54 constexpr int32_t LAND = 1;
55 constexpr int32_t DEFAULT_USERID = 100;
56 uint64_t selfTokenID_ = 0;
57 constexpr const char *URI = "/data/test/theme/wallpaper/wallpaper_test.JPG";
58 constexpr const char *NORMAL_PORT_URI = "/data/test/theme/wallpaper/normal_port_wallpaper.jpg";
59 constexpr const char *NORMAL_LAND_URI = "/data/test/theme/wallpaper/normal_land_wallpaper.jpg";
60 constexpr const char *UNFOLD1_PORT_URI = "/data/test/theme/wallpaper/unfold1_port_wallpaper.jpg";
61 constexpr const char *UNFOLD1_LAND_URI = "/data/test/theme/wallpaper/unfold1_land_wallpaper.jpg";
62 constexpr const char *UNFOLD2_PORT_URI = "/data/test/theme/wallpaper/unfold2_port_wallpaper.jpg";
63 constexpr const char *UNFOLD2_LAND_URI = "/data/test/theme/wallpaper/unfold2_land_wallpaper.jpg";
64 constexpr const char *URI_ZIP = "/data/test/theme/wallpaper/test.zip";
65 constexpr const char *URI_30FPS_3S_MP4 = "/data/test/theme/wallpaper/30fps_3s.mp4";
66 constexpr const char *URI_15FPS_7S_MP4 = "/data/test/theme/wallpaper/15fps_7s.mp4";
67 constexpr const char *URI_30FPS_3S_MOV = "/data/test/theme/wallpaper/30fps_3s.mov";
68 constexpr const char *WALLPAPER_DEFAULT_PATH = "/data/service/el1/public/wallpaper";
69 constexpr const char *SYSTEM_DIR = "/system";
70 constexpr const char *LOCKSCREEN_DIR = "/lockscreen";
71 constexpr const char *LOCKSCREEN_FILE = "/lockscreen/wallpaper_lock";
72 constexpr const char *WALLPAPER_DEFAULT = "wallpaperdefault.jpeg";
73 constexpr const char *HOME_WALLPAPER = "home_wallpaper_0.jpg";
74 
75 std::shared_ptr<WallpaperCommonEventSubscriber> subscriber = nullptr;
76 
77 using namespace testing::ext;
78 using namespace testing;
79 using namespace OHOS::Media;
80 using namespace OHOS::HiviewDFX;
81 using namespace OHOS::MiscServices;
82 using namespace OHOS::Security::AccessToken;
83 
84 static HapPolicyParams policyParams = { .apl = APL_SYSTEM_CORE,
85     .domain = "test.domain",
86     .permList = { { .permissionName = "ohos.permission.GET_WALLPAPER",
87                       .bundleName = "ohos.wallpaper_test.demo",
88                       .grantMode = 1,
89                       .availableLevel = APL_NORMAL,
90                       .label = "label",
91                       .labelId = 1,
92                       .description = "test",
93                       .descriptionId = 1 },
94         { .permissionName = "ohos.permission.SET_WALLPAPER",
95             .bundleName = "ohos.wallpaper_test.demo",
96             .grantMode = 1,
97             .availableLevel = APL_NORMAL,
98             .label = "label",
99             .labelId = 1,
100             .description = "test",
101             .descriptionId = 1 },
102         { .permissionName = "ohos.permission.MANAGE_LOCAL_ACCOUNTS",
103             .bundleName = "ohos.wallpaper_test.demo",
104             .grantMode = 1,
105             .availableLevel = APL_NORMAL,
106             .label = "label",
107             .labelId = 1,
108             .description = "test",
109             .descriptionId = 1 } },
110     .permStateList = { { .permissionName = "ohos.permission.GET_WALLPAPER",
111                            .isGeneral = true,
112                            .resDeviceID = { "local" },
113                            .grantStatus = { PermissionState::PERMISSION_GRANTED },
114                            .grantFlags = { 1 } },
115         { .permissionName = "ohos.permission.SET_WALLPAPER",
116             .isGeneral = true,
117             .resDeviceID = { "local" },
118             .grantStatus = { PermissionState::PERMISSION_GRANTED },
119             .grantFlags = { 1 } },
120         { .permissionName = "ohos.permission.MANAGE_LOCAL_ACCOUNTS",
121             .isGeneral = true,
122             .resDeviceID = { "local" },
123             .grantStatus = { PermissionState::PERMISSION_GRANTED },
124             .grantFlags = { 1 } } } };
125 
126 HapInfoParams infoParams = { .userID = 1,
127     .bundleName = "wallpaper_service",
128     .instIndex = 0,
129     .appIDDesc = "test",
130     .apiVersion = 9,
131     .isSystemApp = true };
132 
133 static WallpaperInfo wallpaperInfo_normal_port = { FoldState::NORMAL, RotateState::PORT, NORMAL_PORT_URI };
134 static WallpaperInfo wallpaperInfo_normal_land = { FoldState::NORMAL, RotateState::LAND, NORMAL_LAND_URI };
135 static WallpaperInfo wallpaperInfo_unfold1_port = { FoldState::UNFOLD_1, RotateState::PORT, UNFOLD1_PORT_URI };
136 static WallpaperInfo wallpaperInfo_unfold1_land = { FoldState::UNFOLD_1, RotateState::LAND, UNFOLD1_LAND_URI };
137 static WallpaperInfo wallpaperInfo_unfold2_port = { FoldState::UNFOLD_2, RotateState::PORT, UNFOLD2_PORT_URI };
138 static WallpaperInfo wallpaperInfo_unfold2_land = { FoldState::UNFOLD_2, RotateState::LAND, UNFOLD2_LAND_URI };
139 
GrantNativePermission()140 void GrantNativePermission()
141 {
142     selfTokenID_ = GetSelfTokenID();
143     AccessTokenIDEx tokenIdEx = { 0 };
144     tokenIdEx = AccessTokenKit::AllocHapToken(infoParams, policyParams);
145     int32_t ret = SetSelfTokenID(tokenIdEx.tokenIDEx);
146     if (ret == 0) {
147         HILOG_INFO("SetSelfTokenID success!");
148     } else {
149         HILOG_ERROR("SetSelfTokenID fail!");
150     }
151 }
152 
153 class WallpaperTest : public testing::Test {
154 public:
155     static void SetUpTestCase(void);
156     static void TearDownTestCase(void);
157     void SetUp();
158     void TearDown();
159     static void CreateTempImage();
160     static std::shared_ptr<PixelMap> CreateTempPixelMap();
161     static bool SubscribeCommonEvent(shared_ptr<WallpaperService> wallpaperService);
162     static void TriggerEvent(int32_t userId, const std::string &commonEventSupport);
163     static std::string GetUserFilePath(int32_t userId, const char *filePath);
164     static bool TestCallBack(int32_t num);
165 };
166 const std::string VALID_SCHEMA_STRICT_DEFINE = "{\"SCHEMA_VERSION\":\"1.0\","
167                                                "\"SCHEMA_MODE\":\"STRICT\","
168                                                "\"SCHEMA_SKIPSIZE\":0,"
169                                                "\"SCHEMA_DEFINE\":{"
170                                                "\"age\":\"INTEGER, NOT NULL\""
171                                                "},"
172                                                "\"SCHEMA_INDEXES\":[\"$.age\"]}";
173 
SetUpTestCase(void)174 void WallpaperTest::SetUpTestCase(void)
175 {
176     HILOG_INFO("SetUpTestCase");
177     GrantNativePermission();
178     CreateTempImage();
179     HILOG_INFO("SetUpTestCase end");
180 }
181 
TearDownTestCase(void)182 void WallpaperTest::TearDownTestCase(void)
183 {
184     HILOG_INFO("TearDownTestCase");
185     ApiInfo apiInfo{ false, false };
186     WallpaperManager::GetInstance().ResetWallpaper(SYSTYEM, apiInfo);
187     WallpaperManager::GetInstance().ResetWallpaper(LOCKSCREEN, apiInfo);
188     auto ret = SetSelfTokenID(selfTokenID_);
189     HILOG_INFO("SetSelfTokenID ret = %{public}d", ret);
190 }
191 
SetUp(void)192 void WallpaperTest::SetUp(void)
193 {
194 }
195 
TearDown(void)196 void WallpaperTest::TearDown(void)
197 {
198 }
199 
200 class WallpaperEventListenerTestImpl : public WallpaperEventListener {
201 public:
202     std::vector<uint64_t> color_;
203     int32_t wallpaperType_;
204     WallpaperEventListenerTestImpl();
~WallpaperEventListenerTestImpl()205     ~WallpaperEventListenerTestImpl()
206     {
207     }
208 
209     WallpaperEventListenerTestImpl(const WallpaperEventListenerTestImpl &) = delete;
210     WallpaperEventListenerTestImpl &operator=(const WallpaperEventListenerTestImpl &) = delete;
211     WallpaperEventListenerTestImpl(WallpaperEventListenerTestImpl &&) = delete;
212     WallpaperEventListenerTestImpl &operator=(WallpaperEventListenerTestImpl &&) = delete;
213 
214     // callback function will be called when the db data is changed.
215     void OnColorsChange(const std::vector<uint64_t> &color, int32_t wallpaperType) override;
216     void OnWallpaperChange(
217         WallpaperType wallpaperType, WallpaperResourceType resourceType, const std::string &uri) override;
218     // reset the callCount_ to zero.
219     void ResetToZero();
220 
221     unsigned long GetCallCount() const;
222 
223 private:
224     unsigned long callCount_;
225 };
226 
OnColorsChange(const std::vector<uint64_t> & color,int32_t wallpaperType)227 void WallpaperEventListenerTestImpl::OnColorsChange(const std::vector<uint64_t> &color, int32_t wallpaperType)
228 {
229     callCount_++;
230     for (auto const &each : color) {
231         color_.push_back(each);
232     }
233     wallpaperType_ = wallpaperType;
234 }
235 
OnWallpaperChange(WallpaperType wallpaperType,WallpaperResourceType resourceType,const std::string & uri)236 void WallpaperEventListenerTestImpl::OnWallpaperChange(
237     WallpaperType wallpaperType, WallpaperResourceType resourceType, const std::string &uri)
238 {
239     HILOG_INFO("wallpaperType: %{public}d, resourceType: %{public}d, uri: %{public}s",
240         static_cast<int32_t>(wallpaperType), static_cast<int32_t>(resourceType), uri.c_str());
241 }
242 
WallpaperEventListenerTestImpl()243 WallpaperEventListenerTestImpl::WallpaperEventListenerTestImpl()
244 {
245     callCount_ = 0;
246     wallpaperType_ = -1;
247 }
248 
ResetToZero()249 void WallpaperEventListenerTestImpl::ResetToZero()
250 {
251     callCount_ = 0;
252 }
253 
GetCallCount() const254 unsigned long WallpaperEventListenerTestImpl::GetCallCount() const
255 {
256     return callCount_;
257 }
258 
CreateTempImage()259 void WallpaperTest::CreateTempImage()
260 {
261     std::shared_ptr<PixelMap> pixelMap = CreateTempPixelMap();
262     ImagePacker imagePacker;
263     PackOption option;
264     option.format = "image/jpeg";
265     option.quality = HUNDRED;
266     option.numberHint = 1;
267     std::set<std::string> formats;
268     imagePacker.GetSupportedFormats(formats);
269     imagePacker.StartPacking(URI, option);
270     HILOG_INFO("AddImage start");
271     imagePacker.AddImage(*pixelMap);
272     int64_t packedSize = 0;
273     HILOG_INFO("FinalizePacking start");
274     imagePacker.FinalizePacking(packedSize);
275     if (packedSize == 0) {
276         HILOG_INFO("FinalizePacking error");
277     }
278 }
279 
CreateTempPixelMap()280 std::shared_ptr<PixelMap> WallpaperTest::CreateTempPixelMap()
281 {
282     uint32_t color[100] = { 3, 7, 9, 9, 7, 6 };
283     InitializationOptions opts = { { 5, 7 }, OHOS::Media::PixelFormat::ARGB_8888 };
284     std::unique_ptr<PixelMap> uniquePixelMap = PixelMap::Create(color, sizeof(color) / sizeof(color[0]), opts);
285     std::shared_ptr<PixelMap> pixelMap = std::move(uniquePixelMap);
286     return pixelMap;
287 }
288 
SubscribeCommonEvent(shared_ptr<WallpaperService> wallpaperService)289 bool WallpaperTest::SubscribeCommonEvent(shared_ptr<WallpaperService> wallpaperService)
290 {
291     subscriber = std::make_shared<WallpaperCommonEventSubscriber>(*wallpaperService);
292     if (subscriber == nullptr) {
293         HILOG_INFO("wallpaperCommonEvent is nullptr");
294         return false;
295     }
296     if (!EventFwk::CommonEventManager::SubscribeCommonEvent(subscriber)) {
297         HILOG_INFO("SubscribeCommonEvent  failed");
298         return false;
299     }
300     return true;
301 }
302 
TriggerEvent(int32_t userId,const std::string & commonEventSupport)303 void WallpaperTest::TriggerEvent(int32_t userId, const std::string &commonEventSupport)
304 {
305     EventFwk::Want want;
306     want.SetAction(commonEventSupport);
307     int32_t code = userId;
308     std::string data(commonEventSupport);
309     EventFwk::CommonEventData eventData(want, code, data);
310     subscriber->OnReceiveEvent(eventData);
311 }
312 
GetUserFilePath(int32_t userId,const char * filePath)313 std::string WallpaperTest::GetUserFilePath(int32_t userId, const char *filePath)
314 {
315     return WALLPAPER_DEFAULT_PATH + std::string("/") + std::to_string(userId) + filePath;
316 }
317 
TestCallBack(int32_t num)318 bool WallpaperTest::TestCallBack(int32_t num)
319 {
320     if (num > 0) {
321         return true;
322     }
323     return false;
324 }
325 /*********************   ResetWallpaper   *********************/
326 /**
327 * @tc.name:    Reset001
328 * @tc.desc:    Reset wallpaper with wallpaperType[0].
329 * @tc.type:    FUNC
330 * @tc.require: issueI5UHRG
331 */
332 HWTEST_F(WallpaperTest, Reset001, TestSize.Level1)
333 {
334     HILOG_INFO("Reset001 begin.");
335     ApiInfo apiInfo{ false, false };
336     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(SYSTYEM, apiInfo);
337     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to reset.";
338 }
339 
340 /**
341 * @tc.name:    Reset002
342 * @tc.desc:    Reset wallpaper with wallpaperType[1].
343 * @tc.type:    FUNC
344 * @tc.require: issueI5UHRG
345 */
346 HWTEST_F(WallpaperTest, Reset002, TestSize.Level1)
347 {
348     HILOG_INFO("Reset002 begin.");
349     ApiInfo apiInfo{ false, false };
350     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(LOCKSCREEN, apiInfo);
351     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to reset.";
352 }
353 
354 /**
355 * @tc.name:    Reset003
356 * @tc.desc:    Reset wallpaper with wallpaperType[2] throw parameters error.
357 * @tc.type:    FUNC
358 * @tc.require: issueI5UHRG
359 */
360 HWTEST_F(WallpaperTest, Reset003, TestSize.Level1)
361 {
362     HILOG_INFO("Reset003 begin.");
363     ApiInfo apiInfo{ false, false };
364     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(INVALID_WALLPAPER_TYPE, apiInfo);
365     EXPECT_EQ(wallpaperErrorCode, E_PARAMETERS_INVALID) << "Failed to throw error.";
366 }
367 
368 /**
369 * @tc.name:    Reset004
370 * @tc.desc:    Reset wallpaper with wallpaperType[0] after resetting wallpaper[0].
371 * @tc.type:    FUNC
372 * @tc.require: issueI5UHRG
373 */
374 HWTEST_F(WallpaperTest, Reset004, TestSize.Level1)
375 {
376     HILOG_INFO("Reset004 begin.");
377     ApiInfo apiInfo{ false, false };
378     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(SYSTYEM, apiInfo);
379     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to reset.";
380 
381     /* duplicate reset */
382     wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(SYSTYEM, apiInfo);
383     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to reset.";
384 }
385 
386 /**
387 * @tc.name:    Reset005
388 * @tc.desc:    Reset wallpaper with wallpaperType[1] after resetting wallpaper[1] and check whether Id is same one.
389 * @tc.type:    FUNC
390 * @tc.require: issueI5UHRG
391 */
392 HWTEST_F(WallpaperTest, Reset005, TestSize.Level1)
393 {
394     HILOG_INFO("Reset005 begin.");
395     ApiInfo apiInfo{ false, false };
396     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(LOCKSCREEN, apiInfo);
397     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to reset.";
398     int32_t firstId = WallpaperManager::GetInstance().GetWallpaperId(LOCKSCREEN);
399 
400     /* duplicate reset */
401     wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(LOCKSCREEN, apiInfo);
402     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to reset.";
403     int32_t secondId = WallpaperManager::GetInstance().GetWallpaperId(LOCKSCREEN);
404     EXPECT_EQ(firstId, secondId) << "Id should be same one.";
405 }
406 
407 /**
408 * @tc.name:    Reset006
409 * @tc.desc:    Reset wallpaper throw permission error
410 * @tc.type:    FUNC
411 * @tc.require: issueI5UHRG
412 */
413 HWTEST_F(WallpaperTest, Reset006, TestSize.Level1)
414 {
415     HILOG_INFO("Reset006 begin.");
416     ApiInfo apiInfo{ true, true };
417     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(LOCKSCREEN, apiInfo);
418     EXPECT_EQ(wallpaperErrorCode, E_OK);
419     wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(SYSTYEM, apiInfo);
420     EXPECT_EQ(wallpaperErrorCode, E_OK);
421 }
422 /*********************   ResetWallpaper   *********************/
423 
424 /*********************   IsChangePermitted   *********************/
425 
426 /**
427 * @tc.name: IsChangePermitted001
428 * @tc.desc: check permission.
429 * @tc.type: FUNC
430 * @tc.require:
431 * @tc.author:
432 */
433 HWTEST_F(WallpaperTest, IsChangePermitted001, TestSize.Level1)
434 {
435     EXPECT_EQ(WallpaperManager::GetInstance().IsChangePermitted(), true);
436 }
437 
438 /*********************   IsChangePermitted   *********************/
439 
440 /*********************   IsOperationAllowed   *********************/
441 
442 /**
443 * @tc.name: IsOperationAllowed001
444 * @tc.desc: check permission.
445 * @tc.type: FUNC
446 * @tc.require:
447 * @tc.author:
448 */
449 HWTEST_F(WallpaperTest, IsOperationAllowed001, TestSize.Level1)
450 {
451     EXPECT_EQ(WallpaperManager::GetInstance().IsOperationAllowed(), true);
452 }
453 
454 /*********************   IsOperationAllowed   *********************/
455 
456 /*********************   On & Off   *********************/
457 
458 /**
459 * @tc.name: On001
460 * @tc.desc: set wallpaper and get callback.
461 * @tc.type: FUNC
462 * @tc.require:
463 * @tc.author:
464 */
465 HWTEST_F(WallpaperTest, On001, TestSize.Level1)
466 {
467     HILOG_INFO("On001 begin");
468     auto listener = std::make_shared<WallpaperEventListenerTestImpl>();
469     auto status = WallpaperManager::GetInstance().On("colorChange", listener);
470     EXPECT_EQ(status, E_OK) << "subscribe wallpaper color change failed.";
471     auto offSubStatus = WallpaperManager::GetInstance().Off("colorChange", listener);
472     EXPECT_EQ(offSubStatus, E_OK) << "unsubscribe wallpaper color change failed.";
473 }
474 
475 /**
476 * @tc.name: On002
477 * @tc.desc: set wallpaper and get callback.
478 * @tc.type: FUNC
479 * @tc.require:
480 * @tc.author:
481 */
482 HWTEST_F(WallpaperTest, On002, TestSize.Level1)
483 {
484     HILOG_INFO("On002 begin");
485     auto listener = std::make_shared<WallpaperEventListenerTestImpl>();
486     auto status = WallpaperManager::GetInstance().On("wallpaperChange", listener);
487     EXPECT_EQ(status, E_OK);
488     auto offSubStatus = WallpaperManager::GetInstance().Off("wallpaperChange", listener);
489     EXPECT_EQ(offSubStatus, E_OK);
490 }
491 
492 /*********************   On & Off   *********************/
493 
494 /*********************   GetColors   *********************/
495 /**
496 * @tc.name: GetColors001
497 * @tc.desc: GetColors with wallpaperType[0].
498 * @tc.type: FUNC
499 * @tc.require:
500 * @tc.author:
501 */
502 HWTEST_F(WallpaperTest, GetColors001, TestSize.Level0)
503 {
504     HILOG_INFO("GetColors001 begin");
505     std::vector<uint64_t> colors;
506     ApiInfo apiInfo{ false, false };
507     ErrorCode errorCode = WallpaperManager::GetInstance().GetColors(SYSTYEM, apiInfo, colors);
508     EXPECT_EQ(errorCode, E_OK) << "Failed to GetColors.";
509     EXPECT_FALSE(colors.empty());
510 }
511 
512 /**
513 * @tc.name: GetColors002
514 * @tc.desc: GetColors with wallpaperType[1].
515 * @tc.type: FUNC
516 * @tc.require:
517 * @tc.author:
518 */
519 HWTEST_F(WallpaperTest, GetColors002, TestSize.Level0)
520 {
521     HILOG_INFO("GetColors002 begin");
522     std::vector<uint64_t> colors;
523     ApiInfo apiInfo{ false, false };
524     ErrorCode errorCode = WallpaperManager::GetInstance().GetColors(LOCKSCREEN, apiInfo, colors);
525     EXPECT_EQ(errorCode, E_OK) << "Failed to GetColors.";
526     EXPECT_FALSE(colors.empty());
527 }
528 
529 /**
530 * @tc.name: GetColors003
531 * @tc.desc: GetColors throw permission error.
532 * @tc.type: FUNC
533 * @tc.require:
534 * @tc.author:
535 */
536 HWTEST_F(WallpaperTest, GetColors003, TestSize.Level0)
537 {
538     HILOG_INFO("GetColors003 begin");
539     std::vector<uint64_t> colors;
540     ApiInfo apiInfo{ true, true };
541     ErrorCode errorCode = WallpaperManager::GetInstance().GetColors(LOCKSCREEN, apiInfo, colors);
542     EXPECT_EQ(errorCode, E_OK);
543     errorCode = WallpaperManager::GetInstance().GetColors(SYSTYEM, apiInfo, colors);
544     EXPECT_EQ(errorCode, E_OK);
545 }
546 /*********************   GetColors   *********************/
547 
548 /*********************   GetId   *********************/
549 /**
550 * @tc.name: GetId001
551 * @tc.desc: GetId with wallpaperType[0].
552 * @tc.type: FUNC
553 * @tc.require: issueI65VF1
554 * @tc.author: lvbai
555 */
556 HWTEST_F(WallpaperTest, GetId001, TestSize.Level0)
557 {
558     HILOG_INFO("GetId001 begin");
559     ApiInfo apiInfo{ false, false };
560     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(SYSTYEM, apiInfo);
561     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to ResetWallpaper";
562     int32_t id = WallpaperManager::GetInstance().GetWallpaperId(SYSTYEM);
563     EXPECT_EQ(id, DEFAULT_WALLPAPER_ID) << "Failed to GetId";
564 }
565 
566 /**
567 * @tc.name: GetId002
568 * @tc.desc: GetId with wallpaperType[1].
569 * @tc.type: FUNC
570 * @tc.require: issueI65VF1
571 * @tc.author: lvbai
572 */
573 HWTEST_F(WallpaperTest, GetId002, TestSize.Level0)
574 {
575     HILOG_INFO("GetId002 begin");
576     ApiInfo apiInfo{ false, false };
577     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(LOCKSCREEN, apiInfo);
578     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to ResetWallpaper";
579     int32_t id = WallpaperManager::GetInstance().GetWallpaperId(LOCKSCREEN);
580     EXPECT_EQ(id, DEFAULT_WALLPAPER_ID) << "Failed to GetId";
581 }
582 
583 /**
584 * @tc.name: GetId003
585 * @tc.desc: GetId with wallpaperType[0] after setWallpaper.
586 * @tc.type: FUNC
587 * @tc.require: issueI65VF1
588 * @tc.author: lvbai
589 */
590 HWTEST_F(WallpaperTest, GetId003, TestSize.Level0)
591 {
592     HILOG_INFO("GetId003 begin");
593     ApiInfo apiInfo{ false, false };
594     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetWallpaper(URI, SYSTYEM, apiInfo);
595     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to SetWallpaper";
596     int32_t id = WallpaperManager::GetInstance().GetWallpaperId(SYSTYEM);
597     EXPECT_GT(id, DEFAULT_WALLPAPER_ID) << "Failed to GetId";
598 }
599 
600 /**
601 * @tc.name: GetId004
602 * @tc.desc: GetId with wallpaperType[1] after setWallpaper.
603 * @tc.type: FUNC
604 * @tc.require: issueI65VF1
605 * @tc.author: lvbai
606 */
607 HWTEST_F(WallpaperTest, GetId004, TestSize.Level0)
608 {
609     HILOG_INFO("GetId004 begin");
610     ApiInfo apiInfo{ false, false };
611     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetWallpaper(URI, LOCKSCREEN, apiInfo);
612     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to SetWallpaper";
613     int32_t id = WallpaperManager::GetInstance().GetWallpaperId(LOCKSCREEN);
614     EXPECT_GT(id, DEFAULT_WALLPAPER_ID) << "Failed to GetId";
615 }
616 /*********************   GetId   *********************/
617 
618 /*********************   GetFile   *********************/
619 /**
620 * @tc.name:    GetFile001
621 * @tc.desc:    GetFile with wallpaperType[0].
622 * @tc.type:    FUNC
623 * @tc.require: issueI5UHRG
624 */
625 HWTEST_F(WallpaperTest, GetFile001, TestSize.Level0)
626 {
627     HILOG_INFO("GetFile001 begin");
628     int32_t wallpaperFd = 0;
629     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().GetFile(SYSTYEM, wallpaperFd);
630     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to get File.";
631 }
632 
633 /**
634 * @tc.name:    GetFile002
635 * @tc.desc:    GetFile with wallpaperType[1].
636 * @tc.type:    FUNC
637 * @tc.require: issueI5UHRG
638 */
639 HWTEST_F(WallpaperTest, GetFile002, TestSize.Level0)
640 {
641     HILOG_INFO("GetFile002 begin");
642     int32_t wallpaperFd = 0;
643     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().GetFile(LOCKSCREEN, wallpaperFd);
644     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to get File.";
645 }
646 
647 /**
648 * @tc.name:    GetFile003
649 * @tc.desc:    GetFile with wallpaperType[2] throw parameters error.
650 * @tc.type:    FUNC
651 * @tc.require: issueI5UHRG
652 */
653 HWTEST_F(WallpaperTest, GetFile003, TestSize.Level0)
654 {
655     HILOG_INFO("GetFile003 begin");
656     int32_t wallpaperFd = 0;
657     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().GetFile(INVALID_WALLPAPER_TYPE, wallpaperFd);
658     EXPECT_EQ(wallpaperErrorCode, E_PARAMETERS_INVALID) << "Failed to throw parameters error";
659 }
660 
661 /**
662 * @tc.name:    GetFile004
663 * @tc.desc:    GetFile with wallpaperType[0].
664 * @tc.type:    FUNC
665 * @tc.require:
666 * @tc.author:
667 */
668 HWTEST_F(WallpaperTest, GetFile004, TestSize.Level0)
669 {
670     HILOG_INFO("GetFile001 begin");
671     int32_t wallpaperFd = 0;
672     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().GetFile(SYSTYEM, wallpaperFd);
673     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to get File.";
674 }
675 /*********************   GetFile   *********************/
676 
677 /*********************   GetWallpaperMinHeight   *********************/
678 /**
679 * @tc.name: getMinHeight001
680 * @tc.desc: GetWallpaperMinHeight .
681 * @tc.type: FUNC
682 * @tc.require:
683 */
684 HWTEST_F(WallpaperTest, getMinHeight001, TestSize.Level0)
685 {
686     HILOG_INFO("getMinHeight001  begin");
687     int32_t height = 0;
688     ApiInfo apiInfo{ false, false };
689     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().GetWallpaperMinHeight(apiInfo, height);
690     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to get WallpaperMinHeight.";
691     EXPECT_GT(height, 0);
692 }
693 
694 /**
695 * @tc.name: getMinHeight002
696 * @tc.desc: GetWallpaperMinHeight throw permission error.
697 * @tc.type: FUNC
698 * @tc.require:
699 */
700 HWTEST_F(WallpaperTest, getMinHeight002, TestSize.Level0)
701 {
702     HILOG_INFO("getMinHeight002  begin");
703     int32_t height = 0;
704     ApiInfo apiInfo{ true, true };
705     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().GetWallpaperMinHeight(apiInfo, height);
706     EXPECT_EQ(wallpaperErrorCode, E_OK);
707 }
708 /*********************   GetWallpaperMinHeight   *********************/
709 
710 /*********************   GetWallpaperMinWidth   *********************/
711 /**
712 * @tc.name: getMinWidth001
713 * @tc.desc: GetWallpaperMinWidth .
714 * @tc.type: FUNC
715 * @tc.require:
716 */
717 HWTEST_F(WallpaperTest, getMinWidth001, TestSize.Level0)
718 {
719     HILOG_INFO("getMinWidth001  begin");
720     int32_t width = 0;
721     ApiInfo apiInfo{ false, false };
722     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().GetWallpaperMinWidth(apiInfo, width);
723     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to get WallpaperMinWidth.";
724     EXPECT_GT(width, 0);
725 }
726 
727 /**
728 * @tc.name: getMinWidth002
729 * @tc.desc: GetWallpaperMinWidth throw permission error.
730 * @tc.type: FUNC
731 * @tc.require:
732 */
733 HWTEST_F(WallpaperTest, getMinWidth002, TestSize.Level0)
734 {
735     HILOG_INFO("getMinWidth002  begin");
736     int32_t width = 0;
737     ApiInfo apiInfo{ true, true };
738     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().GetWallpaperMinWidth(apiInfo, width);
739     EXPECT_EQ(wallpaperErrorCode, E_OK);
740 }
741 /*********************   GetWallpaperMinWidth   *********************/
742 
743 /*********************   GetPixelMap   *********************/
744 /**
745 * @tc.name:    GetPixelMap001
746 * @tc.desc:    GetPixelMap with wallpaperType[0].
747 * @tc.type:    FUNC
748 * @tc.require: issueI5UHRG
749 */
750 HWTEST_F(WallpaperTest, GetPixelMap001, TestSize.Level0)
751 {
752     HILOG_INFO("GetPixelMap001  begin");
753     std::shared_ptr<OHOS::Media::PixelMap> pixelMap;
754     ApiInfo apiInfo{ false, false };
755     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().GetPixelMap(SYSTYEM, apiInfo, pixelMap);
756     EXPECT_EQ(wallpaperErrorCode, E_OK);
757 }
758 
759 /**
760 * @tc.name:    GetPixelMap002
761 * @tc.desc:    GetPixelMap with wallpaperType[1].
762 * @tc.type:    FUNC
763 * @tc.require: issueI5UHRG
764 */
765 HWTEST_F(WallpaperTest, GetPixelMap002, TestSize.Level0)
766 {
767     HILOG_INFO("GetPixelMap002  begin");
768     std::shared_ptr<OHOS::Media::PixelMap> pixelMap;
769     ApiInfo apiInfo{ false, false };
770     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().GetPixelMap(LOCKSCREEN, apiInfo, pixelMap);
771     EXPECT_EQ(wallpaperErrorCode, E_OK);
772 }
773 
774 /**
775 * @tc.name:    GetPixelMap003
776 * @tc.desc:    GetPixelMap throw permission error.
777 * @tc.type:    FUNC
778 * @tc.require:
779 */
780 HWTEST_F(WallpaperTest, GetPixelMap003, TestSize.Level0)
781 {
782     HILOG_INFO("GetPixelMap003  begin");
783     std::shared_ptr<OHOS::Media::PixelMap> pixelMap;
784     ApiInfo apiInfo{ true, true };
785     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().GetPixelMap(LOCKSCREEN, apiInfo, pixelMap);
786     EXPECT_EQ(wallpaperErrorCode, E_OK);
787     wallpaperErrorCode = WallpaperManager::GetInstance().GetPixelMap(SYSTYEM, apiInfo, pixelMap);
788     EXPECT_EQ(wallpaperErrorCode, E_OK);
789 }
790 /*********************   GetPixelMap   *********************/
791 
792 /*********************   SetWallpaperByMap   *********************/
793 /**
794 * @tc.name:    SetWallpaperByMap001
795 * @tc.desc:    SetWallpaperByMap with wallpaperType[0].
796 * @tc.type:    FUNC
797 * @tc.require: issueI5UHRG
798 */
799 HWTEST_F(WallpaperTest, SetWallpaperByMap001, TestSize.Level0)
800 {
801     HILOG_INFO("SetWallpaperByMap001  begin");
802     std::shared_ptr<PixelMap> pixelMap = WallpaperTest::CreateTempPixelMap();
803     ApiInfo apiInfo{ false, false };
804     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetWallpaper(pixelMap, SYSTYEM, apiInfo);
805     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to set SYSTYEM PixelMap.";
806 }
807 
808 /**
809 * @tc.name:    SetWallpaperByMap002
810 * @tc.desc:    SetWallpaperByMap with wallpaperType[1].
811 * @tc.type:    FUNC
812 * @tc.require: issueI5UHRG
813 */
814 HWTEST_F(WallpaperTest, SetWallpaperByMap002, TestSize.Level0)
815 {
816     HILOG_INFO("SetWallpaperByMap002  begin");
817     std::shared_ptr<PixelMap> pixelMap = WallpaperTest::CreateTempPixelMap();
818     ApiInfo apiInfo{ false, false };
819     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetWallpaper(pixelMap, LOCKSCREEN, apiInfo);
820     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to set LOCKSCREEN PixelMap.";
821 }
822 
823 /**
824 * @tc.name:    SetWallpaperByMap003
825 * @tc.desc:    SetWallpaperByMap with wallpaperType[2] throw parameters error.
826 * @tc.type:    FUNC
827 * @tc.require: issueI5UHRG
828 */
829 HWTEST_F(WallpaperTest, SetWallpaperByMap003, TestSize.Level0)
830 {
831     HILOG_INFO("SetWallpaperByMap003  begin");
832     std::shared_ptr<PixelMap> pixelMap = WallpaperTest::CreateTempPixelMap();
833     ApiInfo apiInfo{ false, false };
834     ErrorCode wallpaperErrorCode =
835         WallpaperManager::GetInstance().SetWallpaper(pixelMap, INVALID_WALLPAPER_TYPE, apiInfo);
836     EXPECT_EQ(wallpaperErrorCode, E_PARAMETERS_INVALID) << "Failed to throw parameters error";
837 }
838 /*********************   SetWallpaperByMap   *********************/
839 
840 /*********************   SetWallpaperByUri   *********************/
841 /**
842 * @tc.name:    SetWallpaperByUri001
843 * @tc.desc:    SetWallpaperByUri with wallpaperType[0] .
844 * @tc.type:    FUNC
845 * @tc.require: issueI5UHRG
846 */
847 HWTEST_F(WallpaperTest, SetWallpaperByUri001, TestSize.Level0)
848 {
849     HILOG_INFO("SetWallpaperByUri001  begin");
850     ApiInfo apiInfo{ false, false };
851     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetWallpaper(URI, SYSTYEM, apiInfo);
852     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to set SYSTYEM.";
853 }
854 
855 /**
856 * @tc.name:    SetWallpaperByUri002
857 * @tc.desc:    SetWallpaperByUri with wallpaperType[1].
858 * @tc.type:    FUNC
859 * @tc.require: issueI5UHRG
860 */
861 HWTEST_F(WallpaperTest, SetWallpaperByUri002, TestSize.Level0)
862 {
863     HILOG_INFO("SetWallpaperByUri002  begin");
864     ApiInfo apiInfo{ false, false };
865     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetWallpaper(URI, LOCKSCREEN, apiInfo);
866     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to set LOCKSCREEN.";
867 }
868 
869 /**
870 * @tc.name:    SetWallpaperByUri003
871 * @tc.desc:    SetWallpaperByUri with wallpaperType[2] throw parameters error.
872 * @tc.type:    FUNC
873 * @tc.require: issueI5UHRG
874 */
875 HWTEST_F(WallpaperTest, SetWallpaperByUri003, TestSize.Level0)
876 {
877     HILOG_INFO("SetWallpaperByUri003  begin");
878     ApiInfo apiInfo{ false, false };
879     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetWallpaper(URI, INVALID_WALLPAPER_TYPE, apiInfo);
880     EXPECT_EQ(wallpaperErrorCode, E_PARAMETERS_INVALID) << "Failed to throw error";
881 }
882 
883 /**
884 * @tc.name:    SetWallpaperByUri004
885 * @tc.desc:    SetWallpaperByUri with error uri.
886 * @tc.type:    FUNC
887 * @tc.require: issueI5UHRG
888 */
889 HWTEST_F(WallpaperTest, SetWallpaperByUri004, TestSize.Level0)
890 {
891     HILOG_INFO("SetWallpaperByUri004  begin");
892     ApiInfo apiInfo{ false, false };
893     ErrorCode wallpaperErrorCode =
894         WallpaperManager::GetInstance().SetWallpaper("/data/test/theme/wallpaper/errorURI", LOCKSCREEN, apiInfo);
895     EXPECT_NE(wallpaperErrorCode, E_OK) << "Failed to throw error";
896 }
897 
898 /**
899 * @tc.name:    SetWallpaperByUri005
900 * @tc.desc:    SetWallpaperByUri with unsafe uri.
901 * @tc.type:    FUNC
902 * @tc.require: issueI647HI
903 */
904 HWTEST_F(WallpaperTest, SetWallpaperByUri005, TestSize.Level0)
905 {
906     HILOG_INFO("SetWallpaperByUri005  begin");
907     ApiInfo apiInfo{ false, false };
908     ErrorCode wallpaperErrorCode =
909         WallpaperManager::GetInstance().SetWallpaper("../data/test/theme/wallpaper/errorURI", LOCKSCREEN, apiInfo);
910     EXPECT_EQ(wallpaperErrorCode, E_PARAMETERS_INVALID) << "Failed to return error";
911 }
912 
913 /**
914 * @tc.name:    SetWallpaperByUri006
915 * @tc.desc:    SetWallpaperByUri throw permission error.
916 * @tc.type:    FUNC
917 * @tc.require:
918 */
919 HWTEST_F(WallpaperTest, SetWallpaperByUri006, TestSize.Level0)
920 {
921     HILOG_INFO("SetWallpaperByUri006  begin");
922     ApiInfo apiInfo{ true, true };
923     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetWallpaper(URI, LOCKSCREEN, apiInfo);
924     EXPECT_EQ(wallpaperErrorCode, E_OK);
925     wallpaperErrorCode = WallpaperManager::GetInstance().SetWallpaper(URI, SYSTYEM, apiInfo);
926     EXPECT_EQ(wallpaperErrorCode, E_OK);
927 }
928 
929 /**
930 * @tc.name:    SetWallpaperByUri007
931 * @tc.desc:    SetWallpaperByUri throw permission error.
932 * @tc.type:    FUNC
933 * @tc.require:
934 */
935 HWTEST_F(WallpaperTest, SetWallpaperByUri007, TestSize.Level0)
936 {
937     HILOG_INFO("SetWallpaperByUri007  begin");
938     ApiInfo apiInfo{ true, true };
939     WallpaperManager::GetInstance().ResetWallpaper(LOCKSCREEN, apiInfo);
940     std::shared_ptr<WallpaperService> wallpaperService = std::make_shared<WallpaperService>();
941     int32_t userId = wallpaperService->QueryActiveUserId();
942     HILOG_INFO("guochao  userId:%{public}d", userId);
943     bool ret = FileDeal::IsFileExist(WallpaperTest::GetUserFilePath(userId, LOCKSCREEN_FILE));
944     EXPECT_EQ(ret, false) << "Failed to reset.";
945     WallpaperManager::GetInstance().SetWallpaper(URI, LOCKSCREEN, apiInfo);
946     ret = FileDeal::IsFileExist(WallpaperTest::GetUserFilePath(userId, LOCKSCREEN_FILE));
947     EXPECT_EQ(ret, true);
948     WallpaperManager::GetInstance().ResetWallpaper(LOCKSCREEN, apiInfo);
949 }
950 
951 /*********************   SetWallpaperByUri   *********************/
952 
953 /*********************   FILE_DEAL   *********************/
954 /**
955 * @tc.name:    FILE_DEAL001
956 * @tc.desc:    File operation-related interfaces
957 * @tc.type:    FUNC
958 * @tc.require:
959 * @tc.author:
960 */
961 HWTEST_F(WallpaperTest, FILE_DEAL001, TestSize.Level0)
962 {
963     HILOG_INFO("FILE_DEAL001  begin");
964     FileDeal fileOperation;
965     bool isExist = fileOperation.Mkdir("/data/test/theme/wallpaper/");
966     EXPECT_EQ(isExist, true);
967     isExist = fileOperation.Mkdir("/data/test/theme/errorURI/");
968     EXPECT_EQ(isExist, true);
969     isExist = fileOperation.IsFileExist(URI);
970     EXPECT_EQ(isExist, true);
971     isExist = fileOperation.IsFileExist("/data/test/theme/wallpaper/errorURI");
972     EXPECT_EQ(isExist, false);
973 }
974 /*********************   FILE_DEAL   *********************/
975 
976 /**
977 * @tc.name:    SetWallpaper001
978 * @tc.desc:    SetWallpaper with error length
979 * @tc.type:    FUNC
980 * @tc.require: issueI6AW6M
981 * @tc.author:  weishaoxiong
982 */
983 HWTEST_F(WallpaperTest, SetWallpaper001, TestSize.Level0)
984 {
985     HILOG_INFO("SetWallpaper001  begin");
986     std::shared_ptr<WallpaperService> wallpaperService = std::make_shared<WallpaperService>();
987     ErrorCode wallpaperErrorCode = wallpaperService->SetWallpaper(0, 0, -1);
988     EXPECT_EQ(wallpaperErrorCode, E_PARAMETERS_INVALID) << "Failed to throw error";
989     wallpaperErrorCode = wallpaperService->SetWallpaper(0, 0, FOO_MAX_LEN);
990 
991     EXPECT_EQ(wallpaperErrorCode, E_PICTURE_OVERSIZED) << "Failed to throw error";
992 }
993 
994 /*********************   USER_DEAL   *********************/
995 /**
996 * @tc.name:    AddUsersDeal001
997 * @tc.desc:    Create a user directory after the user is added
998 * @tc.type:    FUNC
999 * @tc.require: issueI6DWHR
1000 */
1001 HWTEST_F(WallpaperTest, AddUsersDeal001, TestSize.Level0)
1002 {
1003     std::shared_ptr<WallpaperService> wallpaperService = std::make_shared<WallpaperService>();
1004     bool ret = WallpaperTest::SubscribeCommonEvent(wallpaperService);
1005     ASSERT_EQ(ret, true);
1006     std::string commonEvent = EventFwk::CommonEventSupport::COMMON_EVENT_USER_ADDED;
1007     WallpaperTest::TriggerEvent(TEST_USERID, commonEvent);
1008     ret = FileDeal::IsDirExist(WallpaperTest::GetUserFilePath(TEST_USERID, SYSTEM_DIR));
1009     EXPECT_EQ(ret, true);
1010     ret = FileDeal::IsDirExist(WallpaperTest::GetUserFilePath(TEST_USERID, LOCKSCREEN_DIR));
1011     EXPECT_EQ(ret, true);
1012     std::string userDir = WALLPAPER_DEFAULT_PATH + std::string("/") + std::to_string(TEST_USERID);
1013     if (!OHOS::ForceRemoveDirectory(userDir)) {
1014         HILOG_ERROR("Force remove user directory path failed, errno %{public}d.", errno);
1015     }
1016 }
1017 
1018 /**
1019 * @tc.name:    RemovedUserDeal001
1020 * @tc.desc:    delete a user directory after the user is removed
1021 * @tc.type:    FUNC
1022 * @tc.require: issueI6DWHR
1023 */
1024 HWTEST_F(WallpaperTest, RemovedUserDeal001, TestSize.Level0)
1025 {
1026     std::shared_ptr<WallpaperService> wallpaperService = std::make_shared<WallpaperService>();
1027     ASSERT_EQ(WallpaperTest::SubscribeCommonEvent(wallpaperService), true);
1028     std::string commonEvent = EventFwk::CommonEventSupport::COMMON_EVENT_USER_ADDED;
1029     WallpaperTest::TriggerEvent(TEST_USERID, commonEvent);
1030     std::string userDir = WALLPAPER_DEFAULT_PATH + std::string("/") + std::to_string(TEST_USERID);
1031     ASSERT_EQ(FileDeal::IsDirExist(userDir), true);
1032 
1033     commonEvent = EventFwk::CommonEventSupport::COMMON_EVENT_USER_REMOVED;
1034     WallpaperTest::TriggerEvent(TEST_USERID, commonEvent);
1035     EXPECT_EQ(FileDeal::IsDirExist(userDir), false);
1036     if (!OHOS::ForceRemoveDirectory(userDir)) {
1037         HILOG_ERROR("Force remove user directory path failed, errno %{public}d.", errno);
1038     }
1039 }
1040 
1041 /**
1042 * @tc.name:    SwitchedUserIdDeal001
1043 * @tc.desc:    The wallpaper has changed after switched user
1044 * @tc.type:    FUNC
1045 * @tc.require: issueI6DWHR
1046 */
1047 HWTEST_F(WallpaperTest, SwitchedUserIdDeal001, TestSize.Level0)
1048 {
1049     std::shared_ptr<WallpaperService> wallpaperService = std::make_shared<WallpaperService>();
1050     wallpaperService->InitServiceHandler();
1051     ASSERT_EQ(WallpaperTest::SubscribeCommonEvent(wallpaperService), true);
1052     ApiInfo apiInfo{ false, false };
1053     std::vector<int32_t> ids;
1054     AccountSA::OsAccountManager::QueryActiveOsAccountIds(ids);
1055     int32_t beforeUserId = ids.empty()? DEFAULT_USERID : ids[0];
1056     std::string addCommonEvent = EventFwk::CommonEventSupport::COMMON_EVENT_USER_ADDED;
1057     WallpaperTest::TriggerEvent(TEST_USERID, addCommonEvent);
1058     std::string userDir = WALLPAPER_DEFAULT_PATH + std::string("/") + std::to_string(TEST_USERID);
1059     ASSERT_EQ(FileDeal::IsDirExist(userDir), true);
1060     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(LOCKSCREEN, apiInfo);
1061     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to reset lockscreen wallpaper";
1062 
1063     std::vector<uint64_t> oldLockscreenColor;
1064     wallpaperErrorCode = WallpaperManager::GetInstance().GetColors(LOCKSCREEN, apiInfo, oldLockscreenColor);
1065     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetColors";
1066     wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(SYSTYEM, apiInfo);
1067     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to reset system wallpaper";
1068     std::vector<uint64_t> oldSystemColor;
1069     wallpaperErrorCode = WallpaperManager::GetInstance().GetColors(SYSTYEM, apiInfo, oldSystemColor);
1070     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetColors";
1071 
1072     std::string switchCommonEvent = EventFwk::CommonEventSupport::COMMON_EVENT_USER_SWITCHED;
1073     WallpaperTest::TriggerEvent(TEST_USERID, switchCommonEvent);
1074     wallpaperErrorCode = WallpaperManager::GetInstance().SetWallpaper(URI, LOCKSCREEN, apiInfo);
1075     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to set lockscreen wallpaper";
1076     std::vector<uint64_t> newLockscreenColor;
1077     wallpaperErrorCode = WallpaperManager::GetInstance().GetColors(LOCKSCREEN, apiInfo, newLockscreenColor);
1078     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetColors";
1079     wallpaperErrorCode = WallpaperManager::GetInstance().SetWallpaper(URI, SYSTYEM, apiInfo);
1080     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to set system wallpaper";
1081     std::vector<uint64_t> newSystemColor;
1082     wallpaperErrorCode = WallpaperManager::GetInstance().GetColors(SYSTYEM, apiInfo, newSystemColor);
1083     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetColors";
1084     EXPECT_NE(oldLockscreenColor, newLockscreenColor);
1085     EXPECT_NE(oldSystemColor, newSystemColor);
1086 
1087     WallpaperTest::TriggerEvent(beforeUserId, switchCommonEvent);
1088     std::string removeCommonEvent = EventFwk::CommonEventSupport::COMMON_EVENT_USER_REMOVED;
1089     WallpaperTest::TriggerEvent(TEST_USERID, removeCommonEvent);
1090     EXPECT_EQ(FileDeal::IsDirExist(userDir), false);
1091     if (!OHOS::ForceRemoveDirectory(userDir)) {
1092         HILOG_ERROR("Force remove user directory path failed, errno %{public}d.", errno);
1093     }
1094 }
1095 
1096 /**
1097 * @tc.name:    InvalidUserIdDeal001
1098 * @tc.desc:    Invalid user id deal
1099 * @tc.type:    FUNC
1100 * @tc.require: issueI6DWHR
1101 */
1102 HWTEST_F(WallpaperTest, InvalidUserIdDeal001, TestSize.Level0)
1103 {
1104     std::shared_ptr<WallpaperService> wallpaperService = std::make_shared<WallpaperService>();
1105     wallpaperService->InitServiceHandler();
1106     ASSERT_EQ(WallpaperTest::SubscribeCommonEvent(wallpaperService), true);
1107     std::string commonEvent = EventFwk::CommonEventSupport::COMMON_EVENT_USER_ADDED;
1108     WallpaperTest::TriggerEvent(INVALID_USERID, commonEvent);
1109     std::string userDir = WALLPAPER_DEFAULT_PATH + std::string("/") + std::to_string(INVALID_USERID);
1110     EXPECT_EQ(FileDeal::IsDirExist(userDir), false);
1111     FileDeal::Mkdir(userDir);
1112     commonEvent = EventFwk::CommonEventSupport::COMMON_EVENT_USER_REMOVED;
1113     WallpaperTest::TriggerEvent(INVALID_USERID, commonEvent);
1114     EXPECT_EQ(FileDeal::IsDirExist(userDir), true);
1115     if (!OHOS::ForceRemoveDirectory(userDir)) {
1116         HILOG_ERROR("Force remove user directory path failed, errno %{public}d.", errno);
1117     }
1118 }
1119 /*********************   USER_DEAL   *********************/
1120 
1121 /*********************   SetVideo    *********************/
1122 /**
1123  * @tc.name:    SetVideo001
1124  * @tc.desc:    SetVideo input error fileType
1125  * @tc.type:    FUNC
1126  * @tc.require: issueI6R07J
1127  */
1128 HWTEST_F(WallpaperTest, SetVideo001, TestSize.Level0)
1129 {
1130     HILOG_INFO("SetVideo001 begin");
1131     ErrorCode ret = WallpaperManager::GetInstance().SetVideo(URI_30FPS_3S_MOV, SYSTYEM);
1132     EXPECT_EQ(ret, E_PARAMETERS_INVALID);
1133 }
1134 
1135 /**
1136  * @tc.name:    SetVideo002
1137  * @tc.desc:    SetVideo input error uri
1138  * @tc.type:    FUNC
1139  * @tc.require: issueI6R07J
1140  */
1141 HWTEST_F(WallpaperTest, SetVideo002, TestSize.Level0)
1142 {
1143     HILOG_INFO("SetVideo002 begin");
1144     std::string errUri = "errorPath/zm_30fps_4s.mp4";
1145     ErrorCode ret = WallpaperManager::GetInstance().SetVideo(errUri, SYSTYEM);
1146     EXPECT_EQ(ret, E_PARAMETERS_INVALID);
1147 }
1148 
1149 /**
1150  * @tc.name:    SetVideo003
1151  * @tc.desc:    SetVideo input correct parameter
1152  * @tc.type:    FUNC
1153  * @tc.require: issueI6R07J
1154  */
1155 HWTEST_F(WallpaperTest, SetVideo003, TestSize.Level0)
1156 {
1157     HILOG_INFO("SetVideo003 begin");
1158     ErrorCode ret = WallpaperManager::GetInstance().SetVideo(URI_30FPS_3S_MP4, SYSTYEM);
1159     EXPECT_EQ(ret, E_OK);
1160 }
1161 
1162 /**
1163  * @tc.name:    SetVideo004
1164  * @tc.desc:    SetVideo input error duration
1165  * @tc.type:    FUNC
1166  * @tc.require: issueI6R07J
1167  */
1168 HWTEST_F(WallpaperTest, SetVideo004, TestSize.Level0)
1169 {
1170     HILOG_INFO("SetVideo004 begin");
1171     ErrorCode ret = WallpaperManager::GetInstance().SetVideo(URI_15FPS_7S_MP4, SYSTYEM);
1172     EXPECT_EQ(ret, E_PARAMETERS_INVALID);
1173 }
1174 
1175 /**
1176  * @tc.name:    SetVideo005
1177  * @tc.desc:    SetVideo input error fileType
1178  * @tc.type:    FUNC
1179  * @tc.require: issueI6R07J
1180  */
1181 HWTEST_F(WallpaperTest, SetVideo005, TestSize.Level0)
1182 {
1183     HILOG_INFO("SetVideo005 begin");
1184     ErrorCode ret = WallpaperManager::GetInstance().SetVideo(URI_30FPS_3S_MOV, LOCKSCREEN);
1185     EXPECT_EQ(ret, E_PARAMETERS_INVALID);
1186 }
1187 
1188 /**
1189  * @tc.name:    SetVideo006
1190  * @tc.desc:    SetVideo input error uri
1191  * @tc.type:    FUNC
1192  * @tc.require: issueI6R07J
1193  */
1194 HWTEST_F(WallpaperTest, SetVideo006, TestSize.Level0)
1195 {
1196     HILOG_INFO("SetVideo006 begin");
1197     std::string errUri = "errorPath/zm_30fps_4s.mp4";
1198     ErrorCode ret = WallpaperManager::GetInstance().SetVideo(errUri, LOCKSCREEN);
1199     EXPECT_EQ(ret, E_PARAMETERS_INVALID);
1200 }
1201 
1202 /**
1203  * @tc.name:    SetVideo007
1204  * @tc.desc:    SetVideo input correct parameter
1205  * @tc.type:    FUNC
1206  * @tc.require: issueI6R07J
1207  */
1208 HWTEST_F(WallpaperTest, SetVideo007, TestSize.Level0)
1209 {
1210     HILOG_INFO("SetVideo007 begin");
1211     ErrorCode ret = WallpaperManager::GetInstance().SetVideo(URI_30FPS_3S_MP4, LOCKSCREEN);
1212     EXPECT_EQ(ret, E_OK);
1213 }
1214 
1215 /**
1216  * @tc.name:    SetVideo008
1217  * @tc.desc:    SetVideo input error duration
1218  * @tc.type:    FUNC
1219  * @tc.require: issueI6R07J
1220  */
1221 HWTEST_F(WallpaperTest, SetVideo008, TestSize.Level0)
1222 {
1223     HILOG_INFO("SetVideo008 begin");
1224     ErrorCode ret = WallpaperManager::GetInstance().SetVideo(URI_15FPS_7S_MP4, LOCKSCREEN);
1225     EXPECT_EQ(ret, E_PARAMETERS_INVALID);
1226 }
1227 /*********************   SetVideo    *********************/
1228 
1229 /**
1230  * @tc.name:    SetCustomWallpaper001
1231  * @tc.desc:    Set a custom wallpaper in the Sceneborad scene
1232  * @tc.type:    FUNC
1233  * @tc.require: issueI7AAMU
1234  */
1235 HWTEST_F(WallpaperTest, SetCustomWallpaper001, TestSize.Level0)
1236 {
1237     HILOG_INFO("SetCustomWallpaper001 begin");
1238     ErrorCode testErrorCode = E_OK;
1239     if (!Rosen::SceneBoardJudgement::IsSceneBoardEnabled()) {
1240         testErrorCode = E_NO_PERMISSION;
1241     }
1242     ErrorCode ret = WallpaperManager::GetInstance().SetCustomWallpaper(URI_ZIP, SYSTYEM);
1243     EXPECT_EQ(ret, testErrorCode);
1244     ret = WallpaperManager::GetInstance().SetCustomWallpaper(URI_ZIP, LOCKSCREEN);
1245     EXPECT_EQ(ret, testErrorCode);
1246 }
1247 
1248 /*********************   SendEvent    *********************/
1249 
1250 /**
1251  * @tc.name:    SendEvent001
1252  * @tc.desc:    SetVideo input error fileType
1253  * @tc.type:    FUNC
1254  * @tc.require: issueI6R07J
1255  */
1256 HWTEST_F(WallpaperTest, SendEvent001, TestSize.Level0)
1257 {
1258     HILOG_INFO("SendEvent001 begin");
1259     std::string errEventType = "SHOW_ERROREVENTTYPE";
1260     ErrorCode ret = WallpaperManager::GetInstance().SendEvent("SHOW_ERROREVENTTYPE");
1261     EXPECT_EQ(ret, E_PARAMETERS_INVALID);
1262 }
1263 
1264 /**
1265  * @tc.name:    SendEvent002
1266  * @tc.desc:    SetVideo input error fileType
1267  * @tc.type:    FUNC
1268  * @tc.require: issueI6R07J
1269  */
1270 HWTEST_F(WallpaperTest, SendEvent002, TestSize.Level0)
1271 {
1272     HILOG_INFO("SendEvent002 begin");
1273     ErrorCode ret = WallpaperManager::GetInstance().SendEvent("SHOW_SYSTEMSCREEN");
1274     EXPECT_EQ(ret, E_OK);
1275 }
1276 
1277 /**
1278  * @tc.name:    SendEvent003
1279  * @tc.desc:    SetVideo input error fileType
1280  * @tc.type:    FUNC
1281  * @tc.require: issueI6R07J
1282  */
1283 HWTEST_F(WallpaperTest, SendEvent003, TestSize.Level0)
1284 {
1285     HILOG_INFO("SendEvent003 begin");
1286     ErrorCode ret = WallpaperManager::GetInstance().SendEvent("SHOW_LOCKSCREEN");
1287     EXPECT_EQ(ret, E_OK);
1288 }
1289 
1290 /**
1291  * @tc.name:    WallpaperTest_001
1292  * @tc.desc:    Test Onstop and OnStart.
1293  * @tc.type:    FUNC
1294  * @tc.require: issueI7OUB6
1295  */
1296 HWTEST_F(WallpaperTest, WallpaperTest_001, TestSize.Level0)
1297 {
1298     HILOG_INFO("Test Onstop");
1299     std::shared_ptr<WallpaperService> wallpaperService = std::make_shared<WallpaperService>();
1300     wallpaperService->state_ = WallpaperService::ServiceRunningState::STATE_RUNNING;
1301     wallpaperService->OnStop();
1302     EXPECT_EQ(wallpaperService->state_, WallpaperService::ServiceRunningState::STATE_NOT_START);
1303 }
1304 
1305 /**
1306  * @tc.name:    GetPictureFileName_001
1307  * @tc.desc:    Load userIds that are not found in the Map.
1308  * @tc.type:    FUNC
1309  * @tc.require: issueI90IUI
1310  */
1311 HWTEST_F(WallpaperTest, GetPictureFileName_001, TestSize.Level0)
1312 {
1313     HILOG_INFO("GetPictureFileName_001 begin");
1314     std::shared_ptr<WallpaperService> wallpaperService = std::make_shared<WallpaperService>();
1315     std::string fileName;
1316     wallpaperService->GetPictureFileName(TEST_USERID1, WALLPAPER_SYSTEM, fileName);
1317     auto wallpaperDefault = fileName.find(WALLPAPER_DEFAULT);
1318     auto homeWallpaper = fileName.find(HOME_WALLPAPER);
1319     EXPECT_EQ((wallpaperDefault != string::npos) || (homeWallpaper != string::npos), true);
1320     wallpaperService->SetWallpaperBackupData(TEST_USERID1, PICTURE, URI, WALLPAPER_SYSTEM);
1321     wallpaperService->GetPictureFileName(TEST_USERID1, WALLPAPER_SYSTEM, fileName);
1322     auto pos = fileName.find(to_string(TEST_USERID1));
1323     EXPECT_NE(pos, string::npos);
1324     wallpaperService->OnRemovedUser(TEST_USERID1);
1325 }
1326 
1327 /**
1328  * @tc.name:    RegisterWallpaperCallback_001
1329  * @tc.desc:    Test RegisterWallpaperCallback
1330  * @tc.type:    FUNC
1331  * @tc.require: issueIA87VK
1332  */
1333 HWTEST_F(WallpaperTest, RegisterWallpaperCallback_001, TestSize.Level0)
1334 {
1335     HILOG_INFO("RegisterWallpaperCallback_001 begin");
1336     JScallback callback = &WallpaperTest::TestCallBack;
1337     bool res = WallpaperManager::GetInstance().RegisterWallpaperCallback(callback);
1338     EXPECT_EQ(res, true);
1339 }
1340 
1341 /**
1342  * @tc.name:    RegisterWallpaperListener_001
1343  * @tc.desc:    Test RegisterWallpaperListener
1344  * @tc.type:    FUNC
1345  * @tc.require: issueIA87VK
1346  */
1347 HWTEST_F(WallpaperTest, RegisterWallpaperListener_001, TestSize.Level0)
1348 {
1349     HILOG_INFO("RegisterWallpaperListener_001 begin");
1350     bool res = WallpaperManager::GetInstance().RegisterWallpaperListener();
1351     EXPECT_EQ(res, true);
1352 }
1353 
1354 /*********************   SetAllWallpapers   *********************/
1355 /**
1356 * @tc.name: SetAllWallpapers001
1357 * @tc.desc: SetAllWallpapers normal device with wallpaperType[0]
1358 * @tc.type: FUNC
1359 * @tc.require:
1360 */
1361 HWTEST_F(WallpaperTest, SetAllWallpapers001, TestSize.Level0)
1362 {
1363     HILOG_INFO("SetAllWallpapers001 begin");
1364     std::vector<WallpaperInfo> wallpaperInfo;
1365     wallpaperInfo.push_back(wallpaperInfo_normal_port);
1366     wallpaperInfo.push_back(wallpaperInfo_normal_land);
1367     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetAllWallpapers(wallpaperInfo, SYSTYEM);
1368     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to SetAllWallpapers";
1369 }
1370 
1371 /**
1372 * @tc.name: SetAllWallpapers002
1373 * @tc.desc: SetAllWallpapers normal device with wallpaperType[1]
1374 * @tc.type: FUNC
1375 * @tc.require:
1376 */
1377 HWTEST_F(WallpaperTest, SetAllWallpapers002, TestSize.Level0)
1378 {
1379     HILOG_INFO("SetAllWallpapers002 begin");
1380     std::vector<WallpaperInfo> wallpaperInfo;
1381     wallpaperInfo.push_back(wallpaperInfo_normal_port);
1382     wallpaperInfo.push_back(wallpaperInfo_normal_land);
1383     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetAllWallpapers(wallpaperInfo, LOCKSCREEN);
1384     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to SetAllWallpapers";
1385 }
1386 
1387 /**
1388 * @tc.name: SetAllWallpapers003
1389 * @tc.desc: SetAllWallpapers unfold_1 device with wallpaperType[0]
1390 * @tc.type: FUNC
1391 * @tc.require:
1392 */
1393 HWTEST_F(WallpaperTest, SetAllWallpapers003, TestSize.Level0)
1394 {
1395     HILOG_INFO("SetAllWallpapers003 begin");
1396     std::vector<WallpaperInfo> wallpaperInfo;
1397     wallpaperInfo.push_back(wallpaperInfo_normal_port);
1398     wallpaperInfo.push_back(wallpaperInfo_normal_land);
1399     wallpaperInfo.push_back(wallpaperInfo_unfold1_port);
1400     wallpaperInfo.push_back(wallpaperInfo_unfold1_land);
1401     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetAllWallpapers(wallpaperInfo, SYSTYEM);
1402     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to SetAllWallpapers";
1403 }
1404 
1405 /**
1406 * @tc.name: SetAllWallpapers004
1407 * @tc.desc: SetAllWallpapers unfold_1 device with wallpaperType[1]
1408 * @tc.type: FUNC
1409 * @tc.require:
1410 */
1411 HWTEST_F(WallpaperTest, SetAllWallpapers004, TestSize.Level0)
1412 {
1413     HILOG_INFO("SetAllWallpapers004 begin");
1414     std::vector<WallpaperInfo> wallpaperInfo;
1415     wallpaperInfo.push_back(wallpaperInfo_normal_port);
1416     wallpaperInfo.push_back(wallpaperInfo_normal_land);
1417     wallpaperInfo.push_back(wallpaperInfo_unfold1_port);
1418     wallpaperInfo.push_back(wallpaperInfo_unfold1_land);
1419     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetAllWallpapers(wallpaperInfo, LOCKSCREEN);
1420     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to SetAllWallpapers";
1421 }
1422 
1423 /**
1424 * @tc.name: SetAllWallpapers005
1425 * @tc.desc: SetAllWallpapers unfold_2 device with wallpaperType[0]
1426 * @tc.type: FUNC
1427 * @tc.require:
1428 */
1429 HWTEST_F(WallpaperTest, SetAllWallpapers005, TestSize.Level0)
1430 {
1431     HILOG_INFO("SetAllWallpapers005 begin");
1432     std::vector<WallpaperInfo> wallpaperInfo;
1433     wallpaperInfo.push_back(wallpaperInfo_normal_port);
1434     wallpaperInfo.push_back(wallpaperInfo_normal_land);
1435     wallpaperInfo.push_back(wallpaperInfo_unfold1_port);
1436     wallpaperInfo.push_back(wallpaperInfo_unfold1_land);
1437     wallpaperInfo.push_back(wallpaperInfo_unfold2_port);
1438     wallpaperInfo.push_back(wallpaperInfo_unfold2_land);
1439     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetAllWallpapers(wallpaperInfo, SYSTYEM);
1440     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to SetAllWallpapers";
1441 }
1442 
1443 /**
1444 * @tc.name: SetAllWallpapers006
1445 * @tc.desc: SetAllWallpapers unfold_2 device with wallpaperType[1]
1446 * @tc.type: FUNC
1447 * @tc.require:
1448 */
1449 HWTEST_F(WallpaperTest, SetAllWallpapers006, TestSize.Level0)
1450 {
1451     HILOG_INFO("SetAllWallpapers006 begin");
1452     std::vector<WallpaperInfo> wallpaperInfo;
1453     wallpaperInfo.push_back(wallpaperInfo_normal_port);
1454     wallpaperInfo.push_back(wallpaperInfo_normal_land);
1455     wallpaperInfo.push_back(wallpaperInfo_unfold1_port);
1456     wallpaperInfo.push_back(wallpaperInfo_unfold1_land);
1457     wallpaperInfo.push_back(wallpaperInfo_unfold2_port);
1458     wallpaperInfo.push_back(wallpaperInfo_unfold2_land);
1459     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().SetAllWallpapers(wallpaperInfo, LOCKSCREEN);
1460     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to SetAllWallpapers";
1461 }
1462 
1463 /*********************   SetAllWallpapers   *********************/
1464 
1465 /*********************   GetCorrespondWallpaper   *********************/
1466 /**
1467 * @tc.name:   GetCorrespondWallpaper001
1468 * @tc.desc:   GetCorrespondWallpaper normal device with wallpaperType[0].
1469 * @tc.type:    FUNC
1470 * @tc.require:
1471 */
1472 HWTEST_F(WallpaperTest, GetCorrespondWallpaper001, TestSize.Level0)
1473 {
1474     HILOG_INFO("GetCorrespondWallpaper001  begin");
1475     std::shared_ptr<OHOS::Media::PixelMap> pixelMap;
1476     ErrorCode wallpaperErrorCode =
1477         WallpaperManager::GetInstance().GetCorrespondWallpaper(SYSTYEM, NORMAL, PORT, pixelMap);
1478     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetCorrespondWallpaper";
1479     wallpaperErrorCode = WallpaperManager::GetInstance().GetCorrespondWallpaper(SYSTYEM, NORMAL, LAND, pixelMap);
1480     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetCorrespondWallpaper";
1481 }
1482 
1483 /**
1484 * @tc.name:   GetCorrespondWallpaper002
1485 * @tc.desc:   GetCorrespondWallpaper normal device with wallpaperType[1].
1486 * @tc.type:    FUNC
1487 * @tc.require:
1488 */
1489 HWTEST_F(WallpaperTest, GetCorrespondWallpaper002, TestSize.Level0)
1490 {
1491     HILOG_INFO("GetPixelMap002  begin");
1492     std::shared_ptr<OHOS::Media::PixelMap> pixelMap;
1493     ErrorCode wallpaperErrorCode =
1494         WallpaperManager::GetInstance().GetCorrespondWallpaper(LOCKSCREEN, NORMAL, PORT, pixelMap);
1495     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetCorrespondWallpaper";
1496     wallpaperErrorCode = WallpaperManager::GetInstance().GetCorrespondWallpaper(LOCKSCREEN, NORMAL, LAND, pixelMap);
1497     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetCorrespondWallpaper";
1498 }
1499 
1500 /**
1501 * @tc.name:   GetCorrespondWallpaper003
1502 * @tc.desc:   GetCorrespondWallpaper unfold_1 device with wallpaperType[0].
1503 * @tc.type:    FUNC
1504 * @tc.require:
1505 */
1506 HWTEST_F(WallpaperTest, GetCorrespondWallpaper003, TestSize.Level0)
1507 {
1508     HILOG_INFO("GetCorrespondWallpaper003  begin");
1509     std::shared_ptr<OHOS::Media::PixelMap> pixelMap;
1510     ErrorCode wallpaperErrorCode =
1511         WallpaperManager::GetInstance().GetCorrespondWallpaper(SYSTYEM, UNFOLD_1, PORT, pixelMap);
1512     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetCorrespondWallpaper";
1513     wallpaperErrorCode = WallpaperManager::GetInstance().GetCorrespondWallpaper(SYSTYEM, UNFOLD_1, LAND, pixelMap);
1514     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetCorrespondWallpaper";
1515 }
1516 
1517 /**
1518 * @tc.name:   GetCorrespondWallpaper004
1519 * @tc.desc:   GetCorrespondWallpaper unfold_1 device with wallpaperType[1].
1520 * @tc.type:    FUNC
1521 * @tc.require:
1522 */
1523 HWTEST_F(WallpaperTest, GetCorrespondWallpaper004, TestSize.Level0)
1524 {
1525     HILOG_INFO("GetCorrespondWallpaper004  begin");
1526     std::shared_ptr<OHOS::Media::PixelMap> pixelMap;
1527     ErrorCode wallpaperErrorCode =
1528         WallpaperManager::GetInstance().GetCorrespondWallpaper(LOCKSCREEN, UNFOLD_1, PORT, pixelMap);
1529     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetCorrespondWallpaper";
1530     wallpaperErrorCode = WallpaperManager::GetInstance().GetCorrespondWallpaper(LOCKSCREEN, UNFOLD_1, LAND, pixelMap);
1531     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetCorrespondWallpaper";
1532 }
1533 
1534 /**
1535 * @tc.name:   GetCorrespondWallpaper005
1536 * @tc.desc:   GetCorrespondWallpaper unfold_2 device with wallpaperType[0].
1537 * @tc.type:    FUNC
1538 * @tc.require:
1539 */
1540 HWTEST_F(WallpaperTest, GetCorrespondWallpaper005, TestSize.Level0)
1541 {
1542     HILOG_INFO("GetCorrespondWallpaper005  begin");
1543     std::shared_ptr<OHOS::Media::PixelMap> pixelMap;
1544     ErrorCode wallpaperErrorCode =
1545         WallpaperManager::GetInstance().GetCorrespondWallpaper(SYSTYEM, UNFOLD_2, PORT, pixelMap);
1546     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetCorrespondWallpaper";
1547     wallpaperErrorCode = WallpaperManager::GetInstance().GetCorrespondWallpaper(SYSTYEM, UNFOLD_2, LAND, pixelMap);
1548     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetCorrespondWallpaper";
1549 }
1550 
1551 /**
1552 * @tc.name:   GetCorrespondWallpaper006
1553 * @tc.desc:   GetCorrespondWallpaper unfold_2 device with wallpaperType[1].
1554 * @tc.type:    FUNC
1555 * @tc.require:
1556 */
1557 HWTEST_F(WallpaperTest, GetCorrespondWallpaper006, TestSize.Level0)
1558 {
1559     HILOG_INFO("GetCorrespondWallpaper006  begin");
1560     std::shared_ptr<OHOS::Media::PixelMap> pixelMap;
1561     ErrorCode wallpaperErrorCode =
1562         WallpaperManager::GetInstance().GetCorrespondWallpaper(LOCKSCREEN, UNFOLD_2, PORT, pixelMap);
1563     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetCorrespondWallpaper";
1564     wallpaperErrorCode = WallpaperManager::GetInstance().GetCorrespondWallpaper(LOCKSCREEN, UNFOLD_2, LAND, pixelMap);
1565     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to GetCorrespondWallpaper";
1566 }
1567 /*********************   GetCorrespondWallpaper   *********************/
1568 
1569 /*********************   Wallpaper_Inner_Api   *********************/
1570 /**
1571 * @tc.name:   IsDefaultWallpaperResource
1572 * @tc.desc:   IsDefaultWallpaperResource wallpaper resource is empty.
1573 * @tc.type:    FUNC
1574 * @tc.require:
1575 */
1576 HWTEST_F(WallpaperTest, IsDefaultWallpaperResource001, TestSize.Level0)
1577 {
1578     HILOG_INFO("IsDefaultWallpaperResource001  begin");
1579     std::shared_ptr<WallpaperService> wallpaperService = std::make_shared<WallpaperService>();
1580     int32_t userId = wallpaperService->QueryActiveUserId();
1581     ApiInfo apiInfo{ false, false };
1582     std::vector<WallpaperInfo> wallpaperInfo;
1583     wallpaperInfo.push_back(wallpaperInfo_normal_port);
1584     wallpaperInfo.push_back(wallpaperInfo_normal_land);
1585     wallpaperInfo.push_back(wallpaperInfo_unfold1_port);
1586     wallpaperInfo.push_back(wallpaperInfo_unfold1_land);
1587     wallpaperInfo.push_back(wallpaperInfo_unfold2_port);
1588     wallpaperInfo.push_back(wallpaperInfo_unfold2_land);
1589     ErrorCode wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(SYSTYEM, apiInfo);
1590     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to reset lockscreen wallpaper";
1591     auto ret = WallpaperManagerClient::GetInstance().IsDefaultWallpaperResource(userId, SYSTYEM);
1592     EXPECT_EQ(ret, true) << "Failed to IsDefaultWallpaperResource";
1593     wallpaperErrorCode = WallpaperManager::GetInstance().SetAllWallpapers(wallpaperInfo, SYSTYEM);
1594     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to set system wallpaper";
1595     ret = WallpaperManagerClient::GetInstance().IsDefaultWallpaperResource(userId, SYSTYEM);
1596     EXPECT_EQ(ret, false) << "Failed to IsDefaultWallpaperResource";
1597     wallpaperErrorCode = WallpaperManager::GetInstance().ResetWallpaper(LOCKSCREEN, apiInfo);
1598     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to reset lockscreen wallpaper";
1599     ret = WallpaperManagerClient::GetInstance().IsDefaultWallpaperResource(userId, LOCKSCREEN);
1600     EXPECT_EQ(ret, true) << "Failed to IsDefaultWallpaperResource";
1601     wallpaperErrorCode = WallpaperManager::GetInstance().SetAllWallpapers(wallpaperInfo, LOCKSCREEN);
1602     EXPECT_EQ(wallpaperErrorCode, E_OK) << "Failed to set system wallpaper";
1603     ret = WallpaperManagerClient::GetInstance().IsDefaultWallpaperResource(userId, SYSTYEM);
1604     EXPECT_EQ(ret, false) << "Failed to IsDefaultWallpaperResource";
1605 }
1606 
1607 /**
1608 * @tc.name:   SetAllWallpapers
1609 * @tc.desc:   SetAllWallpapers unfold_2 device with wallpaperType[0].
1610 * @tc.type:    FUNC
1611 * @tc.require:
1612 */
1613 HWTEST_F(WallpaperTest, SetAllWallpapersClient001, TestSize.Level0)
1614 {
1615     HILOG_INFO("SetAllWallpapersClient001  begin");
1616     std::vector<WallpaperInfo> wallpaperInfo;
1617     wallpaperInfo.push_back(wallpaperInfo_normal_port);
1618     wallpaperInfo.push_back(wallpaperInfo_normal_land);
1619     wallpaperInfo.push_back(wallpaperInfo_unfold1_port);
1620     wallpaperInfo.push_back(wallpaperInfo_unfold1_land);
1621     wallpaperInfo.push_back(wallpaperInfo_unfold2_port);
1622     wallpaperInfo.push_back(wallpaperInfo_unfold2_land);
1623     auto ret = WallpaperManagerClient::GetInstance().SetAllWallpapers(wallpaperInfo, SYSTYEM);
1624     EXPECT_EQ(ret, static_cast<int32_t>(E_OK)) << "Failed to SetAllWallpapers";
1625 }
1626 
1627 /**
1628 * @tc.name: SetAllWallpapers
1629 * @tc.desc: SetAllWallpapers unfold_2 device with wallpaperType[1]
1630 * @tc.type: FUNC
1631 * @tc.require:
1632 */
1633 HWTEST_F(WallpaperTest, SetAllWallpapersClient002, TestSize.Level0)
1634 {
1635     HILOG_INFO("SetAllWallpapersClient002 begin");
1636     std::vector<WallpaperInfo> wallpaperInfo;
1637     wallpaperInfo.push_back(wallpaperInfo_normal_port);
1638     wallpaperInfo.push_back(wallpaperInfo_normal_land);
1639     wallpaperInfo.push_back(wallpaperInfo_unfold1_port);
1640     wallpaperInfo.push_back(wallpaperInfo_unfold1_land);
1641     wallpaperInfo.push_back(wallpaperInfo_unfold2_port);
1642     wallpaperInfo.push_back(wallpaperInfo_unfold2_land);
1643     auto ret = WallpaperManagerClient::GetInstance().SetAllWallpapers(wallpaperInfo, LOCKSCREEN);
1644     EXPECT_EQ(ret, static_cast<int32_t>(E_OK)) << "Failed to SetAllWallpapers";
1645 }
1646 /*********************   Wallpaper_Inner_Api   *********************/
1647 
1648 } // namespace WallpaperMgrService
1649 } // namespace OHOS