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 
16 #include <gtest/gtest.h>
17 
18 #define private public
19 #include "task_data_persistence_mgr.h"
20 #undef private
21 
22 using namespace testing::ext;
23 using namespace OHOS::AppExecFwk;
24 
25 namespace OHOS {
26 namespace AAFwk {
27 class TaskDataPersistenceMgrTest : public testing::Test {
28 public:
29     static void SetUpTestCase(void);
30     static void TearDownTestCase(void);
31     void SetUp();
32     void TearDown();
33 };
34 
SetUpTestCase(void)35 void TaskDataPersistenceMgrTest::SetUpTestCase(void)
36 {}
TearDownTestCase(void)37 void TaskDataPersistenceMgrTest::TearDownTestCase(void)
38 {}
SetUp(void)39 void TaskDataPersistenceMgrTest::SetUp(void)
40 {}
TearDown(void)41 void TaskDataPersistenceMgrTest::TearDown(void)
42 {}
43 
44 /*
45  * Feature: TaskDataPersistenceMgr
46  * Function: LoadAllMissionInfo
47  * SubFunction: NA
48  * FunctionPoints: TaskDataPersistenceMgr LoadAllMissionInfo
49  * EnvConditions: NA
50  * CaseDescription: Verify LoadAllMissionInfo
51  */
52 HWTEST_F(TaskDataPersistenceMgrTest, LoadAllMissionInfo_001, TestSize.Level1)
53 {
54     auto taskDataPersistenceMgr = std::make_shared<TaskDataPersistenceMgr>();
55     std::list<InnerMissionInfo> missionInfoList;
56     bool res = taskDataPersistenceMgr->LoadAllMissionInfo(missionInfoList);
57     EXPECT_FALSE(res);
58 }
59 
60 /*
61  * Feature: TaskDataPersistenceMgr
62  * Function: SaveMissionInfo
63  * SubFunction: NA
64  * FunctionPoints: TaskDataPersistenceMgr SaveMissionInfo
65  * EnvConditions: NA
66  * CaseDescription: Verify SaveMissionInfo
67  */
68 HWTEST_F(TaskDataPersistenceMgrTest, SaveMissionInfo_001, TestSize.Level1)
69 {
70     auto taskDataPersistenceMgr = std::make_shared<TaskDataPersistenceMgr>();
71     InnerMissionInfo missionInfo;
72     bool res = taskDataPersistenceMgr->SaveMissionInfo(missionInfo);
73     EXPECT_FALSE(res);
74 }
75 
76 /*
77  * Feature: TaskDataPersistenceMgr
78  * Function: SaveMissionInfo
79  * SubFunction: NA
80  * FunctionPoints: TaskDataPersistenceMgr SaveMissionInfo
81  * EnvConditions: NA
82  * CaseDescription: Verify SaveMissionInfo
83  */
84 HWTEST_F(TaskDataPersistenceMgrTest, SaveMissionInfo_002, TestSize.Level1)
85 {
86     auto taskDataPersistenceMgr = std::make_shared<TaskDataPersistenceMgr>();
87     int userId = 0;
88     taskDataPersistenceMgr->Init(userId);
89     InnerMissionInfo missionInfo;
90     bool res = taskDataPersistenceMgr->SaveMissionInfo(missionInfo);
91     EXPECT_TRUE(res);
92 }
93 
94 /*
95  * Feature: TaskDataPersistenceMgr
96  * Function: DeleteMissionInfo
97  * SubFunction: NA
98  * FunctionPoints: TaskDataPersistenceMgr DeleteMissionInfo
99  * EnvConditions: NA
100  * CaseDescription: Verify DeleteMissionInfo
101  */
102 HWTEST_F(TaskDataPersistenceMgrTest, DeleteMissionInfo_001, TestSize.Level1)
103 {
104     auto taskDataPersistenceMgr = std::make_shared<TaskDataPersistenceMgr>();
105     int missionId = 0;
106     bool res = taskDataPersistenceMgr->DeleteMissionInfo(missionId);
107     EXPECT_FALSE(res);
108 }
109 
110 /*
111  * Feature: TaskDataPersistenceMgr
112  * Function: DeleteMissionInfo
113  * SubFunction: NA
114  * FunctionPoints: TaskDataPersistenceMgr DeleteMissionInfo
115  * EnvConditions: NA
116  * CaseDescription: Verify DeleteMissionInfo
117  */
118 HWTEST_F(TaskDataPersistenceMgrTest, DeleteMissionInfo_002, TestSize.Level1)
119 {
120     auto taskDataPersistenceMgr = std::make_shared<TaskDataPersistenceMgr>();
121     int userId = 0;
122     taskDataPersistenceMgr->Init(userId);
123     int missionId = 0;
124     bool res = taskDataPersistenceMgr->DeleteMissionInfo(missionId);
125     EXPECT_TRUE(res);
126 }
127 
128 /*
129  * Feature: TaskDataPersistenceMgr
130  * Function: RemoveUserDir
131  * SubFunction: NA
132  * FunctionPoints: TaskDataPersistenceMgr RemoveUserDir
133  * EnvConditions: NA
134  * CaseDescription: Verify RemoveUserDir
135  */
136 HWTEST_F(TaskDataPersistenceMgrTest, RemoveUserDir_001, TestSize.Level1)
137 {
138     auto taskDataPersistenceMgr = std::make_shared<TaskDataPersistenceMgr>();
139     int32_t userId = 10;
140     const std::string TASK_DATA_FILE_BASE_PATH = "/data/service/el1/public/AbilityManagerService";
141     const std::string path = TASK_DATA_FILE_BASE_PATH + "/" + std::to_string(userId);
142     mkdir(path.c_str(), 0777);
143     bool res = taskDataPersistenceMgr->RemoveUserDir(userId);
144     EXPECT_TRUE(res);
145 }
146 
147 /*
148  * Feature: TaskDataPersistenceMgr
149  * Function: RemoveUserDir
150  * SubFunction: NA
151  * FunctionPoints: TaskDataPersistenceMgr RemoveUserDir
152  * EnvConditions: NA
153  * CaseDescription: Verify RemoveUserDir
154  */
155 HWTEST_F(TaskDataPersistenceMgrTest, RemoveUserDir_002, TestSize.Level1)
156 {
157     auto taskDataPersistenceMgr = std::make_shared<TaskDataPersistenceMgr>();
158     int32_t userId = -1;
159     bool res = taskDataPersistenceMgr->RemoveUserDir(userId);
160     EXPECT_FALSE(res);
161 }
162 
163 /*
164  * Feature: TaskDataPersistenceMgr
165  * Function: SaveMissionSnapshot
166  * SubFunction: NA
167  * FunctionPoints: TaskDataPersistenceMgr SaveMissionSnapshot
168  * EnvConditions: NA
169  * CaseDescription: Verify SaveMissionSnapshot
170  */
171 HWTEST_F(TaskDataPersistenceMgrTest, SaveMissionSnapshot_001, TestSize.Level1)
172 {
173     auto taskDataPersistenceMgr = std::make_shared<TaskDataPersistenceMgr>();
174     int missionId = 0;
175     MissionSnapshot snapshot;
176     bool res = taskDataPersistenceMgr->SaveMissionSnapshot(missionId, snapshot);
177     EXPECT_FALSE(res);
178 }
179 
180 /*
181  * Feature: TaskDataPersistenceMgr
182  * Function: SaveMissionSnapshot
183  * SubFunction: NA
184  * FunctionPoints: TaskDataPersistenceMgr SaveMissionSnapshot
185  * EnvConditions: NA
186  * CaseDescription: Verify SaveMissionSnapshot
187  */
188 HWTEST_F(TaskDataPersistenceMgrTest, SaveMissionSnapshot_002, TestSize.Level1)
189 {
190     auto taskDataPersistenceMgr = std::make_shared<TaskDataPersistenceMgr>();
191     int userId = 0;
192     taskDataPersistenceMgr->Init(userId);
193     int missionId = 0;
194     MissionSnapshot snapshot;
195     bool res = taskDataPersistenceMgr->SaveMissionSnapshot(missionId, snapshot);
196     EXPECT_TRUE(res);
197 }
198 
199 /*
200  * Feature: TaskDataPersistenceMgr
201  * Function: GetSnapshot
202  * SubFunction: NA
203  * FunctionPoints: TaskDataPersistenceMgr GetSnapshot
204  * EnvConditions: NA
205  * CaseDescription: Verify GetSnapshot
206  */
207 HWTEST_F(TaskDataPersistenceMgrTest, GetSnapshot_001, TestSize.Level1)
208 {
209     auto taskDataPersistenceMgr = std::make_shared<TaskDataPersistenceMgr>();
210     int missionId = 0;
211     std::shared_ptr<Media::PixelMap> res = taskDataPersistenceMgr->GetSnapshot(missionId);
212     EXPECT_EQ(res, nullptr);
213 }
214 
215 /*
216  * Feature: TaskDataPersistenceMgr
217  * Function: GetSnapshot
218  * SubFunction: NA
219  * FunctionPoints: TaskDataPersistenceMgr GetSnapshot
220  * EnvConditions: NA
221  * CaseDescription: Verify GetSnapshot
222  */
223 HWTEST_F(TaskDataPersistenceMgrTest, GetSnapshot_002, TestSize.Level1)
224 {
225     auto taskDataPersistenceMgr = std::make_shared<TaskDataPersistenceMgr>();
226     int userId = 0;
227     taskDataPersistenceMgr->Init(userId);
228     int missionId = 0;
229     std::shared_ptr<Media::PixelMap> res = taskDataPersistenceMgr->GetSnapshot(missionId);
230     EXPECT_EQ(res, nullptr);
231 }
232 
233 /*
234  * Feature: TaskDataPersistenceMgr
235  * Function: GetMissionSnapshot
236  * SubFunction: NA
237  * FunctionPoints: TaskDataPersistenceMgr GetMissionSnapshot
238  * EnvConditions: NA
239  * CaseDescription: Verify GetMissionSnapshot
240  */
241 HWTEST_F(TaskDataPersistenceMgrTest, GetMissionSnapshot_001, TestSize.Level1)
242 {
243     auto taskDataPersistenceMgr = std::make_shared<TaskDataPersistenceMgr>();
244     int missionId = 0;
245     MissionSnapshot snapshot;
246     bool isLowResolution = true;
247     bool res = taskDataPersistenceMgr->GetMissionSnapshot(missionId, snapshot, isLowResolution);
248     EXPECT_FALSE(res);
249 }
250 
251 /*
252  * Feature: TaskDataPersistenceMgr
253  * Function: GetMissionSnapshot
254  * SubFunction: NA
255  * FunctionPoints: TaskDataPersistenceMgr GetMissionSnapshot
256  * EnvConditions: NA
257  * CaseDescription: Verify GetMissionSnapshot
258  */
259 HWTEST_F(TaskDataPersistenceMgrTest, GetMissionSnapshot_002, TestSize.Level1)
260 {
261     auto taskDataPersistenceMgr = std::make_shared<TaskDataPersistenceMgr>();
262     int userId = 0;
263     taskDataPersistenceMgr->Init(userId);
264     int missionId = 0;
265     MissionSnapshot snapshot;
266     bool isLowResolution = true;
267     bool res = taskDataPersistenceMgr->GetMissionSnapshot(missionId, snapshot, isLowResolution);
268     EXPECT_FALSE(res);
269 }
270 }  // namespace AAFwk
271 }  // namespace OHOS
272