已合并
E2E接续 #20217
已合并
皇甫毅创建于 14 天前
36 个文件变更+174-35
@@ -898,7 +898,8 @@ public:
898 * @param versionCode, version of the remote target ability.898 * @param versionCode, version of the remote target ability.
899 * @return Returns ERR_OK on success, others on failure.899 * @return Returns ERR_OK on success, others on failure.
900 */900 */
901- ErrCode ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode);901+ ErrCode ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode,
902+ int32_t userId = -1);
902 903 
903 /**904 /**
904 * notify continuation result to application.905 * notify continuation result to application.
@@ -1100,7 +1100,8 @@ public:
1100 return 0;1100 return 0;
1101 }1101 }
1102 1102 
1103- virtual int ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode) = 0;1103+ virtual int ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode,
1104+ int32_t userId = -1) = 0;
1104 1105 
1105 virtual int StartContinuation(const Want &want, const sptr<IRemoteObject> &abilityToken, int32_t status) = 0;1106 virtual int StartContinuation(const Want &want, const sptr<IRemoteObject> &abilityToken, int32_t status) = 0;
1106 1107 
@@ -816,7 +816,8 @@ public:
816 virtual int ContinueMission(AAFwk::ContinueMissionInfo continueMissionInfo,816 virtual int ContinueMission(AAFwk::ContinueMissionInfo continueMissionInfo,
817 const sptr<IRemoteObject> &callback) override;817 const sptr<IRemoteObject> &callback) override;
818 818 
819- virtual int ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode) override;819+ virtual int ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode,
820+ int32_t userId = -1) override;
820 821 
821 virtual int StartContinuation(const Want &want, const sptr<IRemoteObject> &abilityToken, int32_t status) override;822 virtual int StartContinuation(const Want &want, const sptr<IRemoteObject> &abilityToken, int32_t status) override;
822 823 
@@ -815,7 +815,8 @@ public:
815 * @param versionCode, target bundle version.815 * @param versionCode, target bundle version.
816 * @return Returns ERR_OK on success, others on failure.816 * @return Returns ERR_OK on success, others on failure.
817 */817 */
818- virtual int ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode) override;818+ virtual int ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode,
819+ int32_t userId = -1) override;
819 820 
820 /**821 /**
821 * StartContinuation, continue ability to remote.822 * StartContinuation, continue ability to remote.
@@ -930,11 +930,12 @@ void AbilityManagerClient::NotifyCompleteContinuation(const std::string &deviceI
930 abms->NotifyCompleteContinuation(deviceId, sessionId, isSuccess);930 abms->NotifyCompleteContinuation(deviceId, sessionId, isSuccess);
931}931}
932 932 
933-ErrCode AbilityManagerClient::ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode)933+ErrCode AbilityManagerClient::ContinueAbility(const std::string &deviceId, int32_t missionId,
934+ uint32_t versionCode, int32_t userId)
934{935{
935 auto abms = GetAbilityManager();936 auto abms = GetAbilityManager();
936 CHECK_POINTER_RETURN_NOT_CONNECTED(abms);937 CHECK_POINTER_RETURN_NOT_CONNECTED(abms);
937- return abms->ContinueAbility(deviceId, missionId, versionCode);938+ return abms->ContinueAbility(deviceId, missionId, versionCode, userId);
938}939}
939 940 
940ErrCode AbilityManagerClient::NotifyContinuationResult(int32_t missionId, int32_t result)941ErrCode AbilityManagerClient::NotifyContinuationResult(int32_t missionId, int32_t result)
@@ -2902,7 +2902,8 @@ int AbilityManagerProxy::ContinueMission(AAFwk::ContinueMissionInfo continueMiss
2902 return reply.ReadInt32();2902 return reply.ReadInt32();
2903}2903}
2904 2904 
2905-int AbilityManagerProxy::ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode)2905+int AbilityManagerProxy::ContinueAbility(const std::string &deviceId, int32_t missionId,
2906+ uint32_t versionCode, int32_t userId)
2906{2907{
2907 MessageParcel data;2908 MessageParcel data;
2908 MessageParcel reply;2909 MessageParcel reply;
@@ -2922,6 +2923,10 @@ int AbilityManagerProxy::ContinueAbility(const std::string &deviceId, int32_t mi
2922 TAG_LOGE(AAFwkTag::ABILITYMGR, "versionCode write fail");2923 TAG_LOGE(AAFwkTag::ABILITYMGR, "versionCode write fail");
2923 return INNER_ERR;2924 return INNER_ERR;
2924 }2925 }
2926+ if (!data.WriteInt32(userId)) {
2927+ TAG_LOGE(AAFwkTag::ABILITYMGR, "userId write fail");
皇甫毅
皇甫毅皇甫毅11 天前

可以打印一下userid

likedislike
2928+ return INNER_ERR;
2929+ }
2925 2930 
2926 auto error = SendRequest(AbilityManagerInterfaceCode::CONTINUE_ABILITY, data, reply, option);2931 auto error = SendRequest(AbilityManagerInterfaceCode::CONTINUE_ABILITY, data, reply, option);
2927 if (error != NO_ERROR) {2932 if (error != NO_ERROR) {
@@ -6752,11 +6752,13 @@ int AbilityManagerService::ContinueMission(AAFwk::ContinueMissionInfo continueMi
6752 return dmsClient.ContinueMission(continueMissionInfo, callback);6752 return dmsClient.ContinueMission(continueMissionInfo, callback);
6753}6753}
6754 6754 
6755-int AbilityManagerService::ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode)6755+int AbilityManagerService::ContinueAbility(const std::string &deviceId, int32_t missionId,
6756+ uint32_t versionCode, int32_t userId)
6756{6757{
6757 XCOLLIE_TIMER_LESS(__PRETTY_FUNCTION__);6758 XCOLLIE_TIMER_LESS(__PRETTY_FUNCTION__);
6758 TAG_LOGI(AAFwkTag::ABILITYMGR,6759 TAG_LOGI(AAFwkTag::ABILITYMGR,
6759- "ContinueAbility missionId = %{public}d, version = %{public}u.", missionId, versionCode);6760+ "ContinueAbility missionId = %{public}d, version = %{public}u, userId = %{public}d.",
6761+ missionId, versionCode, userId);
6760 if (!CheckCallerIsDmsProcess()) {6762 if (!CheckCallerIsDmsProcess()) {
6761 TAG_LOGE(AAFwkTag::ABILITYMGR, "check processName failed");6763 TAG_LOGE(AAFwkTag::ABILITYMGR, "check processName failed");
6762 return ERR_INVALID_VALUE;6764 return ERR_INVALID_VALUE;
@@ -6764,7 +6766,8 @@ int AbilityManagerService::ContinueAbility(const std::string &deviceId, int32_t
6764 6766 
6765 std::shared_ptr<AbilityRecord> abilityRecord = nullptr;6767 std::shared_ptr<AbilityRecord> abilityRecord = nullptr;
6766 if (Rosen::SceneBoardJudgement::IsSceneBoardEnabled()) {6768 if (Rosen::SceneBoardJudgement::IsSceneBoardEnabled()) {
6767- auto uiAbilityManager = GetCurrentUIAbilityManager();6769+ auto uiAbilityManager = (userId >= 0) ? GetUIAbilityManagerByUserId(userId)
6770+ : GetCurrentUIAbilityManager();
6768 CHECK_POINTER_AND_RETURN(uiAbilityManager, ERR_INVALID_VALUE);6771 CHECK_POINTER_AND_RETURN(uiAbilityManager, ERR_INVALID_VALUE);
6769 abilityRecord = uiAbilityManager->GetAbilityRecordsById(missionId);6772 abilityRecord = uiAbilityManager->GetAbilityRecordsById(missionId);
6770 } else {6773 } else {
@@ -43,6 +43,7 @@ constexpr int32_t INDEX_ONE = 1;
43constexpr int32_t MAX_KILL_PROCESS_PID_COUNT = 100;43constexpr int32_t MAX_KILL_PROCESS_PID_COUNT = 100;
44constexpr int32_t MAX_UPDATE_CONFIG_SIZE = 100;44constexpr int32_t MAX_UPDATE_CONFIG_SIZE = 100;
45constexpr int32_t MAX_WANT_LIST_SIZE = 4;45constexpr int32_t MAX_WANT_LIST_SIZE = 4;
46+constexpr int32_t INVALID_USER_ID = -1;
46} // namespace47} // namespace
47AbilityManagerStub::AbilityManagerStub()48AbilityManagerStub::AbilityManagerStub()
48{}49{}
@@ -2462,8 +2463,12 @@ int AbilityManagerStub::ContinueAbilityInner(MessageParcel &data, MessageParcel
2462 std::string deviceId = data.ReadString();2463 std::string deviceId = data.ReadString();
2463 int32_t missionId = data.ReadInt32();2464 int32_t missionId = data.ReadInt32();
2464 uint32_t versionCode = data.ReadUint32();2465 uint32_t versionCode = data.ReadUint32();
2466+ int32_t userId = INVALID_USER_ID;
2467+ if (!data.ReadInt32(userId)) {
2468+ userId = INVALID_USER_ID;
2469+ }
2465 AAFWK::ContinueRadar::GetInstance().SaveDataContinue("ContinueAbility");2470 AAFWK::ContinueRadar::GetInstance().SaveDataContinue("ContinueAbility");
2466- int32_t result = ContinueAbility(deviceId, missionId, versionCode);2471+ int32_t result = ContinueAbility(deviceId, missionId, versionCode, userId);
2467 TAG_LOGI(AAFwkTag::ABILITYMGR, "result=%{public}d", result);2472 TAG_LOGI(AAFwkTag::ABILITYMGR, "result=%{public}d", result);
2468 return result;2473 return result;
2469}2474}
@@ -195,7 +195,8 @@ public:
195 return 0;195 return 0;
196 }196 }
197 197 
198- int ContinueAbility(const std::string& deviceId, int32_t missionId, uint32_t versionCode)198+ int ContinueAbility(const std::string& deviceId, int32_t missionId,
199+ uint32_t versionCode, int32_t userId)
199 {200 {
200 return 0;201 return 0;
201 }202 }
@@ -119,7 +119,8 @@ public:
119 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));119 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
120 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,120 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
121 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));121 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
122- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));122+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId,
123+ uint32_t versionCode, int32_t userId));
123 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));124 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
124 125 
125 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));126 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -105,7 +105,8 @@ public:
105 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));105 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
106 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,106 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
107 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));107 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
108- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));108+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId,
109+ uint32_t versionCode, int32_t userId));
109 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));110 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
110 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));111 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
111 MOCK_METHOD1(UnlockMissionForCleanup, int(int32_t missionId));112 MOCK_METHOD1(UnlockMissionForCleanup, int(int32_t missionId));
@@ -291,7 +292,8 @@ public:
291 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));292 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
292 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,293 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
293 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));294 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
294- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));295+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId,
296+ uint32_t versionCode, int32_t userId));
295 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));297 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
296 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));298 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
297 MOCK_METHOD1(UnlockMissionForCleanup, int(int32_t missionId));299 MOCK_METHOD1(UnlockMissionForCleanup, int(int32_t missionId));
@@ -138,7 +138,8 @@ public:
138 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));138 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
139 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,139 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
140 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));140 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
141- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));141+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId,
142+ uint32_t versionCode, int32_t userId));
142 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));143 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
143 144 
144 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));145 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -140,7 +140,8 @@ public:
140 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));140 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
141 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,141 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
142 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));142 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
143- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));143+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId,
144+ uint32_t versionCode, int32_t userId));
144 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));145 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
145 146 
146 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));147 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -225,7 +225,8 @@ public:
225 {225 {
226 return 0;226 return 0;
227 }227 }
228- int ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode) override228+ int ContinueAbility(const std::string &deviceId, int32_t missionId,
229+ uint32_t versionCode, int32_t userId) override
229 {230 {
230 return 0;231 return 0;
231 }232 }
@@ -91,7 +91,8 @@ public:
91 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));91 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
92 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,92 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
93 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));93 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
94- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));94+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode,
95+ int32_t userId));
95 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));96 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
96 97 
97 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));98 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -322,7 +322,8 @@ public:
322 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));322 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
323 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,323 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
324 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));324 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
325- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));325+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode,
326+ int32_t userId));
326 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));327 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
327 328 
328 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));329 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -2523,6 +2523,23 @@ HWTEST_F(AbilityManagerClientBranchTest, AbilityManagerClient_ContinueAbility_01
2523 GTEST_LOG_(INFO) << "ContinueAbility_0100 end";2523 GTEST_LOG_(INFO) << "ContinueAbility_0100 end";
2524}2524}
2525 2525 
2526+/**
2527+ * @tc.name: AbilityManagerClient_ContinueAbility_0200
2528+ * @tc.desc: ContinueAbility with userId
2529+ * @tc.type: FUNC
2530+ */
2531+HWTEST_F(AbilityManagerClientBranchTest, AbilityManagerClient_ContinueAbility_0200, TestSize.Level1)
2532+{
2533+ GTEST_LOG_(INFO) << "ContinueAbility_0200 start";
2534+ std::string deviceId = "123";
2535+ int32_t missionId = 1;
2536+ uint32_t versionCode = 1;
2537+ int32_t userId = 100;
2538+ auto result = client_->ContinueAbility(deviceId, missionId, versionCode, userId);
2539+ EXPECT_EQ(ERR_OK, result);
2540+ GTEST_LOG_(INFO) << "ContinueAbility_0200 end";
2541+}
2542+ 
2526/**2543/**
2527 * @tc.name: AbilityManagerClient_StopServiceAbility_01002544 * @tc.name: AbilityManagerClient_StopServiceAbility_0100
2528 * @tc.desc: StopServiceAbility2545 * @tc.desc: StopServiceAbility
@@ -342,7 +342,8 @@ public:
342 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));342 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
343 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,343 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
344 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));344 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
345- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));345+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode,
346+ int32_t userId));
346 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));347 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
347 348 
348 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));349 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -293,7 +293,8 @@ public:
293 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));293 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
294 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,294 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
295 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));295 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
296- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));296+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode,
297+ int32_t userId));
297 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));298 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
298 299 
299 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));300 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -439,6 +439,22 @@ HWTEST_F(AbilityManagerProxyFifthTest, ContinueAbility_0100, TestSize.Level1)
439 EXPECT_EQ(res2, ZERO);439 EXPECT_EQ(res2, ZERO);
440}440}
441 441 
442+/**
443+ * @tc.name: ContinueAbility_0200
444+ * @tc.desc: Test the ContinueAbility with userId
445+ * @tc.type: FUNC
446+ */
447+HWTEST_F(AbilityManagerProxyFifthTest, ContinueAbility_0200, TestSize.Level1)
448+{
449+ std::string deviceId = "001";
450+ int32_t missionId = 2;
451+ uint32_t versionCode = 3;
452+ int32_t userId = 100;
453+ EXPECT_CALL(*mock_, SendRequest(_, _, _, _)).WillOnce(Return(NO_ERROR));
454+ auto res = proxy_->ContinueAbility(deviceId, missionId, versionCode, userId);
455+ EXPECT_EQ(res, ZERO);
456+}
457+ 
442/**458/**
443 * @tc.name: StartContinuation_0100459 * @tc.name: StartContinuation_0100
444 * @tc.desc: Test the StartContinuation460 * @tc.desc: Test the StartContinuation
@@ -334,7 +334,8 @@ public:
334 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));334 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
335 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,335 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
336 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));336 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
337- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));337+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode,
338+ int32_t userId));
338 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));339 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
339 340 
340 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));341 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -334,7 +334,8 @@ public:
334 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));334 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
335 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,335 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
336 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));336 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
337- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));337+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode,
338+ int32_t userId));
338 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));339 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
339 340 
340 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));341 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -334,7 +334,8 @@ public:
334 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));334 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
335 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,335 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
336 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));336 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
337- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));337+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode,
338+ int32_t userId));
338 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));339 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
339 340 
340 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));341 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -334,7 +334,8 @@ public:
334 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));334 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
335 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,335 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
336 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));336 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
337- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));337+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode,
338+ int32_t userId));
338 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));339 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
339 340 
340 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));341 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -1487,6 +1487,28 @@ HWTEST_F(AbilityManagerProxyTest, AbilityManagerProxy_ContinueAbility_001, TestS
1487 EXPECT_EQ(res, NO_ERROR);1487 EXPECT_EQ(res, NO_ERROR);
1488}1488}
1489 1489 
1490+/*
1491+ * Feature: AbilityManagerService
1492+ * Function: ContinueAbility
1493+ * SubFunction: NA
1494+ * FunctionPoints: AbilityManagerService ContinueAbility with userId
1495+ * EnvConditions: NA
1496+ * CaseDescription: Verify the normal process of ContinueAbility with userId
1497+ */
1498+HWTEST_F(AbilityManagerProxyTest, AbilityManagerProxy_ContinueAbility_002, TestSize.Level1)
1499+{
1500+ EXPECT_CALL(*mock_, SendRequest(_, _, _, _))
1501+ .Times(1)
1502+ .WillOnce(Invoke(mock_.GetRefPtr(), &AbilityManagerStubMock::InvokeSendRequest));
1503+ std::string deviceId = "";
1504+ int32_t missionId = 1;
1505+ uint32_t versionCode = 1;
1506+ int32_t userId = 100;
1507+ auto res = proxy_->ContinueAbility(deviceId, missionId, versionCode, userId);
1508+ EXPECT_EQ(static_cast<uint32_t>(AbilityManagerInterfaceCode::CONTINUE_ABILITY), mock_->code_);
1509+ EXPECT_EQ(res, NO_ERROR);
1510+}
1511+ 
1490/*1512/*
1491 * Feature: AbilityManagerService1513 * Feature: AbilityManagerService
1492 * Function: NotifyCompleteContinuation1514 * Function: NotifyCompleteContinuation
@@ -353,7 +353,8 @@ public:
353 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));353 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
354 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,354 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
355 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));355 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
356- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));356+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode,
357+ int32_t userId));
357 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));358 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
358 359 
359 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));360 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -302,7 +302,8 @@ public:
302 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));302 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
303 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId, int32_t missionId,303 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId, int32_t missionId,
304 const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));304 const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
305- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));305+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode,
306+ int32_t userId));
306 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));307 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
307 308 
308 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));309 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -879,6 +879,24 @@ HWTEST_F(AbilityManagerServiceSecondTest, ContinueAbility_001, TestSize.Level1)
879 TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceSecondTest ContinueAbility_001 end");879 TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceSecondTest ContinueAbility_001 end");
880}880}
881 881 
882+/*
883+ * Feature: AbilityManagerService
884+ * Function: ContinueAbility
885+ * SubFunction: NA
886+ * FunctionPoints: AbilityManagerService ContinueAbility with userId
887+ */
888+HWTEST_F(AbilityManagerServiceSecondTest, ContinueAbility_002, TestSize.Level1)
889+{
890+ TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceSecondTest ContinueAbility_002 start");
891+ auto abilityMs_ = std::make_shared<AbilityManagerService>();
892+ abilityMs_->subManagersHelper_ = std::make_shared<SubManagersHelper>(nullptr, nullptr);
893+ abilityMs_->subManagersHelper_->currentUIAbilityManager_ = std::make_shared<UIAbilityLifecycleManager>();
894+ std::string deviceId = "test";
895+ int32_t userId = 100;
896+ EXPECT_EQ(abilityMs_->ContinueAbility(deviceId, 1, 1, userId), ERR_INVALID_VALUE);
897+ TAG_LOGI(AAFwkTag::TEST, "AbilityManagerServiceSecondTest ContinueAbility_002 end");
898+}
899+ 
882/*900/*
883 * Feature: AbilityManagerService901 * Feature: AbilityManagerService
884 * Function: StartContinuation902 * Function: StartContinuation
@@ -66,7 +66,8 @@ public:
66 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));66 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
67 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,67 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
68 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));68 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
69- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));69+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode,
70+ int32_t userId));
70 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));71 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
71 MOCK_METHOD1(GetAbilityRunningInfos, int(std::vector<AbilityRunningInfo>& info));72 MOCK_METHOD1(GetAbilityRunningInfos, int(std::vector<AbilityRunningInfo>& info));
72 MOCK_METHOD2(GetExtensionRunningInfos, int(int upperLimit, std::vector<ExtensionRunningInfo>& info));73 MOCK_METHOD2(GetExtensionRunningInfos, int(int upperLimit, std::vector<ExtensionRunningInfo>& info));
@@ -2071,6 +2071,30 @@ HWTEST_F(AbilityManagerStubTest, AbilityManagerStub_ContinueAbilityInner_001, Te
2071 EXPECT_EQ(res, NO_ERROR);2071 EXPECT_EQ(res, NO_ERROR);
2072}2072}
2073 2073 
2074+/*
2075+ * Feature: AbilityManagerService
2076+ * Function: ContinueAbilityInner
2077+ * SubFunction: NA
2078+ * FunctionPoints: AbilityManagerService ContinueAbilityInner with userId
2079+ * EnvConditions: NA
2080+ * CaseDescription: Verify the function ContinueAbilityInner with userId parameter.
2081+ */
2082+HWTEST_F(AbilityManagerStubTest, AbilityManagerStub_ContinueAbilityInner_002, TestSize.Level1)
2083+{
2084+ MessageParcel data;
2085+ MessageParcel reply;
2086+ std::string deviceId = "test_device";
2087+ int32_t missionId = 1;
2088+ uint32_t versionCode = 1;
2089+ int32_t userId = 100;
2090+ data.WriteString(deviceId);
2091+ data.WriteInt32(missionId);
2092+ data.WriteUint32(versionCode);
2093+ data.WriteInt32(userId);
2094+ auto res = stub_->ContinueAbilityInner(data, reply);
2095+ EXPECT_EQ(res, NO_ERROR);
2096+}
2097+ 
2074/*2098/*
2075 * Feature: AbilityManagerService2099 * Feature: AbilityManagerService
2076 * Function: StartContinuationInner2100 * Function: StartContinuationInner
@@ -327,7 +327,8 @@ public:
327 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));327 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
328 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,328 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
329 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));329 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
330- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));330+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode,
331+ int32_t userId));
331 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));332 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
332 333 
333 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));334 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -298,7 +298,8 @@ public:
298 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));298 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
299 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,299 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
300 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));300 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
301- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));301+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId,
302+ uint32_t versionCode, int32_t userId));
302 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));303 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
303 304 
304 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));305 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -392,7 +392,8 @@ void AbilityManagerClient::NotifyCompleteContinuation(const std::string &deviceI
392 int32_t sessionId, bool isSuccess)392 int32_t sessionId, bool isSuccess)
393{}393{}
394 394 
395-ErrCode AbilityManagerClient::ContinueAbility(const std::string &deviceId, int32_t missionId, uint32_t versionCode)395+ErrCode AbilityManagerClient::ContinueAbility(const std::string &deviceId, int32_t missionId,
396+ uint32_t versionCode, int32_t userId)
396{397{
397 return ERR_OK;398 return ERR_OK;
398}399}
@@ -298,7 +298,8 @@ public:
298 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));298 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
299 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,299 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
300 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));300 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
301- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));301+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId,
302+ uint32_t versionCode, int32_t userId));
302 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));303 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
303 304 
304 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));305 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -124,7 +124,8 @@ public:
124 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));124 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
125 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,125 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
126 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));126 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
127- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));127+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode,
128+ int32_t userId));
128 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));129 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
129 130 
130 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));131 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
@@ -99,7 +99,8 @@ public:
99 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));99 MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
100 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,100 MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
101 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));101 int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
102- MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));102+ MOCK_METHOD4(ContinueAbility, int(const std::string& deviceId, int32_t missionId,
103+ uint32_t versionCode, int32_t userId));
103 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));104 MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
104 105 
105 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));106 MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));