diff --git a/test/fuzztest/advancednotificationservice_fuzzer/advancednotificationservice_fuzzer.cpp b/test/fuzztest/advancednotificationservice_fuzzer/advancednotificationservice_fuzzer.cpp index ff14aaf202330c9dcb04ef2a5cfa7d91b3b37542..dc8e6bc62c895bfa062d25914badb52ba566547e 100644 --- a/test/fuzztest/advancednotificationservice_fuzzer/advancednotificationservice_fuzzer.cpp +++ b/test/fuzztest/advancednotificationservice_fuzzer/advancednotificationservice_fuzzer.cpp @@ -33,6 +33,137 @@ namespace OHOS { bool DoSomethingInterestingWithMyAPI(FuzzData fuzzData) { + Notification::AdvancedNotificationService advancedNotificationService; + advancedNotificationService.InitPublishProcess(); + advancedNotificationService.CreateDialogManager(); + std::string stringData = fuzzData.GenerateRandomString(); + sptr notification = new Notification::NotificationRequest(); + notification->SetOwnerUid(fuzzData.GenerateRandomInt32()); + notification->SetCreatorUid(fuzzData.GenerateRandomInt32()); + notification->SetSlotType(Notification::NotificationConstant::SlotType::LIVE_VIEW); + auto content = std::make_shared(); + notification->SetContent(std::make_shared(content)); + advancedNotificationService.Publish(stringData, notification); + int notificationId = fuzzData.GenerateRandomInt32(); + advancedNotificationService.Cancel(notificationId, stringData, 0); + advancedNotificationService.CancelAll(0); + int32_t userId = fuzzData.GenerateRandomInt32(); + advancedNotificationService.CancelAsBundle(notificationId, stringData, userId); + uint8_t type = fuzzData.GetData() % SLOT_TYPE_NUM; + Notification::NotificationConstant::SlotType slotType = Notification::NotificationConstant::SlotType(type); + advancedNotificationService.AddSlotByType(slotType); + std::vector> slots; + advancedNotificationService.AddSlots(slots); + advancedNotificationService.RemoveSlotByType(slotType); + advancedNotificationService.RemoveAllSlots(); + sptr slot = new Notification::NotificationSlot(); + advancedNotificationService.GetSlotByType(slotType, slot); + advancedNotificationService.GetSlots(slots); + sptr bundleOption = new Notification::NotificationBundleOption(); + bundleOption->SetBundleName(fuzzData.GenerateRandomString()); + bundleOption->SetUid(fuzzData.GenerateRandomInt32()); + uint64_t num = fuzzData.GetData(); + advancedNotificationService.CancelAsBundle(bundleOption, fuzzData.GenerateRandomInt32()); + advancedNotificationService.CancelAsBundleWithAgent(bundleOption, fuzzData.GenerateRandomInt32()); + advancedNotificationService.GetSlotNumAsBundle(bundleOption, num); + std::vector> notifications; + advancedNotificationService.GetActiveNotifications(notifications, 0); + advancedNotificationService.GetActiveNotificationNums(num); + std::vector> notificationss; + advancedNotificationService.GetAllActiveNotifications(notificationss); + std::vector key; + advancedNotificationService.GetSpecialActiveNotifications(key, notificationss); + advancedNotificationService.SetNotificationAgent(stringData); + advancedNotificationService.GetNotificationAgent(stringData); + bool canPublish = fuzzData.GenerateRandomBool(); + advancedNotificationService.CanPublishAsBundle(stringData, canPublish); + advancedNotificationService.PublishAsBundle(notification, stringData); + advancedNotificationService.SetNotificationBadgeNum(num); + int importance = fuzzData.GenerateRandomInt32(); + advancedNotificationService.GetBundleImportance(importance); + bool granted = fuzzData.GenerateRandomBool(); + advancedNotificationService.HasNotificationPolicyAccessPermission(granted); + int32_t removeReason = fuzzData.GenerateRandomInt32(); + advancedNotificationService.RemoveNotification(bundleOption, notificationId, stringData, removeReason); + advancedNotificationService.RemoveAllNotifications(bundleOption); + advancedNotificationService.Delete(stringData, removeReason); + advancedNotificationService.DeleteByBundle(bundleOption); + advancedNotificationService.DeleteAll(); + advancedNotificationService.GetSlotsByBundle(bundleOption, slots); + advancedNotificationService.UpdateSlots(bundleOption, slots); + bool enabled = fuzzData.GenerateRandomBool(); + advancedNotificationService.SetNotificationsEnabledForBundle(stringData, enabled); + advancedNotificationService.SetNotificationsEnabledForAllBundles(stringData, enabled); + advancedNotificationService.SetNotificationsEnabledForSpecialBundle(stringData, bundleOption, enabled); + advancedNotificationService.SetShowBadgeEnabledForBundle(bundleOption, enabled); + advancedNotificationService.GetShowBadgeEnabledForBundle(bundleOption, enabled); + advancedNotificationService.GetShowBadgeEnabled(enabled); + sptr subscriber = new Notification::AnsSubscriberStub(); + sptr info = new Notification::NotificationSubscribeInfo(); + advancedNotificationService.Subscribe(subscriber, info); + advancedNotificationService.Unsubscribe(subscriber, info); + bool allowed = fuzzData.GenerateRandomBool(); + advancedNotificationService.IsAllowedNotify(allowed); + advancedNotificationService.IsAllowedNotifySelf(allowed); + advancedNotificationService.IsSpecialBundleAllowedNotify(bundleOption, allowed); + advancedNotificationService.CancelGroup(stringData, 0); + advancedNotificationService.RemoveGroupByBundle(bundleOption, stringData); + sptr date = new Notification::NotificationDoNotDisturbDate(); + advancedNotificationService.SetDoNotDisturbDate(date); + advancedNotificationService.GetDoNotDisturbDate(date); + bool doesSupport = fuzzData.GenerateRandomBool(); + advancedNotificationService.DoesSupportDoNotDisturbMode(doesSupport); + advancedNotificationService.IsDistributedEnabled(enabled); + advancedNotificationService.EnableDistributedByBundle(bundleOption, enabled); + advancedNotificationService.EnableDistributedSelf(enabled); + advancedNotificationService.EnableDistributed(enabled); + advancedNotificationService.IsDistributedEnableByBundle(bundleOption, enabled); + Notification::NotificationConstant::RemindType remindType; + advancedNotificationService.GetDeviceRemindType(remindType); + sptr request = new Notification::NotificationRequest(); + advancedNotificationService.PublishContinuousTaskNotification(request); + advancedNotificationService.CancelContinuousTaskNotification(stringData, notificationId); + sptr reminder = new Notification::ReminderRequest(); + advancedNotificationService.PublishReminder(reminder); + int32_t reminderId = fuzzData.GenerateRandomInt32(); + advancedNotificationService.CancelReminder(reminderId); + std::vector> reminders; + advancedNotificationService.GetValidReminders(reminders); + advancedNotificationService.CancelAllReminders(); + uint64_t excludeDate = fuzzData.GetData(); + advancedNotificationService.AddExcludeDate(reminderId, excludeDate); + advancedNotificationService.DelExcludeDates(reminderId); + std::vector excludeDates; + advancedNotificationService.GetExcludeDates(reminderId, excludeDates); + bool support = fuzzData.GenerateRandomBool(); + advancedNotificationService.IsSupportTemplate(stringData, support); + advancedNotificationService.IsSpecialUserAllowedNotify(userId, allowed); + int32_t deviceIds = fuzzData.GenerateRandomInt32(); + advancedNotificationService.SetNotificationsEnabledByUser(deviceIds, enabled); + advancedNotificationService.DeleteAllByUser(userId); + advancedNotificationService.SetDoNotDisturbDate(date); + advancedNotificationService.GetDoNotDisturbDate(date); + advancedNotificationService.SetEnabledForBundleSlot(bundleOption, slotType, enabled, false); + advancedNotificationService.GetEnabledForBundleSlot(bundleOption, slotType, enabled); + std::vector dumpInfo; + advancedNotificationService.ShellDump(stringData, stringData, userId, userId, dumpInfo); + advancedNotificationService.SetSyncNotificationEnabledWithoutApp(userId, enabled); + advancedNotificationService.GetSyncNotificationEnabledWithoutApp(userId, enabled); + int32_t badgeNum = fuzzData.GenerateRandomInt32(); + advancedNotificationService.SetBadgeNumber(badgeNum, 0); + sptr dialogCallback = NULL; + sptr callerToken = new Notification::AnsSubscriberStub(); + advancedNotificationService.RequestEnableNotification(stringData, dialogCallback, callerToken); + bool enable; + std::string bundleName; + advancedNotificationService.CanPopEnableNotificationDialog(nullptr, enable, bundleName); + std::vector keys; + keys.emplace_back(fuzzData.GenerateRandomString()); + advancedNotificationService.RemoveNotifications(keys, fuzzData.GenerateRandomInt32()); + advancedNotificationService.SetBadgeNumberByBundle(bundleOption, fuzzData.GenerateRandomInt32()); + advancedNotificationService.SetDistributedEnabledByBundle(bundleOption, fuzzData.GenerateRandomString(), + fuzzData.GenerateRandomBool()); + advancedNotificationService.IsDistributedEnableByBundle(bundleOption, enable); return true; } }