1 /*
2 * Copyright (c) 2022-2023 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 #include <numeric>
18 #define private public
19 #include "ability_manager_helper.h"
20 #undef private
21 #include "mock_common_event_stub.h"
22 #include "static_subscriber_connection.h"
23
24 using namespace testing::ext;
25 using namespace OHOS;
26 using namespace OHOS::EventFwk;
27 using namespace OHOS::AppExecFwk;
28
29 class AbilityManagerHelperTest : public testing::Test {
30 public:
AbilityManagerHelperTest()31 AbilityManagerHelperTest()
32 {}
~AbilityManagerHelperTest()33 ~AbilityManagerHelperTest()
34 {}
35
36 static void SetUpTestCase(void);
37 static void TearDownTestCase(void);
38 void SetUp();
39 void TearDown();
40 };
41
SetUpTestCase(void)42 void AbilityManagerHelperTest::SetUpTestCase(void)
43 {}
44
TearDownTestCase(void)45 void AbilityManagerHelperTest::TearDownTestCase(void)
46 {}
47
SetUp(void)48 void AbilityManagerHelperTest::SetUp(void)
49 {}
50
TearDown(void)51 void AbilityManagerHelperTest::TearDown(void)
52 {}
53
54 using TestAbilityManager = AAFwk::IAbilityManager;
55
56 class TestAbilityMgr : public TestAbilityManager {
57 public:
58 TestAbilityMgr() = default;
~TestAbilityMgr()59 virtual ~TestAbilityMgr()
60 {};
AsObject()61 sptr<IRemoteObject> AsObject() override
62 {
63 return nullptr;
64 }
65
StartAbility(const Want & want,int32_t userId,int requestCode)66 int StartAbility(const Want &want, int32_t userId, int requestCode) override
67 {
68 return 1;
69 }
70
StartAbility(const Want & want,const sptr<IRemoteObject> & callerToken,int32_t userId,int requestCode)71 int StartAbility(
72 const Want &want, const sptr<IRemoteObject> &callerToken, int32_t userId, int requestCode) override
73 {
74 return 1;
75 }
76
StartAbility(const Want & want,const AbilityStartSetting & abilityStartSetting,const sptr<IRemoteObject> & callerToken,int32_t userId,int requestCode)77 int StartAbility(const Want &want, const AbilityStartSetting &abilityStartSetting,
78 const sptr<IRemoteObject> &callerToken, int32_t userId, int requestCode) override
79 {
80 return 1;
81 }
82
StartAbility(const Want & want,const StartOptions & startOptions,const sptr<IRemoteObject> & callerToken,int32_t userId,int requestCode)83 int StartAbility(const Want &want, const StartOptions &startOptions,
84 const sptr<IRemoteObject> &callerToken, int32_t userId, int requestCode) override
85 {
86 return 1;
87 }
88
TerminateAbility(const sptr<IRemoteObject> & token,int resultCode,const Want * resultWant=nullptr)89 int TerminateAbility(
90 const sptr<IRemoteObject> &token, int resultCode, const Want *resultWant = nullptr) override
91 {
92 return 1;
93 }
94
CloseAbility(const sptr<IRemoteObject> & token,int resultCode=DEFAULT_INVAL_VALUE,const Want * resultWant=nullptr)95 int CloseAbility(const sptr<IRemoteObject> &token, int resultCode = DEFAULT_INVAL_VALUE,
96 const Want *resultWant = nullptr) override
97 {
98 return 1;
99 }
100
MinimizeAbility(const sptr<IRemoteObject> & token,bool fromUser=false)101 int MinimizeAbility(const sptr<IRemoteObject> &token, bool fromUser = false) override
102 {
103 return 1;
104 }
105
ConnectAbility(const Want & want,const sptr<IAbilityConnection> & connect,const sptr<IRemoteObject> & callerToken,int32_t userId)106 int ConnectAbility(const Want &want, const sptr<IAbilityConnection> &connect,
107 const sptr<IRemoteObject> &callerToken, int32_t userId) override
108 {
109 return 1;
110 }
111
DisconnectAbility(const sptr<IAbilityConnection> & connect)112 int DisconnectAbility(const sptr<IAbilityConnection> &connect) override
113 {
114 return 1;
115 }
116
AcquireDataAbility(const Uri & uri,bool tryBind,const sptr<IRemoteObject> & callerToken)117 sptr<IAbilityScheduler> AcquireDataAbility(
118 const Uri &uri, bool tryBind, const sptr<IRemoteObject> &callerToken) override
119 {
120 return nullptr;
121 }
122
ReleaseDataAbility(sptr<IAbilityScheduler> dataAbilityScheduler,const sptr<IRemoteObject> & callerToken)123 int ReleaseDataAbility(
124 sptr<IAbilityScheduler> dataAbilityScheduler, const sptr<IRemoteObject> &callerToken) override
125 {
126 return 1;
127 }
128
AttachAbilityThread(const sptr<IAbilityScheduler> & scheduler,const sptr<IRemoteObject> & token)129 int AttachAbilityThread(const sptr<IAbilityScheduler> &scheduler, const sptr<IRemoteObject> &token) override
130 {
131 return 1;
132 }
133
AbilityTransitionDone(const sptr<IRemoteObject> & token,int state,const PacMap & saveData)134 int AbilityTransitionDone(const sptr<IRemoteObject> &token, int state, const PacMap &saveData)override
135 {
136 return 1;
137 }
138
ScheduleConnectAbilityDone(const sptr<IRemoteObject> & token,const sptr<IRemoteObject> & remoteObject)139 int ScheduleConnectAbilityDone(
140 const sptr<IRemoteObject> &token, const sptr<IRemoteObject> &remoteObject) override
141 {
142 return 1;
143 }
144
ScheduleDisconnectAbilityDone(const sptr<IRemoteObject> & token)145 int ScheduleDisconnectAbilityDone(const sptr<IRemoteObject> &token) override
146 {
147 return 1;
148 }
149
ScheduleCommandAbilityDone(const sptr<IRemoteObject> & token)150 int ScheduleCommandAbilityDone(const sptr<IRemoteObject> &token) override
151 {
152 return 1;
153 }
154
ScheduleCommandAbilityWindowDone(const sptr<IRemoteObject> & token,const sptr<AAFwk::SessionInfo> & sessionInfo,AAFwk::WindowCommand winCmd,AAFwk::AbilityCommand abilityCmd)155 int ScheduleCommandAbilityWindowDone(
156 const sptr<IRemoteObject> &token,
157 const sptr<AAFwk::SessionInfo> &sessionInfo,
158 AAFwk::WindowCommand winCmd,
159 AAFwk::AbilityCommand abilityCmd) override
160 {
161 return 1;
162 }
163
DumpState(const std::string & args,std::vector<std::string> & state)164 void DumpState(const std::string &args, std::vector<std::string> &state) override
165 {}
166
DumpSysState(const std::string & args,std::vector<std::string> & state,bool isClient,bool isUserID,int UserID)167 void DumpSysState(
168 const std::string& args, std::vector<std::string>& state, bool isClient, bool isUserID, int UserID) override
169 {}
170
StopServiceAbility(const Want & want,int32_t userId,const sptr<IRemoteObject> & token=nullptr)171 int StopServiceAbility(const Want &want, int32_t userId, const sptr<IRemoteObject> &token = nullptr) override
172 {
173 return 1;
174 }
175
KillProcess(const std::string & bundleName)176 int KillProcess(const std::string &bundleName) override
177 {
178 return 1;
179 }
180
ClearUpApplicationData(const std::string & bundleName)181 int ClearUpApplicationData(const std::string &bundleName) override
182 {
183 return 1;
184 }
185
UninstallApp(const std::string & bundleName,int32_t uid)186 int UninstallApp(const std::string &bundleName, int32_t uid) override
187 {
188 return 1;
189 }
190
GetWantSender(const WantSenderInfo & wantSenderInfo,const sptr<IRemoteObject> & callerToken)191 sptr<IWantSender> GetWantSender(
192 const WantSenderInfo &wantSenderInfo, const sptr<IRemoteObject> &callerToken) override
193 {
194 return nullptr;
195 }
196
SendWantSender(const sptr<IWantSender> & target,const SenderInfo & senderInfo)197 int SendWantSender(const sptr<IWantSender> &target, const SenderInfo &senderInfo) override
198 {
199 return 1;
200 }
201
CancelWantSender(const sptr<IWantSender> & sender)202 void CancelWantSender(const sptr<IWantSender> &sender) override
203 {}
204
GetPendingWantUid(const sptr<IWantSender> & target)205 int GetPendingWantUid(const sptr<IWantSender> &target) override
206 {
207 return 1;
208 }
209
GetPendingWantUserId(const sptr<IWantSender> & target)210 int GetPendingWantUserId(const sptr<IWantSender> &target) override
211 {
212 return 1;
213 }
214
GetPendingWantBundleName(const sptr<IWantSender> & target)215 std::string GetPendingWantBundleName(const sptr<IWantSender> &target) override
216 {
217 return "";
218 }
219
GetPendingWantCode(const sptr<IWantSender> & target)220 int GetPendingWantCode(const sptr<IWantSender> &target) override
221 {
222 return 1;
223 }
224
GetPendingWantType(const sptr<IWantSender> & target)225 int GetPendingWantType(const sptr<IWantSender> &target) override
226 {
227 return 1;
228 }
229
RegisterCancelListener(const sptr<IWantSender> & sender,const sptr<IWantReceiver> & receiver)230 void RegisterCancelListener(const sptr<IWantSender> &sender, const sptr<IWantReceiver> &receiver) override
231 {}
232
UnregisterCancelListener(const sptr<IWantSender> & sender,const sptr<IWantReceiver> & receiver)233 void UnregisterCancelListener(const sptr<IWantSender> &sender, const sptr<IWantReceiver> &receiver) override
234 {}
235
GetPendingRequestWant(const sptr<IWantSender> & target,std::shared_ptr<Want> & want)236 int GetPendingRequestWant(const sptr<IWantSender> &target, std::shared_ptr<Want> &want) override
237 {
238 return 1;
239 }
240
GetWantSenderInfo(const sptr<IWantSender> & target,std::shared_ptr<WantSenderInfo> & info)241 int GetWantSenderInfo(const sptr<IWantSender> &target, std::shared_ptr<WantSenderInfo> &info) override
242 {
243 return 1;
244 }
245
ContinueMission(const std::string & srcDeviceId,const std::string & dstDeviceId,int32_t missionId,const sptr<IRemoteObject> & callBack,AAFwk::WantParams & wantParams)246 int ContinueMission(const std::string &srcDeviceId, const std::string &dstDeviceId, int32_t missionId,
247 const sptr<IRemoteObject> &callBack, AAFwk::WantParams &wantParams) override
248 {
249 return 1;
250 }
251
ContinueAbility(const std::string & deviceId,int32_t missionId,uint32_t versionCode)252 int ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode) override
253 {
254 return 1;
255 }
256
StartContinuation(const Want & want,const sptr<IRemoteObject> & abilityToken,int32_t status)257 int StartContinuation(const Want &want, const sptr<IRemoteObject> &abilityToken, int32_t status) override
258 {
259 return 1;
260 }
261
NotifyCompleteContinuation(const std::string & deviceId,int32_t sessionId,bool isSuccess)262 void NotifyCompleteContinuation(const std::string &deviceId, int32_t sessionId, bool isSuccess) override
263 {}
264
NotifyContinuationResult(int32_t missionId,int32_t result)265 int NotifyContinuationResult(int32_t missionId, int32_t result) override
266 {
267 return 1;
268 }
269
LockMissionForCleanup(int32_t missionId)270 int LockMissionForCleanup(int32_t missionId) override
271 {
272 return 1;
273 }
274
UnlockMissionForCleanup(int32_t missionId)275 int UnlockMissionForCleanup(int32_t missionId) override
276 {
277 return 1;
278 }
279
RegisterMissionListener(const sptr<IMissionListener> & listener)280 int RegisterMissionListener(const sptr<IMissionListener> &listener) override
281 {
282 return 1;
283 }
284
UnRegisterMissionListener(const sptr<IMissionListener> & listener)285 int UnRegisterMissionListener(const sptr<IMissionListener> &listener) override
286 {
287 return 1;
288 }
289
GetMissionInfos(const std::string & deviceId,int32_t numMax,std::vector<MissionInfo> & missionInfos)290 int GetMissionInfos(
291 const std::string &deviceId, int32_t numMax, std::vector<MissionInfo> &missionInfos) override
292 {
293 return 1;
294 }
295
GetMissionInfo(const std::string & deviceId,int32_t missionId,MissionInfo & missionInfo)296 int GetMissionInfo(const std::string &deviceId, int32_t missionId, MissionInfo &missionInfo) override
297 {
298 return 1;
299 }
300
GetMissionSnapshot(const std::string & deviceId,int32_t missionId,MissionSnapshot & snapshot,bool isLowResolution)301 int GetMissionSnapshot(const std::string& deviceId, int32_t missionId,
302 MissionSnapshot& snapshot, bool isLowResolution) override
303 {
304 return 1;
305 }
306
CleanMission(int32_t missionId)307 int CleanMission(int32_t missionId) override
308 {
309 return 1;
310 }
311
CleanAllMissions()312 int CleanAllMissions() override
313 {
314 return 1;
315 }
316
MoveMissionToFront(int32_t missionId)317 int MoveMissionToFront(int32_t missionId) override
318 {
319 return 1;
320 }
321
MoveMissionToFront(int32_t missionId,const StartOptions & startOptions)322 int MoveMissionToFront(int32_t missionId, const StartOptions &startOptions) override
323 {
324 return 1;
325 }
326
StartAbilityByCall(const Want & want,const sptr<IAbilityConnection> & connect,const sptr<IRemoteObject> & callerToken,int32_t accountId)327 int StartAbilityByCall(const Want &want, const sptr<IAbilityConnection> &connect,
328 const sptr<IRemoteObject> &callerToken, int32_t accountId) override
329 {
330 return 1;
331 }
332
ReleaseCall(const sptr<IAbilityConnection> & connect,const AppExecFwk::ElementName & element)333 int ReleaseCall(const sptr<IAbilityConnection> &connect, const AppExecFwk::ElementName &element) override
334 {
335 return 1;
336 }
337
StartUser(int userId)338 int StartUser(int userId) override
339 {
340 return 1;
341 }
342
StopUser(int userId,const sptr<IStopUserCallback> & callback)343 int StopUser(int userId, const sptr<IStopUserCallback> &callback) override
344 {
345 return 1;
346 }
347
SetMissionLabel(const sptr<IRemoteObject> & abilityToken,const std::string & label)348 int SetMissionLabel(const sptr<IRemoteObject> &abilityToken, const std::string &label) override
349 {
350 return 1;
351 }
352
SetMissionIcon(const sptr<IRemoteObject> & token,const std::shared_ptr<OHOS::Media::PixelMap> & icon)353 int SetMissionIcon(const sptr<IRemoteObject> &token,
354 const std::shared_ptr<OHOS::Media::PixelMap> &icon) override
355 {
356 return 1;
357 }
358
RegisterWindowManagerServiceHandler(const sptr<IWindowManagerServiceHandler> & handler)359 int RegisterWindowManagerServiceHandler(const sptr<IWindowManagerServiceHandler>& handler) override
360 {
361 return 1;
362 }
363
CompleteFirstFrameDrawing(const sptr<IRemoteObject> & abilityToken)364 void CompleteFirstFrameDrawing(const sptr<IRemoteObject> &abilityToken) override
365 {}
366
GetAbilityRunningInfos(std::vector<AbilityRunningInfo> & info)367 int GetAbilityRunningInfos(std::vector<AbilityRunningInfo> &info) override
368 {
369 return 1;
370 }
371
GetExtensionRunningInfos(int upperLimit,std::vector<ExtensionRunningInfo> & info)372 int GetExtensionRunningInfos(int upperLimit, std::vector<ExtensionRunningInfo> &info) override
373 {
374 return 1;
375 }
376
GetProcessRunningInfos(std::vector<AppExecFwk::RunningProcessInfo> & info)377 int GetProcessRunningInfos(std::vector<AppExecFwk::RunningProcessInfo> &info) override
378 {
379 return 1;
380 }
381
StartSyncRemoteMissions(const std::string & devId,bool fixConflict,int64_t tag)382 int StartSyncRemoteMissions(const std::string &devId, bool fixConflict, int64_t tag) override
383 {
384 return 1;
385 }
386
StopSyncRemoteMissions(const std::string & devId)387 int StopSyncRemoteMissions(const std::string &devId) override
388 {
389 return 1;
390 }
391
RegisterMissionListener(const std::string & deviceId,const sptr<IRemoteMissionListener> & listener)392 int RegisterMissionListener(const std::string &deviceId, const sptr<IRemoteMissionListener> &listener) override
393 {
394 return 1;
395 }
396
UnRegisterMissionListener(const std::string & deviceId,const sptr<IRemoteMissionListener> & listener)397 int UnRegisterMissionListener(const std::string &deviceId,
398 const sptr<IRemoteMissionListener> &listener) override
399 {
400 return 1;
401 }
402
SetAbilityController(const sptr<AppExecFwk::IAbilityController> & abilityController,bool imAStabilityTest)403 int SetAbilityController(const sptr<AppExecFwk::IAbilityController> &abilityController,
404 bool imAStabilityTest) override
405 {
406 return 1;
407 }
408
IsRunningInStabilityTest()409 bool IsRunningInStabilityTest() override
410 {
411 return false;
412 }
413
RegisterSnapshotHandler(const sptr<ISnapshotHandler> & handler)414 int RegisterSnapshotHandler(const sptr<ISnapshotHandler>& handler) override
415 {
416 return 1;
417 }
418
StartUserTest(const Want & want,const sptr<IRemoteObject> & observer)419 int StartUserTest(const Want &want, const sptr<IRemoteObject> &observer) override
420 {
421 return 1;
422 }
423
FinishUserTest(const std::string & msg,const int64_t & resultCode,const std::string & bundleName)424 int FinishUserTest(const std::string &msg, const int64_t &resultCode, const std::string &bundleName) override
425 {
426 return 1;
427 }
428
GetTopAbility(sptr<IRemoteObject> & token)429 int GetTopAbility(sptr<IRemoteObject> &token) override
430 {
431 return 1;
432 }
433
DelegatorDoAbilityForeground(const sptr<IRemoteObject> & token)434 int DelegatorDoAbilityForeground(const sptr<IRemoteObject> &token) override
435 {
436 return 1;
437 }
438
DelegatorDoAbilityBackground(const sptr<IRemoteObject> & token)439 int DelegatorDoAbilityBackground(const sptr<IRemoteObject> &token) override
440 {
441 return 1;
442 }
443
DoAbilityForeground(const sptr<IRemoteObject> & token,uint32_t flag)444 int DoAbilityForeground(const sptr<IRemoteObject> &token, uint32_t flag) override
445 {
446 return 1;
447 }
448
DoAbilityBackground(const sptr<IRemoteObject> & token,uint32_t flag)449 int DoAbilityBackground(const sptr<IRemoteObject> &token, uint32_t flag) override
450 {
451 return 1;
452 }
453
SendANRProcessID(int pid)454 int SendANRProcessID(int pid) override
455 {
456 return 1;
457 }
458
GetMissionIdByToken(const sptr<IRemoteObject> & token)459 int32_t GetMissionIdByToken(const sptr<IRemoteObject> &token) override
460 {
461 return 1;
462 }
463
GetAbilityTokenByCalleeObj(const sptr<IRemoteObject> & callStub,sptr<IRemoteObject> & token)464 void GetAbilityTokenByCalleeObj(const sptr<IRemoteObject> &callStub, sptr<IRemoteObject> &token) override
465 {}
466
IsValidMissionIds(const std::vector<int32_t> & missionIds,std::vector<MissionVaildResult> & results)467 int32_t IsValidMissionIds(
468 const std::vector<int32_t> &missionIds, std::vector<MissionVaildResult> &results) override
469 {
470 return 1;
471 }
472
ReportDrawnCompleted(const sptr<IRemoteObject> & callerToken)473 int32_t ReportDrawnCompleted(const sptr<IRemoteObject> &callerToken) override
474 {
475 return 1;
476 }
477 };
478
479 /**
480 * @tc.name: AbilityManagerHelper_0100
481 * @tc.desc: test GetAbilityMgrProxy function and abilityMgr_ is not nullptr.
482 * @tc.type: FUNC
483 */
HWTEST_F(AbilityManagerHelperTest,AbilityManagerHelper_0100,Level1)484 HWTEST_F(AbilityManagerHelperTest, AbilityManagerHelper_0100, Level1)
485 {
486 GTEST_LOG_(INFO) << "AbilityManagerHelper_0100 start";
487 AbilityManagerHelper abilityManagerHelper;
488 abilityManagerHelper.abilityMgr_ = new (std::nothrow) TestAbilityMgr();
489 EXPECT_EQ(true, abilityManagerHelper.GetAbilityMgrProxy());
490 GTEST_LOG_(INFO) << "AbilityManagerHelper_0100 end";
491 }
492
493 /**
494 * @tc.name: AbilityManagerHelper_0200
495 * @tc.desc: test GetAbilityMgrProxy function and abilityMgr_ is nullptr.
496 * @tc.type: FUNC
497 */
HWTEST_F(AbilityManagerHelperTest,AbilityManagerHelper_0200,Level1)498 HWTEST_F(AbilityManagerHelperTest, AbilityManagerHelper_0200, Level1)
499 {
500 GTEST_LOG_(INFO) << "AbilityManagerHelper_0200 start";
501 AbilityManagerHelper abilityManagerHelper;
502 abilityManagerHelper.abilityMgr_ = nullptr;
503 EXPECT_EQ(false, abilityManagerHelper.GetAbilityMgrProxy());
504 GTEST_LOG_(INFO) << "AbilityManagerHelper_0200 end";
505 }
506
507 /**
508 * @tc.name: AbilityManagerHelper_0300
509 * @tc.desc: test ConnectAbility function and GetAbilityMgrProxy is false.
510 * @tc.type: FUNC
511 */
HWTEST_F(AbilityManagerHelperTest,AbilityManagerHelper_0300,Level1)512 HWTEST_F(AbilityManagerHelperTest, AbilityManagerHelper_0300, Level1)
513 {
514 GTEST_LOG_(INFO) << "AbilityManagerHelper_0300 start";
515 AbilityManagerHelper abilityManagerHelper;
516 abilityManagerHelper.abilityMgr_ = nullptr;
517 Want want;
518 CommonEventData event;
519 sptr<IRemoteObject> callerToken = nullptr;
520 int32_t userId = 1;
521 EXPECT_EQ(-1, abilityManagerHelper.ConnectAbility(want, event, callerToken, userId));
522 GTEST_LOG_(INFO) << "AbilityManagerHelper_0300 end";
523 }
524
525 /**
526 * @tc.name: AbilityManagerHelper_0400
527 * @tc.desc: test Clear function and abilityMgr_ is nullptr.
528 * @tc.type: FUNC
529 */
HWTEST_F(AbilityManagerHelperTest,AbilityManagerHelper_0400,Level1)530 HWTEST_F(AbilityManagerHelperTest, AbilityManagerHelper_0400, Level1)
531 {
532 GTEST_LOG_(INFO) << "AbilityManagerHelper_0400 start";
533 std::shared_ptr<AbilityManagerHelper> abilityManagerHelper = std::make_shared<AbilityManagerHelper>();
534 ASSERT_NE(nullptr, abilityManagerHelper);
535 abilityManagerHelper->abilityMgr_ = nullptr;
536 abilityManagerHelper->Clear();
537 GTEST_LOG_(INFO) << "AbilityManagerHelper_0400 end";
538 }
539
540 /**
541 * @tc.name: AbilityManagerHelper_0500
542 * @tc.desc: test Clear function and abilityMgr_ is not nullptr.
543 * @tc.type: FUNC
544 */
HWTEST_F(AbilityManagerHelperTest,AbilityManagerHelper_0500,Level1)545 HWTEST_F(AbilityManagerHelperTest, AbilityManagerHelper_0500, Level1)
546 {
547 GTEST_LOG_(INFO) << "AbilityManagerHelper_0500 start";
548 std::shared_ptr<AbilityManagerHelper> abilityManagerHelper = std::make_shared<AbilityManagerHelper>();
549 ASSERT_NE(nullptr, abilityManagerHelper);
550 sptr<IRemoteObject> remoteObject = sptr<IRemoteObject>(new MockCommonEventStub());
551 abilityManagerHelper->abilityMgr_ = iface_cast<AAFwk::IAbilityManager>(remoteObject);
552 abilityManagerHelper->Clear();
553 GTEST_LOG_(INFO) << "AbilityManagerHelper_0500 end";
554 }
555
556 /**
557 * @tc.name : test SetEventHandler
558 * @tc.number: AbilityManagerHelper_0600
559 * @tc.desc : Test SetEventHandler succeeded.
560 */
HWTEST_F(AbilityManagerHelperTest,AbilityManagerHelper_0600,Level1)561 HWTEST_F(AbilityManagerHelperTest, AbilityManagerHelper_0600, Level1)
562 {
563 GTEST_LOG_(INFO) << "AbilityManagerHelper_0600 start";
564 auto abilityManagerHelper = std::make_shared<AbilityManagerHelper>();
565 CommonEventData data;
566 sptr<StaticSubscriberConnection> connection = new (std::nothrow) StaticSubscriberConnection(data);
567 abilityManagerHelper->subscriberConnection_.emplace(connection);
568 auto handler = std::make_shared<EventHandler>(EventRunner::Create());
569 abilityManagerHelper->SetEventHandler(handler);
570 EXPECT_NE(abilityManagerHelper->subscriberConnection_.size(), 0);
571 GTEST_LOG_(INFO) << "AbilityManagerHelper_0600 end";
572 }
573
574 /**
575 * @tc.name : test DisconnectAbility
576 * @tc.number: AbilityManagerHelper_0700
577 * @tc.desc : Test the DisconnectAbility function when the connection is nullptr.
578 */
HWTEST_F(AbilityManagerHelperTest,AbilityManagerHelper_0700,Level1)579 HWTEST_F(AbilityManagerHelperTest, AbilityManagerHelper_0700, Level1)
580 {
581 GTEST_LOG_(INFO) << "AbilityManagerHelper_0700 start";
582 auto abilityManagerHelper = std::make_shared<AbilityManagerHelper>();
583 CommonEventData data;
584 sptr<StaticSubscriberConnection> connection = new (std::nothrow) StaticSubscriberConnection(data);
585 abilityManagerHelper->subscriberConnection_.emplace(connection);
586 abilityManagerHelper->DisconnectAbility(nullptr);
587 EXPECT_NE(abilityManagerHelper->subscriberConnection_.size(), 0);
588 GTEST_LOG_(INFO) << "AbilityManagerHelper_0700 end";
589 }
590
591 /**
592 * @tc.name : test DisconnectAbility
593 * @tc.number: AbilityManagerHelper_0800
594 * @tc.desc : Test the DisconnectAbility function when the connection is not nullptr.
595 */
HWTEST_F(AbilityManagerHelperTest,AbilityManagerHelper_0800,Level1)596 HWTEST_F(AbilityManagerHelperTest, AbilityManagerHelper_0800, Level1)
597 {
598 GTEST_LOG_(INFO) << "AbilityManagerHelper_0800 start";
599 auto abilityManagerHelper = std::make_shared<AbilityManagerHelper>();
600 CommonEventData data;
601 sptr<StaticSubscriberConnection> connection = new (std::nothrow) StaticSubscriberConnection(data);
602 abilityManagerHelper->subscriberConnection_.emplace(connection);
603 abilityManagerHelper->DisconnectAbility(connection);
604 EXPECT_NE(abilityManagerHelper->subscriberConnection_.size(), 0);
605 GTEST_LOG_(INFO) << "AbilityManagerHelper_0800 end";
606 }
607
608 /**
609 * @tc.name : test DisconnectServiceAbilityDelay
610 * @tc.number: AbilityManagerHelper_0900
611 * @tc.desc : Test the DisconnectServiceAbilityDelay function when the connection is nullptr.
612 */
HWTEST_F(AbilityManagerHelperTest,AbilityManagerHelper_0900,Level1)613 HWTEST_F(AbilityManagerHelperTest, AbilityManagerHelper_0900, Level1)
614 {
615 GTEST_LOG_(INFO) << "AbilityManagerHelper_0900 start";
616 auto abilityManagerHelper = std::make_shared<AbilityManagerHelper>();
617 auto handler = std::make_shared<EventHandler>(EventRunner::Create());
618 abilityManagerHelper->SetEventHandler(handler);
619 CommonEventData data;
620 sptr<StaticSubscriberConnection> connection = new (std::nothrow) StaticSubscriberConnection(data);
621 abilityManagerHelper->subscriberConnection_.emplace(connection);
622 abilityManagerHelper->DisconnectServiceAbilityDelay(nullptr);
623 EXPECT_NE(abilityManagerHelper->subscriberConnection_.size(), 0);
624 GTEST_LOG_(INFO) << "AbilityManagerHelper_0900 end";
625 }
626
627 /**
628 * @tc.name : test DisconnectServiceAbilityDelay
629 * @tc.number: AbilityManagerHelper_1000
630 * @tc.desc : Test the DisconnectServiceAbilityDelay function when the eventHandler_ is nullptr.
631 */
HWTEST_F(AbilityManagerHelperTest,AbilityManagerHelper_1000,Level1)632 HWTEST_F(AbilityManagerHelperTest, AbilityManagerHelper_1000, Level1)
633 {
634 GTEST_LOG_(INFO) << "AbilityManagerHelper_1000 start";
635 auto abilityManagerHelper = std::make_shared<AbilityManagerHelper>();
636 CommonEventData data;
637 sptr<StaticSubscriberConnection> connection = new (std::nothrow) StaticSubscriberConnection(data);
638 abilityManagerHelper->subscriberConnection_.emplace(connection);
639 abilityManagerHelper->DisconnectServiceAbilityDelay(connection);
640 EXPECT_NE(abilityManagerHelper->subscriberConnection_.size(), 0);
641 GTEST_LOG_(INFO) << "AbilityManagerHelper_1000 end";
642 }
643
644 /**
645 * @tc.name : test DisconnectServiceAbilityDelay
646 * @tc.number: AbilityManagerHelper_1100
647 * @tc.desc : Test the DisconnectServiceAbilityDelay function when the input parameters meet the requirements.
648 */
HWTEST_F(AbilityManagerHelperTest,AbilityManagerHelper_1100,Level1)649 HWTEST_F(AbilityManagerHelperTest, AbilityManagerHelper_1100, Level1)
650 {
651 GTEST_LOG_(INFO) << "AbilityManagerHelper_1100 start";
652 auto abilityManagerHelper = std::make_shared<AbilityManagerHelper>();
653 CommonEventData data;
654 sptr<StaticSubscriberConnection> firstConnection = new (std::nothrow) StaticSubscriberConnection(data);
655 abilityManagerHelper->subscriberConnection_.emplace(firstConnection);
656 auto handler = std::make_shared<EventHandler>(EventRunner::Create());
657 abilityManagerHelper->SetEventHandler(handler);
658 sptr<StaticSubscriberConnection> SecondConnection = new (std::nothrow) StaticSubscriberConnection(data);
659 abilityManagerHelper->DisconnectServiceAbilityDelay(SecondConnection);
660 EXPECT_NE(abilityManagerHelper->subscriberConnection_.size(), 0);
661 GTEST_LOG_(INFO) << "AbilityManagerHelper_1100 end";
662 }