diff --git a/frameworks/ans/src/notification_request.cpp b/frameworks/ans/src/notification_request.cpp index 1ec29aa2fd71c9f528a3cb286623c068d3014bff..f7415525a761f84bc19148e64f394eeca9fd2269 100644 --- a/frameworks/ans/src/notification_request.cpp +++ b/frameworks/ans/src/notification_request.cpp @@ -879,6 +879,11 @@ std::string NotificationRequest::CollaborationToJson() const NotificationRequest *NotificationRequest::CollaborationFromJson(const std::string& basicInfo) { + if (basicInfo.empty() || !nlohmann::json::accept(basicInfo)) { + ANS_LOGE("Invalid JSON string"); + return nullptr; + } + nlohmann::json jsonObject = nlohmann::json::parse(basicInfo, nullptr, false); if (jsonObject.is_null() or !jsonObject.is_object()) { ANS_LOGE("Invalid JSON object"); diff --git a/services/ans/test/unittest/advanced_notification_service_test.cpp b/services/ans/test/unittest/advanced_notification_service_test.cpp index 4f6b14e20aa94a3f086eb20c5ee6ac6a78eb110d..ccf70904d3a1ce97ec943ed0e7e16f7fc28f7b6b 100644 --- a/services/ans/test/unittest/advanced_notification_service_test.cpp +++ b/services/ans/test/unittest/advanced_notification_service_test.cpp @@ -2091,8 +2091,8 @@ HWTEST_F(AdvancedNotificationServiceTest, OnDistributedPublish_0500, Function | } /** - * @tc.number : OnDistributedPublish_0300 - * @tc.name : OnDistributedPublish_0300 + * @tc.number : OnDistributedPublish_0600 + * @tc.name : OnDistributedPublish_0600 * @tc.desc : Test OnDistributedPublish function * @tc.require : #I61RF2 */ @@ -2107,6 +2107,7 @@ HWTEST_F(AdvancedNotificationServiceTest, OnDistributedPublish_0600, Function | request->SetOwnerBundleName("test"); request->SetUpdateOnly(true); advancedNotificationService.OnDistributedPublish(deviceId, bundleName, request); + SleepForFC(); ASSERT_EQ(advancedNotificationService.notificationList_.size(), 0); } @@ -4586,14 +4587,14 @@ HWTEST_F(AdvancedNotificationServiceTest, SetSilentReminderEnabled_00002, Functi ErrCode ret = advancedNotificationService.IsSilentReminderEnabled(bo, enableStatusInt); ASSERT_EQ(ret, ERR_OK); - ASSERT_EQ(enableStatusInt, 0); + ASSERT_EQ(enableStatusInt, 2); ret = advancedNotificationService.SetSilentReminderEnabled(bo, true); ASSERT_EQ(ret, ERR_OK); ret = advancedNotificationService.IsSilentReminderEnabled(bo, enableStatusInt); ASSERT_EQ(ret, ERR_OK); - ASSERT_EQ(enableStatusInt, 2); + ASSERT_EQ(enableStatusInt, 1); } /** diff --git a/services/ans/test/unittest/advanced_notification_service_test/advanced_notification_distributed_manager_service_test.cpp b/services/ans/test/unittest/advanced_notification_service_test/advanced_notification_distributed_manager_service_test.cpp index 399281464079eabc4cadefc180ee995fc3c22f45..5da4796174429d00158811b2fa5bcf18ae0ee32e 100644 --- a/services/ans/test/unittest/advanced_notification_service_test/advanced_notification_distributed_manager_service_test.cpp +++ b/services/ans/test/unittest/advanced_notification_service_test/advanced_notification_distributed_manager_service_test.cpp @@ -265,7 +265,7 @@ HWTEST_F(AdvancedNotificationDistMgrServiceTest, DistributeOperation_300, Functi /** * @tc.name: DistributeOperation_400 - * @tc.desc: Test DistributeOperation when record's NotificationRequestPoint is nullptr. + * @tc.desc: Test DistributeOperation when notification don't support distributed collaboration. * @tc.type: FUNC * @tc.require: issue */ @@ -277,7 +277,7 @@ HWTEST_F(AdvancedNotificationDistMgrServiceTest, DistributeOperation_400, Functi IPCSkeleton::SetCallingTokenID(NATIVE_TOKEN); sptr bundle = new NotificationBundleOption(TEST_DEFUALT_BUNDLE, NON_SYSTEM_APP_UID); sptr request = new (std::nothrow) NotificationRequest(); - request->SetDistributedCollaborate(true); + request->SetDistributedCollaborate(false); auto record = advancedNotificationService_->MakeNotificationRecord(request, bundle); advancedNotificationService_->AddToNotificationList(record); sptr operationInfo = new (std::nothrow) NotificationOperationInfo();