1 /*
2 * Copyright (c) 2021-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 <chrono>
17 #include <thread>
18 #include <gtest/gtest.h>
19
20 #define private public
21 #define protected public
22 #include "data_ability_manager.h"
23 #include "app_scheduler.h"
24 #undef private
25 #undef protected
26
27 #include "ability_scheduler_mock.h"
28 #include "mock_app_mgr_client.h"
29 #include "ability_manager_errors.h"
30
31 using namespace testing::ext;
32 using namespace testing;
33 using namespace std::chrono;
34
35 namespace {
36 const std::string STRING_DATA_ABILITY = "com.example.data_ability";
37 constexpr size_t SIZE_ONE = 1;
38 } // namespace
39
40 namespace OHOS {
41 namespace AAFwk {
42 class DataAbilityManagerTest : public testing::TestWithParam<OHOS::AAFwk::AbilityState> {
43 public:
44 static void SetUpTestCase(void);
45 static void TearDownTestCase(void);
46 void SetUp();
47 void TearDown();
48
49 protected:
50 sptr<AbilitySchedulerMock> abilitySchedulerMock_ {nullptr};
51 AbilityRequest abilityRequest_ {};
52 std::shared_ptr<AbilityRecord> abilityRecordClient_ {nullptr};
53 OHOS::AAFwk::AbilityState abilityState_ {};
54 };
55
SetUpTestCase(void)56 void DataAbilityManagerTest::SetUpTestCase(void)
57 {}
TearDownTestCase(void)58 void DataAbilityManagerTest::TearDownTestCase(void)
59 {}
60
SetUp(void)61 void DataAbilityManagerTest::SetUp(void)
62 {
63 if (abilitySchedulerMock_ == nullptr) {
64 abilitySchedulerMock_ = new AbilitySchedulerMock();
65 }
66
67 abilityRequest_.appInfo.bundleName = "com.test.data_ability";
68 abilityRequest_.appInfo.name = "com.test.data_ability";
69 abilityRequest_.abilityInfo.name = "DataAbilityHiworld";
70 abilityRequest_.abilityInfo.type = AbilityType::DATA;
71 abilityRequest_.abilityInfo.bundleName = "com.test.data_ability";
72 abilityRequest_.abilityInfo.deviceId = "device";
73
74 if (abilityRecordClient_ == nullptr) {
75 OHOS::AppExecFwk::AbilityInfo abilityInfo;
76 abilityInfo.name = "DataAbilityClient";
77 abilityInfo.type = AbilityType::PAGE;
78 abilityInfo.bundleName = "com.test.request";
79 abilityInfo.deviceId = "device";
80 OHOS::AppExecFwk::ApplicationInfo applicationInfo;
81 applicationInfo.bundleName = "com.test.request";
82 applicationInfo.name = "com.test.request";
83 const Want want;
84 abilityRecordClient_ = std::make_shared<AbilityRecord>(want, abilityInfo, applicationInfo);
85 abilityRecordClient_->Init();
86 }
87 abilityState_ = INITIAL;
88 }
89
TearDown(void)90 void DataAbilityManagerTest::TearDown(void)
91 {
92 abilitySchedulerMock_.clear();
93 }
94
95 /**
96 * @tc.name: AaFwk_DataAbilityManager_DumpSysState_0100
97 * @tc.desc: DumpSysState with no args
98 * @tc.type: FUNC
99 * @tc.require: SR000GH1GO
100 */
101 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_0100, TestSize.Level1)
102 {
103 HILOG_INFO("AaFwk_DataAbilityManager_DumpSysState_0100 start");
104
105 AbilityRequest abilityRequest;
106 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
107
108 Want want;
109 OHOS::AppExecFwk::AbilityInfo abilityInfo;
110 OHOS::AppExecFwk::ApplicationInfo applicationInfo;
111 auto abilityRecord = std::make_shared<AbilityRecord>(want, abilityInfo, applicationInfo);
112 dataAbilityRecord->ability_ = abilityRecord;
113
114 auto dataAbilityManager = std::make_unique<DataAbilityManager>();
115 dataAbilityManager->dataAbilityRecordsLoaded_ = {{STRING_DATA_ABILITY, dataAbilityRecord}};
116
117 std::vector<std::string> info;
118 bool isClient = false;
119 std::string args = "";
120 dataAbilityManager->DumpSysState(info, isClient, args);
121 EXPECT_GT(info.size(), SIZE_ONE);
122
123 HILOG_INFO("info.size() = %{public}zu", info.size());
124 for (auto item : info) {
125 HILOG_INFO("item = %{public}s", item.c_str());
126 }
127
128 HILOG_INFO("AaFwk_DataAbilityManager_DumpSysState_0100 end");
129 }
130
131 /**
132 * @tc.name: AaFwk_DataAbilityManager_DumpSysState_0200
133 * @tc.desc: DumpSysState with args
134 * @tc.type: FUNC
135 * @tc.require: SR000GH1GO
136 */
137 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_0200, TestSize.Level1)
138 {
139 HILOG_INFO("AaFwk_DataAbilityManager_DumpSysState_0200 start");
140
141 AbilityRequest abilityRequest;
142 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
143
144 Want want;
145 OHOS::AppExecFwk::AbilityInfo abilityInfo;
146 OHOS::AppExecFwk::ApplicationInfo applicationInfo;
147 auto abilityRecord = std::make_shared<AbilityRecord>(want, abilityInfo, applicationInfo);
148 dataAbilityRecord->ability_ = abilityRecord;
149
150 auto dataAbilityManager = std::make_unique<DataAbilityManager>();
151 dataAbilityManager->dataAbilityRecordsLoaded_ = {{STRING_DATA_ABILITY, dataAbilityRecord}};
152
153 std::vector<std::string> info;
154 bool isClient = false;
155 std::string args = STRING_DATA_ABILITY;
156 dataAbilityManager->DumpSysState(info, isClient, args);
157 EXPECT_GT(info.size(), SIZE_ONE);
158
159 HILOG_INFO("info.size() = %{public}zu", info.size());
160 for (auto item : info) {
161 HILOG_INFO("item = %{public}s", item.c_str());
162 }
163
164 HILOG_INFO("AaFwk_DataAbilityManager_DumpSysState_0200 end");
165 }
166
167 /*
168 * Feature: AbilityManager
169 * Function: DataAbility
170 * SubFunction: Normal Flow
171 * FunctionPoints: DataAbilityManager simple flow.
172 * EnvConditions: Can run ohos test framework
173 * CaseDescription: Verify the DataAbilityManager simple flow.
174 */
175 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Flow_001, TestSize.Level1)
176 {
177 HILOG_INFO("AaFwk_DataAbilityManager_Flow_001 start.");
178
179 std::shared_ptr<DataAbilityManager> dataAbilityManager = std::make_shared<DataAbilityManager>();
180 std::unique_ptr<MockAppMgrClient> mockAppMgrClient = std::make_unique<MockAppMgrClient>();
181
182 // mock AppScheduler
183 DelayedSingleton<AppScheduler>::GetInstance()->appMgrClient_ = std::move(mockAppMgrClient);
184
__anona5ebdc2b0202() 185 auto func = [this, &dataAbilityManager]() {
186 usleep(200 * 1000); // 200 ms
187 sptr<IRemoteObject> tokenAsyn =
188 (reinterpret_cast<MockAppMgrClient *>(DelayedSingleton<AppScheduler>::GetInstance()->appMgrClient_.get()))
189 ->GetToken();
190 dataAbilityManager->AttachAbilityThread(abilitySchedulerMock_, tokenAsyn);
191 dataAbilityManager->AbilityTransitionDone(tokenAsyn, ACTIVE);
192 };
193
194 std::thread(func).detach();
195 EXPECT_CALL(*abilitySchedulerMock_, ScheduleAbilityTransaction(_, _)).Times(1);
196 EXPECT_NE(dataAbilityManager->Acquire(abilityRequest_, true, abilityRecordClient_->GetToken(), false), nullptr);
197
198 sptr<IRemoteObject> token =
199 (reinterpret_cast<MockAppMgrClient *>(DelayedSingleton<AppScheduler>::GetInstance()->appMgrClient_.get()))
200 ->GetToken();
201 std::shared_ptr<AbilityRecord> abilityRecord = Token::GetAbilityRecordByToken(token);
202 EXPECT_TRUE(abilityRecord);
203
204 // existing ability record
205 EXPECT_NE(dataAbilityManager->GetAbilityRecordByToken(token), nullptr);
206 EXPECT_NE(dataAbilityManager->GetAbilityRecordByScheduler(abilitySchedulerMock_), nullptr);
207 EXPECT_NE(dataAbilityManager->GetAbilityRecordById(abilityRecord->GetRecordId()), nullptr);
208
209 // ability died, clear data ability record
210 dataAbilityManager->OnAbilityDied(abilityRecord);
211
212 // ability has released
213 EXPECT_EQ(dataAbilityManager->GetAbilityRecordByToken(token), nullptr);
214 EXPECT_EQ(dataAbilityManager->GetAbilityRecordByScheduler(abilitySchedulerMock_), nullptr);
215 EXPECT_EQ(dataAbilityManager->GetAbilityRecordById(abilityRecord->GetRecordId()), nullptr);
216
217 HILOG_INFO("AaFwk_DataAbilityManager_Flow_001 end.");
218 }
219
220 /*
221 * Feature: AbilityManager
222 * Function: DataAbility
223 * SubFunction: Acquire
224 * FunctionPoints: The parameter of function Acquire.
225 * EnvConditions: Can run ohos test framework
226 * CaseDescription: Verify function Acquire parameter is nullptr.
227 */
228 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Acquire_001, TestSize.Level1)
229 {
230 HILOG_INFO("AaFwk_DataAbilityManager_Acquire_001 start.");
231
232 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
233
234 EXPECT_EQ(dataAbilityManager->Acquire(abilityRequest_, true, nullptr, false), nullptr);
235
236 HILOG_INFO("AaFwk_DataAbilityManager_Acquire_001 end.");
237 }
238
239 /*
240 * Feature: AbilityManager
241 * Function: DataAbility
242 * SubFunction: Acquire
243 * FunctionPoints: The parameter of function Acquire.
244 * EnvConditions: Can run ohos test framework
245 * CaseDescription: Verify function Acquire parameter ability type is not data
246 */
247 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Acquire_002, TestSize.Level1)
248 {
249 HILOG_INFO("AaFwk_DataAbilityManager_Acquire_002 start.");
250
251 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
252
253 // page ability type
254 abilityRequest_.abilityInfo.type = AbilityType::PAGE;
255 EXPECT_EQ(dataAbilityManager->Acquire(abilityRequest_, true, abilityRecordClient_->GetToken(), false), nullptr);
256
257 HILOG_INFO("AaFwk_DataAbilityManager_Acquire_002 end.");
258 }
259
260 /*
261 * Feature: AbilityManager
262 * Function: DataAbility
263 * SubFunction: Acquire
264 * FunctionPoints: The parameter of function Acquire.
265 * EnvConditions: Can run ohos test framework
266 * CaseDescription: Verify function Acquire parameter appinfo bundlename empty
267 */
268 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Acquire_003, TestSize.Level1)
269 {
270 HILOG_INFO("AaFwk_DataAbilityManager_Acquire_003 start.");
271
272 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
273
274 // appinfo bundle name empty
275 abilityRequest_.appInfo.bundleName = "";
276 EXPECT_EQ(dataAbilityManager->Acquire(abilityRequest_, true, abilityRecordClient_->GetToken(), false), nullptr);
277
278 HILOG_INFO("AaFwk_DataAbilityManager_Acquire_003 end.");
279 }
280
281 /*
282 * Feature: AbilityManager
283 * Function: DataAbility
284 * SubFunction: Acquire
285 * FunctionPoints: The parameter of function Acquire.
286 * EnvConditions: Can run ohos test framework
287 * CaseDescription: Verify function Acquire parameter ability name empty
288 */
289 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Acquire_004, TestSize.Level1)
290 {
291 HILOG_INFO("AaFwk_DataAbilityManager_Acquire_004 start.");
292
293 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
294
295 // ability name empty
296 abilityRequest_.abilityInfo.name = "";
297 EXPECT_EQ(dataAbilityManager->Acquire(abilityRequest_, true, abilityRecordClient_->GetToken(), false), nullptr);
298
299 HILOG_INFO("AaFwk_DataAbilityManager_Acquire_004 end.");
300 }
301
302 /*
303 * Feature: AbilityManager
304 * Function: DataAbility
305 * SubFunction: Acquire
306 * FunctionPoints: The parameter of function Acquire.
307 * EnvConditions: Can run ohos test framework
308 * CaseDescription: Verify function Acquire parameter same bundle name and ability name
309 */
310 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Acquire_005, TestSize.Level1)
311 {
312 HILOG_INFO("AaFwk_DataAbilityManager_Acquire_005 start.");
313
314 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
315
316 // same bundle name and ability name
317 OHOS::AppExecFwk::AbilityInfo abilityInfo;
318 abilityInfo.name = abilityRequest_.abilityInfo.name;
319 abilityInfo.type = AbilityType::PAGE;
320 OHOS::AppExecFwk::ApplicationInfo applicationInfo;
321 applicationInfo.bundleName = abilityRequest_.appInfo.bundleName;
322 applicationInfo.name = abilityRequest_.appInfo.name;
323 const Want want;
324 std::shared_ptr abilityRecordClient = std::make_shared<AbilityRecord>(want, abilityInfo, applicationInfo);
325 abilityRecordClient->Init();
326
327 EXPECT_EQ(dataAbilityManager->Acquire(abilityRequest_, true, abilityRecordClient->GetToken(), false), nullptr);
328
329 HILOG_INFO("AaFwk_DataAbilityManager_Acquire_005 end.");
330 }
331
332 /*
333 * Feature: AbilityManager
334 * Function: DataAbility
335 * SubFunction: Acquire
336 * FunctionPoints: The parameter of function Acquire.
337 * EnvConditions: Can run ohos test framework
338 * CaseDescription: Verify function Acquire waitforloaded timeout.
339 */
340 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Acquire_006, TestSize.Level1)
341 {
342 HILOG_INFO("AaFwk_DataAbilityManager_Acquire_006 start.");
343
344 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
345
346 EXPECT_EQ(dataAbilityManager->Acquire(abilityRequest_, true, abilityRecordClient_->GetToken(), false), nullptr);
347
348 HILOG_INFO("AaFwk_DataAbilityManager_Acquire_006 end.");
349 }
350
351 /*
352 * Feature: AbilityManager
353 * Function: DataAbility
354 * SubFunction: Acquire
355 * FunctionPoints: The parameter of function Acquire.
356 * EnvConditions: Can run ohos test framework
357 * CaseDescription: Verify function Acquire waitforloaded timeout.
358 */
359 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Acquire_007, TestSize.Level1)
360 {
361 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
362 AbilityRequest abilityRequest;
363 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
364 abilityRequest.abilityInfo.bundleName = "";
365 auto res = dataAbilityManager->Acquire(abilityRequest, true, abilityRecordClient_->GetToken(), false);
366 EXPECT_EQ(res, nullptr);
367 }
368
369 /*
370 * Feature: AbilityManager
371 * Function: DataAbility
372 * SubFunction: Acquire
373 * FunctionPoints: The parameter of function Acquire.
374 * EnvConditions: Can run ohos test framework
375 * CaseDescription: Verify function Acquire waitforloaded timeout.
376 */
377 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Acquire_008, TestSize.Level1)
378 {
379 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
380 AbilityRequest abilityRequest;
381 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
382 abilityRequest.abilityInfo.bundleName = "bundleName";
383 abilityRequest.abilityInfo.name = "name";
384 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
385 dataAbilityRecord->ability_ = abilityRecordClient_;
386 dataAbilityManager->dataAbilityRecordsLoaded_["bundleName.name"] = dataAbilityRecord;
387 dataAbilityRecord->scheduler_ = nullptr;
388 auto res = dataAbilityManager->Acquire(abilityRequest, true, dataAbilityRecord->GetToken(), true);
389 EXPECT_EQ(res, nullptr);
390 }
391
392 /*
393 * Feature: AbilityManager
394 * Function: DataAbility
395 * SubFunction: Acquire
396 * FunctionPoints: The parameter of function Acquire.
397 * EnvConditions: Can run ohos test framework
398 * CaseDescription: Verify function Acquire waitforloaded timeout.
399 */
400 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Acquire_009, TestSize.Level1)
401 {
402 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
403 AbilityRequest abilityRequest;
404 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
405 abilityRequest.abilityInfo.bundleName = "bundleName";
406 abilityRequest.abilityInfo.name = "name";
407 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
408 dataAbilityRecord->ability_ = abilityRecordClient_;
409 auto res = dataAbilityManager->Acquire(abilityRequest, true, dataAbilityRecord->GetToken(), true);
410 EXPECT_EQ(res, nullptr);
411 }
412
413 /*
414 * Feature: AbilityManager
415 * Function: DataAbility
416 * SubFunction: Release
417 * FunctionPoints: The parameter of function Release.
418 * EnvConditions: Can run ohos test framework
419 * CaseDescription: Verify function Release client is nullptr
420 */
421 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Release_001, TestSize.Level1)
422 {
423 HILOG_INFO("AaFwk_DataAbilityManager_Release_001 start.");
424
425 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
426
427 EXPECT_EQ(dataAbilityManager->Release(abilitySchedulerMock_, nullptr, false), ERR_NULL_OBJECT);
428
429 HILOG_INFO("AaFwk_DataAbilityManager_Release_001 end.");
430 }
431
432 /*
433 * Feature: AbilityManager
434 * Function: DataAbility
435 * SubFunction: Release
436 * FunctionPoints: The parameter of function Release.
437 * EnvConditions: Can run ohos test framework
438 * CaseDescription: Verify function Release scheduler is nullptr
439 */
440 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Release_002, TestSize.Level1)
441 {
442 HILOG_INFO("AaFwk_DataAbilityManager_Release_002 start.");
443
444 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
445
446 EXPECT_EQ(dataAbilityManager->Release(nullptr, abilityRecordClient_->GetToken(), false), ERR_NULL_OBJECT);
447
448 HILOG_INFO("AaFwk_DataAbilityManager_Release_002 end.");
449 }
450
451 /*
452 * Feature: AbilityManager
453 * Function: DataAbility
454 * SubFunction: Release
455 * FunctionPoints: The parameter of function Release.
456 * EnvConditions: Can run ohos test framework
457 * CaseDescription: Verify function Release ability record invalid
458 */
459 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Release_003, TestSize.Level1)
460 {
461 HILOG_INFO("AaFwk_DataAbilityManager_Release_003 start.");
462
463 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
464
465 EXPECT_EQ(dataAbilityManager->Release(abilitySchedulerMock_, abilityRecordClient_->GetToken(), false),
466 ERR_UNKNOWN_OBJECT);
467
468 HILOG_INFO("AaFwk_DataAbilityManager_Release_003 end.");
469 }
470
471 /*
472 * Feature: AbilityManager
473 * Function: DataAbility
474 * SubFunction: Release
475 * FunctionPoints: The parameter of function Release.
476 * EnvConditions: Can run ohos test framework
477 * CaseDescription: Verify Release
478 */
479 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Release_004, TestSize.Level1)
480 {
481 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
482 AbilityRequest abilityRequest;
483 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
484 abilityRequest.abilityInfo.bundleName = "bundleName";
485 abilityRequest.abilityInfo.name = "name";
486 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
487 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
488 abilityRecord->abilityInfo_.visible = false;
489 abilityRecord->SetAbilityState(ACTIVE);
490 dataAbilityRecord->ability_ = abilityRecord;
491 dataAbilityRecord->scheduler_ = abilitySchedulerMock_;
492 dataAbilityManager->dataAbilityRecordsLoaded_["bundleName.name"] = dataAbilityRecord;
493 int res = dataAbilityManager->Release(abilitySchedulerMock_, dataAbilityRecord->GetToken(), false);
494 EXPECT_EQ(res, ABILITY_VISIBLE_FALSE_DENY_REQUEST);
495 }
496
497 /*
498 * Feature: AbilityManager
499 * Function: DataAbility
500 * SubFunction: Release
501 * FunctionPoints: The parameter of function Release.
502 * EnvConditions: Can run ohos test framework
503 * CaseDescription: Verify Release
504 */
505 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Release_005, TestSize.Level1)
506 {
507 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
508 AbilityRequest abilityRequest;
509 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
510 abilityRequest.abilityInfo.bundleName = "bundleName";
511 abilityRequest.abilityInfo.name = "name";
512 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
513 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
514 abilityRecord->abilityInfo_.visible = true;
515 abilityRecord->SetAbilityState(ACTIVE);
516 dataAbilityRecord->ability_ = abilityRecord;
517 dataAbilityRecord->scheduler_ = abilitySchedulerMock_;
518 dataAbilityManager->dataAbilityRecordsLoaded_["bundleName.name"] = dataAbilityRecord;
519 int res = dataAbilityManager->Release(abilitySchedulerMock_, dataAbilityRecord->GetToken(), false);
520 EXPECT_EQ(res, ERR_UNKNOWN_OBJECT);
521 }
522
523 /*
524 * Feature: AbilityManager
525 * Function: DataAbility
526 * SubFunction: Release
527 * FunctionPoints: The parameter of function Release.
528 * EnvConditions: Can run ohos test framework
529 * CaseDescription: Verify Release
530 */
531 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Release_006, TestSize.Level1)
532 {
533 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
534 AbilityRequest abilityRequest;
535 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
536 abilityRequest.abilityInfo.bundleName = "bundleName";
537 abilityRequest.abilityInfo.name = "name";
538 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
539 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
540 abilityRecord->abilityInfo_.visible = true;
541 abilityRecord->SetAbilityState(ACTIVE);
542 dataAbilityRecord->ability_ = abilityRecord;
543 dataAbilityRecord->scheduler_ = abilitySchedulerMock_;
544 dataAbilityManager->dataAbilityRecordsLoaded_["bundleName.name"] = dataAbilityRecord;
545 DataAbilityRecord::ClientInfo ci;
546 ci.client = dataAbilityRecord->GetToken();
547 dataAbilityRecord->clients_.push_back(ci);
548 int res = dataAbilityManager->Release(abilitySchedulerMock_, dataAbilityRecord->GetToken(), false);
549 EXPECT_EQ(res, ERR_OK);
550 }
551
552 /*
553 * Feature: AbilityManager
554 * Function: DataAbility
555 * SubFunction: Release
556 * FunctionPoints: The parameter of function Release.
557 * EnvConditions: Can run ohos test framework
558 * CaseDescription: Verify Release
559 */
560 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Release_007, TestSize.Level1)
561 {
562 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
563 AbilityRequest abilityRequest;
564 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
565 abilityRequest.abilityInfo.bundleName = "bundleName";
566 abilityRequest.abilityInfo.name = "name";
567 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
568 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
569 dataAbilityRecord->ability_ = abilityRecord;
570 dataAbilityRecord->scheduler_ = new AbilitySchedulerMock();
571 dataAbilityManager->dataAbilityRecordsLoaded_["bundleName.name"] = dataAbilityRecord;
572 int res = dataAbilityManager->Release(abilitySchedulerMock_, dataAbilityRecord->GetToken(), false);
573 EXPECT_EQ(res, ERR_UNKNOWN_OBJECT);
574 }
575
576 /*
577 * Feature: AbilityManager
578 * Function: DataAbility
579 * SubFunction: Release
580 * FunctionPoints: The parameter of function Release.
581 * EnvConditions: Can run ohos test framework
582 * CaseDescription: Verify Release
583 */
584 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Release_008, TestSize.Level1)
585 {
586 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
587 AbilityRequest abilityRequest;
588 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
589 abilityRequest.abilityInfo.bundleName = "bundleName";
590 abilityRequest.abilityInfo.name = "name";
591 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
592 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
593 dataAbilityRecord->ability_ = abilityRecord;
594 dataAbilityRecord->scheduler_ = nullptr;
595 dataAbilityManager->dataAbilityRecordsLoaded_["bundleName.name"] = dataAbilityRecord;
596 int res = dataAbilityManager->Release(abilitySchedulerMock_, dataAbilityRecord->GetToken(), false);
597 EXPECT_EQ(res, ERR_UNKNOWN_OBJECT);
598 }
599
600 /*
601 * Feature: AbilityManager
602 * Function: DataAbility
603 * SubFunction: Release
604 * FunctionPoints: The parameter of function Release.
605 * EnvConditions: Can run ohos test framework
606 * CaseDescription: Verify Release
607 */
608 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_Release_009, TestSize.Level1)
609 {
610 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
611 AbilityRequest abilityRequest;
612 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
613 abilityRequest.abilityInfo.bundleName = "bundleName";
614 abilityRequest.abilityInfo.name = "name";
615 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
616 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
617 dataAbilityRecord->ability_ = abilityRecord;
618 dataAbilityManager->dataAbilityRecordsLoaded_["bundleName.name"] = nullptr;
619 int res = dataAbilityManager->Release(abilitySchedulerMock_, dataAbilityRecord->GetToken(), false);
620 EXPECT_EQ(res, ERR_UNKNOWN_OBJECT);
621 }
622
623 /*
624 * Feature: AbilityManager
625 * Function: DataAbility
626 * SubFunction: ContainsDataAbility
627 * FunctionPoints: The parameter of function ContainsDataAbility.
628 * EnvConditions: Can run ohos test framework
629 * CaseDescription: Verify ContainsDataAbility
630 */
631 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_ContainsDataAbility_001, TestSize.Level1)
632 {
633 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
634 AbilityRequest abilityRequest;
635 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
636 abilityRequest.abilityInfo.bundleName = "bundleName";
637 abilityRequest.abilityInfo.name = "name";
638 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
639 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
640 dataAbilityRecord->ability_ = abilityRecord;
641 dataAbilityRecord->scheduler_ = abilitySchedulerMock_;
642 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = dataAbilityRecord;
643 dataAbilityRecord->scheduler_ = new AbilitySchedulerMock();
644 dataAbilityManager->dataAbilityRecordsLoaded_["b"] = dataAbilityRecord;
645 dataAbilityRecord->scheduler_ = nullptr;
646 dataAbilityManager->dataAbilityRecordsLoaded_["c"] = dataAbilityRecord;
647 dataAbilityManager->dataAbilityRecordsLoaded_["d"] = nullptr;
648 int res = dataAbilityManager->ContainsDataAbility(abilitySchedulerMock_);
649 EXPECT_EQ(res, ERR_OK);
650 }
651
652 /*
653 * Feature: AbilityManager
654 * Function: DataAbility
655 * SubFunction: AttachAbilityThread
656 * FunctionPoints: The parameter of function AttachAbilityThread.
657 * EnvConditions: Can run ohos test framework
658 * CaseDescription: Verify function AttachAbilityThread client is nullptr
659 */
660 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_AttachAbilityThread_001, TestSize.Level1)
661 {
662 HILOG_INFO("AaFwk_DataAbilityManager_AttachAbilityThread_001 start.");
663
664 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
665
666 EXPECT_EQ(dataAbilityManager->AttachAbilityThread(abilitySchedulerMock_, nullptr), ERR_NULL_OBJECT);
667
668 HILOG_INFO("AaFwk_DataAbilityManager_AttachAbilityThread_001 end.");
669 }
670
671 /*
672 * Feature: AbilityManager
673 * Function: DataAbility
674 * SubFunction: AttachAbilityThread
675 * FunctionPoints: The parameter of function AttachAbilityThread.
676 * EnvConditions: Can run ohos test framework
677 * CaseDescription: Verify function AttachAbilityThread scheduler is nullptr
678 */
679 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_AttachAbilityThread_002, TestSize.Level1)
680 {
681 HILOG_INFO("AaFwk_DataAbilityManager_AttachAbilityThread_002 start.");
682
683 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
684
685 EXPECT_EQ(dataAbilityManager->AttachAbilityThread(nullptr, abilityRecordClient_->GetToken()), ERR_NULL_OBJECT);
686
687 HILOG_INFO("AaFwk_DataAbilityManager_AttachAbilityThread_002 end.");
688 }
689
690 /*
691 * Feature: AbilityManager
692 * Function: DataAbility
693 * SubFunction: AttachAbilityThread
694 * FunctionPoints: The parameter of function AttachAbilityThread.
695 * EnvConditions: Can run ohos test framework
696 * CaseDescription: Verify function AttachAbilityThread ability record invalid
697 */
698 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_AttachAbilityThread_003, TestSize.Level1)
699 {
700 HILOG_INFO("AaFwk_DataAbilityManager_AttachAbilityThread_003 start.");
701
702 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
703
704 EXPECT_EQ(dataAbilityManager->AttachAbilityThread(abilitySchedulerMock_, abilityRecordClient_->GetToken()),
705 ERR_UNKNOWN_OBJECT);
706
707 HILOG_INFO("AaFwk_DataAbilityManager_AttachAbilityThread_003 end.");
708 }
709
710 /*
711 * Feature: AbilityManager
712 * Function: DataAbility
713 * SubFunction: AbilityTransitionDone
714 * FunctionPoints: The parameter of function AbilityTransitionDone.
715 * EnvConditions: Can run ohos test framework
716 * CaseDescription: Verify function AbilityTransitionDone token is nullptr
717 */
718 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_AbilityTransitionDone_001, TestSize.Level1)
719 {
720 HILOG_INFO("AaFwk_DataAbilityManager_AbilityTransitionDone_001 start.");
721
722 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
723 EXPECT_EQ(dataAbilityManager->AbilityTransitionDone(nullptr, INACTIVE), ERR_NULL_OBJECT);
724
725 HILOG_INFO("AaFwk_DataAbilityManager_AbilityTransitionDone_001 end.");
726 }
727
728 /*
729 * Feature: AbilityManager
730 * Function: DataAbility
731 * SubFunction: AbilityTransitionDone
732 * FunctionPoints: The parameter of function AbilityTransitionDone.
733 * EnvConditions: Can run ohos test framework
734 * CaseDescription: Verify function AbilityTransitionDone ability record invalid
735 */
736 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_AbilityTransitionDone_002, TestSize.Level1)
737 {
738 HILOG_INFO("AaFwk_DataAbilityManager_AbilityTransitionDone_002 start.");
739
740 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
741
742 EXPECT_EQ(
743 dataAbilityManager->AbilityTransitionDone(abilityRecordClient_->GetToken(), INACTIVE), ERR_UNKNOWN_OBJECT);
744
745 HILOG_INFO("AaFwk_DataAbilityManager_AbilityTransitionDone_002 end.");
746 }
747
748 /*
749 * Feature: AbilityManager
750 * Function: DataAbility
751 * SubFunction: OnAbilityDied
752 * FunctionPoints: The parameter of function OnAbilityDied.
753 * EnvConditions: Can run ohos test framework
754 * CaseDescription: Verify OnAbilityDied
755 */
756 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_OnAbilityDied_001, TestSize.Level1)
757 {
758 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
759 AbilityRequest abilityRequest;
760 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
761 abilityRequest.abilityInfo.bundleName = "bundleName";
762 abilityRequest.abilityInfo.name = "name";
763 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
764 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
765 dataAbilityRecord->ability_ = nullptr;
766 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = dataAbilityRecord;
767 dataAbilityManager->OnAbilityDied(abilityRecord);
768 }
769
770 /*
771 * Feature: AbilityManager
772 * Function: DataAbility
773 * SubFunction: OnAbilityDied
774 * FunctionPoints: The parameter of function OnAbilityDied.
775 * EnvConditions: Can run ohos test framework
776 * CaseDescription: Verify OnAbilityDied
777 */
778 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_OnAbilityDied_002, TestSize.Level1)
779 {
780 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
781 AbilityRequest abilityRequest;
782 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
783 abilityRequest.abilityInfo.bundleName = "bundleName";
784 abilityRequest.abilityInfo.name = "name";
785 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
786 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
787 dataAbilityRecord->ability_ = nullptr;
788 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = nullptr;
789 dataAbilityManager->OnAbilityDied(abilityRecord);
790 }
791
792 /*
793 * Feature: AbilityManager
794 * Function: DataAbility
795 * SubFunction: OnAbilityDied
796 * FunctionPoints: The parameter of function OnAbilityDied.
797 * EnvConditions: Can run ohos test framework
798 * CaseDescription: Verify OnAbilityDied
799 */
800 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_OnAbilityDied_003, TestSize.Level1)
801 {
802 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
803 AbilityRequest abilityRequest;
804 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::PAGE;
805 abilityRequest.abilityInfo.bundleName = "bundleName";
806 abilityRequest.abilityInfo.name = "name";
807 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
808 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
809 dataAbilityRecord->ability_ = nullptr;
810 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = nullptr;
811 dataAbilityManager->OnAbilityDied(abilityRecord);
812 }
813
814 /*
815 * Feature: AbilityManager
816 * Function: DataAbility
817 * SubFunction: OnAppStateChanged
818 * FunctionPoints: The parameter of function OnAppStateChanged.
819 * EnvConditions: Can run ohos test framework
820 * CaseDescription: Verify OnAppStateChanged
821 */
822 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_OnAppStateChanged_001, TestSize.Level1)
823 {
824 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
825 AppInfo info;
826 std::string processName = "processName";
827 std::string appName = "appName";
828 int32_t uid = 0;
829 AppData data;
830 data.appName = appName;
831 data.uid = uid;
832 info.processName = processName;
833 info.appData.push_back(data);
834 AbilityRequest abilityRequest;
835 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::PAGE;
836 abilityRequest.abilityInfo.bundleName = "bundleName";
837 abilityRequest.abilityInfo.name = "name";
838 auto dataAbilityRecord1 = std::make_shared<DataAbilityRecord>(abilityRequest);
839 std::shared_ptr<AbilityRecord> abilityRecord1 = AbilityRecord::CreateAbilityRecord(abilityRequest);
840 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = nullptr;
841 dataAbilityManager->dataAbilityRecordsLoading_["a"] = nullptr;
842 abilityRecord1->abilityInfo_.process = processName;
843 abilityRecord1->applicationInfo_.bundleName = "";
844 abilityRecord1->applicationInfo_.name = appName;
845 abilityRecord1->abilityInfo_.applicationInfo.uid = uid;
846 dataAbilityRecord1->ability_ = abilityRecord1;
847 dataAbilityManager->dataAbilityRecordsLoaded_["b"] = dataAbilityRecord1;
848 dataAbilityManager->dataAbilityRecordsLoading_["b"] = dataAbilityRecord1;
849 auto dataAbilityRecord2 = std::make_shared<DataAbilityRecord>(abilityRequest);
850 std::shared_ptr<AbilityRecord> abilityRecord2 = AbilityRecord::CreateAbilityRecord(abilityRequest);
851 abilityRecord2->abilityInfo_.process = "";
852 abilityRecord2->applicationInfo_.bundleName = processName;
853 abilityRecord2->applicationInfo_.name = "";
854 abilityRecord2->abilityInfo_.applicationInfo.uid = 0;
855 dataAbilityRecord2->ability_ = abilityRecord2;
856 dataAbilityManager->dataAbilityRecordsLoaded_["c"] = dataAbilityRecord2;
857 dataAbilityManager->dataAbilityRecordsLoading_["c"] = dataAbilityRecord2;
858 auto dataAbilityRecord3 = std::make_shared<DataAbilityRecord>(abilityRequest);
859 std::shared_ptr<AbilityRecord> abilityRecord3 = AbilityRecord::CreateAbilityRecord(abilityRequest);
860 abilityRecord3->abilityInfo_.process = "";
861 abilityRecord3->applicationInfo_.bundleName = "";
862 dataAbilityRecord3->ability_ = abilityRecord3;
863 dataAbilityManager->dataAbilityRecordsLoaded_["d"] = dataAbilityRecord3;
864 dataAbilityManager->dataAbilityRecordsLoading_["d"] = dataAbilityRecord3;
865 auto dataAbilityRecord4 = std::make_shared<DataAbilityRecord>(abilityRequest);
866 dataAbilityRecord4->ability_ = nullptr;
867 dataAbilityManager->dataAbilityRecordsLoaded_["e"] = dataAbilityRecord4;
868 dataAbilityManager->dataAbilityRecordsLoading_["e"] = dataAbilityRecord4;
869 dataAbilityManager->OnAppStateChanged(info);
870 }
871
872 /*
873 * Feature: AbilityManager
874 * Function: DataAbility
875 * SubFunction: GetAbilityRecordById
876 * FunctionPoints: The parameter of function GetAbilityRecordById.
877 * EnvConditions: Can run ohos test framework
878 * CaseDescription: Verify function GetAbilityRecordById
879 */
880 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_GetAbilityRecordById_002, TestSize.Level1)
881 {
882 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
883 int64_t id = 0;
884 AbilityRequest abilityRequest;
885 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::PAGE;
886 abilityRequest.abilityInfo.bundleName = "bundleName";
887 abilityRequest.abilityInfo.name = "name";
888 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
889 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
890 abilityRecord->recordId_ = 1;
891 dataAbilityRecord->ability_ = abilityRecord;
892 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = nullptr;
893 dataAbilityManager->dataAbilityRecordsLoaded_["b"] = dataAbilityRecord;
894 auto res = dataAbilityManager->GetAbilityRecordById(id);
895 EXPECT_EQ(res, nullptr);
896 }
897
898 /*
899 * Feature: AbilityManager
900 * Function: DataAbility
901 * SubFunction: GetAbilityRecordByToken
902 * FunctionPoints: The parameter of function GetAbilityRecordByToken.
903 * EnvConditions: Can run ohos test framework
904 * CaseDescription: Verify function GetAbilityRecordByToken token is nullptr.
905 */
906 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_GetAbilityRecordByToken_001, TestSize.Level1)
907 {
908 HILOG_INFO("AaFwk_DataAbilityManager_GetAbilityRecordByToken_001 start.");
909
910 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
911 EXPECT_EQ(dataAbilityManager->GetAbilityRecordByToken(nullptr), nullptr);
912
913 HILOG_INFO("AaFwk_DataAbilityManager_GetAbilityRecordByToken_001 end.");
914 }
915
916 /*
917 * Feature: AbilityManager
918 * Function: DataAbility
919 * SubFunction: GetAbilityRecordByToken
920 * FunctionPoints: The parameter of function GetAbilityRecordByToken.
921 * EnvConditions: Can run ohos test framework
922 * CaseDescription: Verify function GetAbilityRecordByToken token is nullptr.
923 */
924 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_GetAbilityRecordByToken_002, TestSize.Level1)
925 {
926 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
927 AbilityRequest abilityRequest;
928 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::PAGE;
929 abilityRequest.abilityInfo.bundleName = "bundleName";
930 abilityRequest.abilityInfo.name = "name";
931 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
932 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
933 dataAbilityRecord->ability_ = abilityRecord;
934 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = nullptr;
935 dataAbilityManager->dataAbilityRecordsLoading_["a"] = nullptr;
936 dataAbilityManager->dataAbilityRecordsLoading_["b"] = dataAbilityRecord;
937 auto res = dataAbilityManager->GetAbilityRecordByToken(dataAbilityRecord->GetToken());
938 EXPECT_NE(res, nullptr);
939 }
940
941 /*
942 * Feature: AbilityManager
943 * Function: DataAbility
944 * SubFunction: GetAbilityRecordByScheduler
945 * FunctionPoints: The parameter of function GetAbilityRecordByScheduler.
946 * EnvConditions: Can run ohos test framework
947 * CaseDescription: Verify function GetAbilityRecordByScheduler token is nullptr.
948 */
949 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_GetAbilityRecordByScheduler_001, TestSize.Level1)
950 {
951 HILOG_INFO("AaFwk_DataAbilityManager_GetAbilityRecordByScheduler_001 start.");
952
953 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
954 EXPECT_EQ(dataAbilityManager->GetAbilityRecordByScheduler(nullptr), nullptr);
955
956 HILOG_INFO("AaFwk_DataAbilityManager_GetAbilityRecordByScheduler_001 end.");
957 }
958
959 /*
960 * Feature: AbilityManager
961 * Function: DataAbility
962 * SubFunction: GetAbilityRecordByScheduler
963 * FunctionPoints: The parameter of function GetAbilityRecordByScheduler.
964 * EnvConditions: Can run ohos test framework
965 * CaseDescription: Verify function GetAbilityRecordByScheduler
966 */
967 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_GetAbilityRecordByScheduler_002, TestSize.Level1)
968 {
969 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
970 AbilityRequest abilityRequest;
971 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::PAGE;
972 abilityRequest.abilityInfo.bundleName = "bundleName";
973 abilityRequest.abilityInfo.name = "name";
974 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
975 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
976 dataAbilityRecord->ability_ = abilityRecord;
977 dataAbilityRecord->scheduler_ = new AbilitySchedulerMock();
978 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = dataAbilityRecord;
979 dataAbilityRecord->scheduler_ = nullptr;
980 dataAbilityManager->dataAbilityRecordsLoaded_["b"] = dataAbilityRecord;
981 dataAbilityManager->dataAbilityRecordsLoaded_["c"] = nullptr;
982 auto res = dataAbilityManager->GetAbilityRecordByScheduler(abilitySchedulerMock_);
983 EXPECT_EQ(res, nullptr);
984 }
985
986 /*
987 * Feature: AbilityManager
988 * Function: DataAbility
989 * SubFunction: GetAbilityRecordById
990 * FunctionPoints: The parameter of function GetAbilityRecordById.
991 * EnvConditions: Can run ohos test framework
992 * CaseDescription: Verify function GetAbilityRecordById id is -1.
993 */
994 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_GetAbilityRecordById_001, TestSize.Level1)
995 {
996 HILOG_INFO("AaFwk_DataAbilityManager_GetAbilityRecordById_001 start.");
997
998 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
999 EXPECT_EQ(dataAbilityManager->GetAbilityRecordById(-1), nullptr);
1000
1001 HILOG_INFO("AaFwk_DataAbilityManager_GetAbilityRecordById_001 end.");
1002 }
1003
1004 /*
1005 * Feature: AbilityManager
1006 * Function: DataAbility
1007 * SubFunction: LoadLocked
1008 * FunctionPoints: The parameter of function LoadLocked.
1009 * EnvConditions: Can run ohos test framework
1010 * CaseDescription: Verify function LoadLocked
1011 */
1012 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_LoadLocked_001, TestSize.Level1)
1013 {
1014 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1015 std::string name = "name";
1016 AbilityRequest abilityRequest;
1017 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::PAGE;
1018 abilityRequest.abilityInfo.bundleName = "bundleName";
1019 abilityRequest.abilityInfo.name = "name";
1020 dataAbilityManager->dataAbilityRecordsLoading_.clear();
1021 auto res = dataAbilityManager->LoadLocked(name, abilityRequest);
1022 EXPECT_EQ(res, nullptr);
1023 }
1024
1025 /*
1026 * Feature: AbilityManager
1027 * Function: DataAbility
1028 * SubFunction: LoadLocked
1029 * FunctionPoints: The parameter of function LoadLocked.
1030 * EnvConditions: Can run ohos test framework
1031 * CaseDescription: Verify function LoadLocked
1032 */
1033 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_LoadLocked_002, TestSize.Level1)
1034 {
1035 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1036 std::string name = "name";
1037 AbilityRequest abilityRequest;
1038 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1039 abilityRequest.abilityInfo.bundleName = "bundleName";
1040 abilityRequest.abilityInfo.name = "name";
1041 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1042 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1043 dataAbilityRecord->ability_ = abilityRecord;
1044 dataAbilityManager->dataAbilityRecordsLoading_[name] = dataAbilityRecord;
1045 auto res = dataAbilityManager->LoadLocked(name, abilityRequest);
1046 EXPECT_EQ(res, nullptr);
1047 }
1048
1049 /*
1050 * Feature: AbilityManager
1051 * Function: DataAbility
1052 * SubFunction: DumpLocked
1053 * FunctionPoints: The parameter of function DumpLocked.
1054 * EnvConditions: Can run ohos test framework
1055 * CaseDescription: Verify function DumpLocked
1056 */
1057 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpLocked_001, TestSize.Level1)
1058 {
1059 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1060 const char func[1] = "";
1061 int line = 0;
1062 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = nullptr;
1063 dataAbilityManager->dataAbilityRecordsLoading_["a"] = nullptr;
1064 dataAbilityManager->DumpLocked(func, line);
1065 }
1066
1067 /*
1068 * Feature: AbilityManager
1069 * Function: DataAbility
1070 * SubFunction: DumpLocked
1071 * FunctionPoints: The parameter of function DumpLocked.
1072 * EnvConditions: Can run ohos test framework
1073 * CaseDescription: Verify function DumpLocked
1074 */
1075 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpLocked_002, TestSize.Level1)
1076 {
1077 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1078 const char func[2] = "a";
1079 int line = 0;
1080 AbilityRequest abilityRequest;
1081 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1082 abilityRequest.abilityInfo.bundleName = "bundleName";
1083 abilityRequest.abilityInfo.name = "name";
1084 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1085 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1086 dataAbilityRecord->ability_ = abilityRecord;
1087 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = dataAbilityRecord;
1088 dataAbilityManager->dataAbilityRecordsLoading_["a"] = dataAbilityRecord;
1089 dataAbilityManager->DumpLocked(func, line);
1090 }
1091
1092 /*
1093 * Feature: AbilityManager
1094 * Function: DataAbility
1095 * SubFunction: DumpLocked
1096 * FunctionPoints: The parameter of function DumpLocked.
1097 * EnvConditions: Can run ohos test framework
1098 * CaseDescription: Verify function DumpLocked
1099 */
1100 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpLocked_003, TestSize.Level1)
1101 {
1102 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1103 const char func[2] = "a";
1104 int line = -1;
1105 dataAbilityManager->dataAbilityRecordsLoaded_.clear();
1106 dataAbilityManager->dataAbilityRecordsLoading_.clear();
1107 dataAbilityManager->DumpLocked(func, line);
1108 }
1109
1110 /*
1111 * Feature: AbilityManager
1112 * Function: DataAbility
1113 * SubFunction: DumpState
1114 * FunctionPoints: The parameter of function DumpState.
1115 * EnvConditions: Can run ohos test framework
1116 * CaseDescription: Verify function DumpState
1117 */
1118 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpState_001, TestSize.Level1)
1119 {
1120 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1121 std::vector<std::string> info;
1122 std::string args = "args";
1123 AbilityRequest abilityRequest;
1124 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1125 abilityRequest.abilityInfo.bundleName = "bundleName";
1126 abilityRequest.abilityInfo.name = "name";
1127 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1128 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1129 dataAbilityRecord->ability_ = abilityRecord;
1130 dataAbilityManager->dataAbilityRecordsLoaded_["args"] = dataAbilityRecord;
1131 dataAbilityManager->DumpState(info, args);
1132 dataAbilityManager->dataAbilityRecordsLoaded_["args"] = nullptr;
1133 dataAbilityManager->DumpState(info, args);
1134 }
1135
1136 /*
1137 * Feature: AbilityManager
1138 * Function: DataAbility
1139 * SubFunction: DumpState
1140 * FunctionPoints: The parameter of function DumpState.
1141 * EnvConditions: Can run ohos test framework
1142 * CaseDescription: Verify function DumpState
1143 */
1144 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpState_002, TestSize.Level1)
1145 {
1146 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1147 std::vector<std::string> info;
1148 std::string args = "args";
1149 dataAbilityManager->dataAbilityRecordsLoaded_.clear();
1150 dataAbilityManager->DumpState(info, args);
1151 }
1152
1153 /*
1154 * Feature: AbilityManager
1155 * Function: DataAbility
1156 * SubFunction: DumpState
1157 * FunctionPoints: The parameter of function DumpState.
1158 * EnvConditions: Can run ohos test framework
1159 * CaseDescription: Verify function DumpState
1160 */
1161 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpState_003, TestSize.Level1)
1162 {
1163 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1164 std::vector<std::string> info;
1165 std::string args = "";
1166 AbilityRequest abilityRequest;
1167 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1168 abilityRequest.abilityInfo.bundleName = "bundleName";
1169 abilityRequest.abilityInfo.name = "name";
1170 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1171 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1172 dataAbilityRecord->ability_ = abilityRecord;
1173 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = dataAbilityRecord;
1174 dataAbilityManager->dataAbilityRecordsLoaded_["b"] = nullptr;
1175 dataAbilityManager->DumpState(info, args);
1176 }
1177
1178 /*
1179 * Feature: AbilityManager
1180 * Function: DataAbility
1181 * SubFunction: DumpSysState
1182 * FunctionPoints: The parameter of function DumpSysState.
1183 * EnvConditions: Can run ohos test framework
1184 * CaseDescription: Verify function DumpSysState
1185 */
1186 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_001, TestSize.Level1)
1187 {
1188 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1189 std::vector<std::string> info;
1190 bool isClient = true;
1191 std::string args = "args";
1192 AbilityRequest abilityRequest;
1193 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1194 abilityRequest.abilityInfo.bundleName = "bundleName";
1195 abilityRequest.abilityInfo.name = "name";
1196 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1197 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1198 abilityRecord->isReady_ = true;
1199 dataAbilityRecord->ability_ = abilityRecord;
1200 dataAbilityRecord->scheduler_ = abilitySchedulerMock_;
1201 dataAbilityManager->dataAbilityRecordsLoaded_["args"] = dataAbilityRecord;
1202 dataAbilityManager->DumpSysState(info, isClient, args);
1203 }
1204
1205 /*
1206 * Feature: AbilityManager
1207 * Function: DataAbility
1208 * SubFunction: DumpSysState
1209 * FunctionPoints: The parameter of function DumpSysState.
1210 * EnvConditions: Can run ohos test framework
1211 * CaseDescription: Verify function DumpSysState
1212 */
1213 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_002, TestSize.Level1)
1214 {
1215 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1216 std::vector<std::string> info;
1217 bool isClient = true;
1218 std::string args = "args";
1219 AbilityRequest abilityRequest;
1220 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1221 abilityRequest.abilityInfo.bundleName = "bundleName";
1222 abilityRequest.abilityInfo.name = "name";
1223 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1224 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1225 abilityRecord->isReady_ = false;
1226 dataAbilityRecord->ability_ = abilityRecord;
1227 dataAbilityRecord->scheduler_ = abilitySchedulerMock_;
1228 dataAbilityManager->dataAbilityRecordsLoaded_["args"] = dataAbilityRecord;
1229 dataAbilityManager->DumpSysState(info, isClient, args);
1230 }
1231
1232 /*
1233 * Feature: AbilityManager
1234 * Function: DataAbility
1235 * SubFunction: DumpSysState
1236 * FunctionPoints: The parameter of function DumpSysState.
1237 * EnvConditions: Can run ohos test framework
1238 * CaseDescription: Verify function DumpSysState
1239 */
1240 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_003, TestSize.Level1)
1241 {
1242 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1243 std::vector<std::string> info;
1244 bool isClient = true;
1245 std::string args = "args";
1246 AbilityRequest abilityRequest;
1247 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1248 abilityRequest.abilityInfo.bundleName = "bundleName";
1249 abilityRequest.abilityInfo.name = "name";
1250 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1251 dataAbilityRecord->ability_ = nullptr;
1252 dataAbilityRecord->scheduler_ = abilitySchedulerMock_;
1253 dataAbilityManager->dataAbilityRecordsLoaded_["args"] = dataAbilityRecord;
1254 dataAbilityManager->DumpSysState(info, isClient, args);
1255 }
1256
1257 /*
1258 * Feature: AbilityManager
1259 * Function: DataAbility
1260 * SubFunction: DumpSysState
1261 * FunctionPoints: The parameter of function DumpSysState.
1262 * EnvConditions: Can run ohos test framework
1263 * CaseDescription: Verify function DumpSysState
1264 */
1265 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_004, TestSize.Level1)
1266 {
1267 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1268 std::vector<std::string> info;
1269 bool isClient = true;
1270 std::string args = "args";
1271 AbilityRequest abilityRequest;
1272 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1273 abilityRequest.abilityInfo.bundleName = "bundleName";
1274 abilityRequest.abilityInfo.name = "name";
1275 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1276 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1277 dataAbilityRecord->scheduler_ = nullptr;
1278 dataAbilityManager->dataAbilityRecordsLoaded_["args"] = dataAbilityRecord;
1279 dataAbilityManager->DumpSysState(info, isClient, args);
1280 }
1281
1282 /*
1283 * Feature: AbilityManager
1284 * Function: DataAbility
1285 * SubFunction: DumpSysState
1286 * FunctionPoints: The parameter of function DumpSysState.
1287 * EnvConditions: Can run ohos test framework
1288 * CaseDescription: Verify function DumpSysState
1289 */
1290 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_005, TestSize.Level1)
1291 {
1292 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1293 std::vector<std::string> info;
1294 bool isClient = true;
1295 std::string args = "args";
1296 dataAbilityManager->dataAbilityRecordsLoaded_["args"] = nullptr;
1297 dataAbilityManager->DumpSysState(info, isClient, args);
1298 }
1299
1300 /*
1301 * Feature: AbilityManager
1302 * Function: DataAbility
1303 * SubFunction: DumpSysState
1304 * FunctionPoints: The parameter of function DumpSysState.
1305 * EnvConditions: Can run ohos test framework
1306 * CaseDescription: Verify function DumpSysState
1307 */
1308 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_006, TestSize.Level1)
1309 {
1310 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1311 std::vector<std::string> info;
1312 bool isClient = false;
1313 std::string args = "args";
1314 dataAbilityManager->dataAbilityRecordsLoaded_["args"] = nullptr;
1315 dataAbilityManager->DumpSysState(info, isClient, args);
1316 }
1317
1318 /*
1319 * Feature: AbilityManager
1320 * Function: DataAbility
1321 * SubFunction: DumpSysState
1322 * FunctionPoints: The parameter of function DumpSysState.
1323 * EnvConditions: Can run ohos test framework
1324 * CaseDescription: Verify function DumpSysState
1325 */
1326 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_007, TestSize.Level1)
1327 {
1328 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1329 std::vector<std::string> info;
1330 bool isClient = false;
1331 std::string args = "args";
1332 dataAbilityManager->dataAbilityRecordsLoaded_.clear();
1333 dataAbilityManager->DumpSysState(info, isClient, args);
1334 }
1335
1336 /*
1337 * Feature: AbilityManager
1338 * Function: DataAbility
1339 * SubFunction: DumpSysState
1340 * FunctionPoints: The parameter of function DumpSysState.
1341 * EnvConditions: Can run ohos test framework
1342 * CaseDescription: Verify function DumpSysState
1343 */
1344 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_008, TestSize.Level1)
1345 {
1346 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1347 std::vector<std::string> info;
1348 bool isClient = true;
1349 std::string args = "";
1350 AbilityRequest abilityRequest;
1351 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1352 abilityRequest.abilityInfo.bundleName = "bundleName";
1353 abilityRequest.abilityInfo.name = "name";
1354 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1355 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1356 abilityRecord->isReady_ = true;
1357 dataAbilityRecord->ability_ = abilityRecord;
1358 dataAbilityRecord->scheduler_ = abilitySchedulerMock_;
1359 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = dataAbilityRecord;
1360 dataAbilityManager->DumpSysState(info, isClient, args);
1361 }
1362
1363 /*
1364 * Feature: AbilityManager
1365 * Function: DataAbility
1366 * SubFunction: DumpSysState
1367 * FunctionPoints: The parameter of function DumpSysState.
1368 * EnvConditions: Can run ohos test framework
1369 * CaseDescription: Verify function DumpSysState
1370 */
1371 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_009, TestSize.Level1)
1372 {
1373 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1374 std::vector<std::string> info;
1375 bool isClient = true;
1376 std::string args = "";
1377 AbilityRequest abilityRequest;
1378 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1379 abilityRequest.abilityInfo.bundleName = "bundleName";
1380 abilityRequest.abilityInfo.name = "name";
1381 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1382 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1383 abilityRecord->isReady_ = false;
1384 dataAbilityRecord->ability_ = abilityRecord;
1385 dataAbilityRecord->scheduler_ = abilitySchedulerMock_;
1386 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = dataAbilityRecord;
1387 dataAbilityManager->DumpSysState(info, isClient, args);
1388 }
1389
1390 /*
1391 * Feature: AbilityManager
1392 * Function: DataAbility
1393 * SubFunction: DumpSysState
1394 * FunctionPoints: The parameter of function DumpSysState.
1395 * EnvConditions: Can run ohos test framework
1396 * CaseDescription: Verify function DumpSysState
1397 */
1398 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_010, TestSize.Level1)
1399 {
1400 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1401 std::vector<std::string> info;
1402 bool isClient = true;
1403 std::string args = "";
1404 AbilityRequest abilityRequest;
1405 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1406 abilityRequest.abilityInfo.bundleName = "bundleName";
1407 abilityRequest.abilityInfo.name = "name";
1408 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1409 dataAbilityRecord->ability_ = nullptr;
1410 dataAbilityRecord->scheduler_ = abilitySchedulerMock_;
1411 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = dataAbilityRecord;
1412 dataAbilityManager->DumpSysState(info, isClient, args);
1413 }
1414
1415 /*
1416 * Feature: AbilityManager
1417 * Function: DataAbility
1418 * SubFunction: DumpSysState
1419 * FunctionPoints: The parameter of function DumpSysState.
1420 * EnvConditions: Can run ohos test framework
1421 * CaseDescription: Verify function DumpSysState
1422 */
1423 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_011, TestSize.Level1)
1424 {
1425 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1426 std::vector<std::string> info;
1427 bool isClient = true;
1428 std::string args = "";
1429 AbilityRequest abilityRequest;
1430 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1431 abilityRequest.abilityInfo.bundleName = "bundleName";
1432 abilityRequest.abilityInfo.name = "name";
1433 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1434 dataAbilityRecord->scheduler_ = nullptr;
1435 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = dataAbilityRecord;
1436 dataAbilityManager->DumpSysState(info, isClient, args);
1437 }
1438
1439 /*
1440 * Feature: AbilityManager
1441 * Function: DataAbility
1442 * SubFunction: DumpSysState
1443 * FunctionPoints: The parameter of function DumpSysState.
1444 * EnvConditions: Can run ohos test framework
1445 * CaseDescription: Verify function DumpSysState
1446 */
1447 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_012, TestSize.Level1)
1448 {
1449 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1450 std::vector<std::string> info;
1451 bool isClient = true;
1452 std::string args = "";
1453 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = nullptr;
1454 dataAbilityManager->DumpSysState(info, isClient, args);
1455 }
1456
1457 /*
1458 * Feature: AbilityManager
1459 * Function: DataAbility
1460 * SubFunction: DumpSysState
1461 * FunctionPoints: The parameter of function DumpSysState.
1462 * EnvConditions: Can run ohos test framework
1463 * CaseDescription: Verify function DumpSysState
1464 */
1465 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_DumpSysState_013, TestSize.Level1)
1466 {
1467 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1468 std::vector<std::string> info;
1469 bool isClient = false;
1470 std::string args = "";
1471 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = nullptr;
1472 dataAbilityManager->DumpSysState(info, isClient, args);
1473 }
1474
1475 /*
1476 * Feature: AbilityManager
1477 * Function: DataAbility
1478 * SubFunction: GetAbilityRunningInfos
1479 * FunctionPoints: The parameter of function GetAbilityRunningInfos.
1480 * EnvConditions: Can run ohos test framework
1481 * CaseDescription: Verify function GetAbilityRunningInfos
1482 */
1483 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_GetAbilityRunningInfos_001, TestSize.Level1)
1484 {
1485 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1486 std::vector<AbilityRunningInfo> info;
1487 bool isPerm = true;
1488 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = nullptr;
1489 dataAbilityManager->GetAbilityRunningInfos(info, isPerm);
1490 }
1491
1492 /*
1493 * Feature: AbilityManager
1494 * Function: DataAbility
1495 * SubFunction: GetAbilityRunningInfos
1496 * FunctionPoints: The parameter of function GetAbilityRunningInfos.
1497 * EnvConditions: Can run ohos test framework
1498 * CaseDescription: Verify function GetAbilityRunningInfos
1499 */
1500 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_GetAbilityRunningInfos_002, TestSize.Level1)
1501 {
1502 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1503 std::vector<AbilityRunningInfo> info;
1504 bool isPerm = true;
1505 AbilityRequest abilityRequest;
1506 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1507 abilityRequest.abilityInfo.bundleName = "bundleName";
1508 abilityRequest.abilityInfo.name = "name";
1509 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1510 dataAbilityRecord->ability_ = nullptr;
1511 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = dataAbilityRecord;
1512 dataAbilityManager->GetAbilityRunningInfos(info, isPerm);
1513 }
1514
1515 /*
1516 * Feature: AbilityManager
1517 * Function: DataAbility
1518 * SubFunction: GetAbilityRunningInfos
1519 * FunctionPoints: The parameter of function GetAbilityRunningInfos.
1520 * EnvConditions: Can run ohos test framework
1521 * CaseDescription: Verify function GetAbilityRunningInfos
1522 */
1523 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_GetAbilityRunningInfos_003, TestSize.Level1)
1524 {
1525 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1526 std::vector<AbilityRunningInfo> info;
1527 bool isPerm = false;
1528 AbilityRequest abilityRequest;
1529 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1530 abilityRequest.abilityInfo.bundleName = "bundleName";
1531 abilityRequest.abilityInfo.name = "name";
1532 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1533 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1534 abilityRecord->applicationInfo_.accessTokenId = -1;
1535 dataAbilityRecord->ability_ = abilityRecord;
1536 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = dataAbilityRecord;
1537 dataAbilityManager->GetAbilityRunningInfos(info, isPerm);
1538 }
1539
1540 /*
1541 * Feature: AbilityManager
1542 * Function: DataAbility
1543 * SubFunction: GetAbilityRunningInfos
1544 * FunctionPoints: The parameter of function GetAbilityRunningInfos.
1545 * EnvConditions: Can run ohos test framework
1546 * CaseDescription: Verify function GetAbilityRunningInfos
1547 */
1548 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_GetAbilityRunningInfos_004, TestSize.Level1)
1549 {
1550 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1551 std::vector<AbilityRunningInfo> info;
1552 bool isPerm = false;
1553 AbilityRequest abilityRequest;
1554 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1555 abilityRequest.abilityInfo.bundleName = "bundleName";
1556 abilityRequest.abilityInfo.name = "name";
1557 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1558 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1559 abilityRecord->applicationInfo_.accessTokenId = IPCSkeleton::GetCallingTokenID();
1560 dataAbilityRecord->ability_ = abilityRecord;
1561 dataAbilityManager->dataAbilityRecordsLoaded_["a"] = dataAbilityRecord;
1562 dataAbilityManager->GetAbilityRunningInfos(info, isPerm);
1563 }
1564
1565 /*
1566 * Feature: AbilityManager
1567 * Function: DataAbility
1568 * SubFunction: RestartDataAbility
1569 * FunctionPoints: The parameter of function RestartDataAbility.
1570 * EnvConditions: Can run ohos test framework
1571 * CaseDescription: Verify function RestartDataAbility
1572 */
1573 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_RestartDataAbility_001, TestSize.Level1)
1574 {
1575 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1576 std::vector<AbilityRunningInfo> info;
1577 AbilityRequest abilityRequest;
1578 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1579 abilityRequest.abilityInfo.bundleName = "bundleName";
1580 abilityRequest.abilityInfo.name = "name";
1581 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1582 dataAbilityManager->RestartDataAbility(abilityRecord);
1583 }
1584
1585 /*
1586 * Feature: AbilityManager
1587 * Function: DataAbility
1588 * SubFunction: ReportDataAbilityAcquired
1589 * FunctionPoints: The parameter of function ReportDataAbilityAcquired.
1590 * EnvConditions: Can run ohos test framework
1591 * CaseDescription: Verify function ReportDataAbilityAcquired
1592 */
1593 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_ReportDataAbilityAcquired_001, TestSize.Level1)
1594 {
1595 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1596 bool isNotHap = true;
1597 AbilityRequest abilityRequest;
1598 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1599 abilityRequest.abilityInfo.bundleName = "bundleName";
1600 abilityRequest.abilityInfo.name = "name";
1601 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1602 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1603 dataAbilityRecord->ability_ = abilityRecord;
1604 dataAbilityManager->ReportDataAbilityAcquired(dataAbilityRecord->GetToken(), isNotHap, dataAbilityRecord);
1605 }
1606
1607 /*
1608 * Feature: AbilityManager
1609 * Function: DataAbility
1610 * SubFunction: ReportDataAbilityAcquired
1611 * FunctionPoints: The parameter of function ReportDataAbilityAcquired.
1612 * EnvConditions: Can run ohos test framework
1613 * CaseDescription: Verify function ReportDataAbilityAcquired
1614 */
1615 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_ReportDataAbilityAcquired_002, TestSize.Level1)
1616 {
1617 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1618 bool isNotHap = true;
1619 AbilityRequest abilityRequest;
1620 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1621 abilityRequest.abilityInfo.bundleName = "bundleName";
1622 abilityRequest.abilityInfo.name = "name";
1623 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1624 dataAbilityManager->ReportDataAbilityAcquired(nullptr, isNotHap, dataAbilityRecord);
1625 }
1626
1627 /*
1628 * Feature: AbilityManager
1629 * Function: DataAbility
1630 * SubFunction: ReportDataAbilityReleased
1631 * FunctionPoints: The parameter of function ReportDataAbilityReleased.
1632 * EnvConditions: Can run ohos test framework
1633 * CaseDescription: Verify function ReportDataAbilityReleased
1634 */
1635 HWTEST_F(DataAbilityManagerTest, AaFwk_DataAbilityManager_ReportDataAbilityReleased_001, TestSize.Level1)
1636 {
1637 std::unique_ptr<DataAbilityManager> dataAbilityManager = std::make_unique<DataAbilityManager>();
1638 bool isNotHap = true;
1639 AbilityRequest abilityRequest;
1640 abilityRequest.abilityInfo.type = AppExecFwk::AbilityType::DATA;
1641 abilityRequest.abilityInfo.bundleName = "bundleName";
1642 abilityRequest.abilityInfo.name = "name";
1643 auto dataAbilityRecord = std::make_shared<DataAbilityRecord>(abilityRequest);
1644 std::shared_ptr<AbilityRecord> abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest);
1645 dataAbilityRecord->ability_ = abilityRecord;
1646 dataAbilityManager->ReportDataAbilityReleased(dataAbilityRecord->GetToken(), isNotHap, dataAbilityRecord);
1647 }
1648 } // namespace AAFwk
1649 } // namespace OHOS
1650