1 /* 2 * Copyright (c) 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 <gtest/gtest.h> 17 18 #include "reminder_request.h" 19 #include "reminder_request_adaptation.h" 20 21 #include "ans_inner_errors.h" 22 #include "reminder_helper.h" 23 #include "nativetoken_kit.h" 24 #include "token_setproc.h" 25 26 using namespace testing::ext; 27 namespace OHOS { 28 namespace Notification { 29 class ReminderHelperTest : public testing::Test { 30 public: SetUpTestCase()31 static void SetUpTestCase() 32 { 33 const char **perms = new const char *[1]; 34 perms[0] = "ohos.permission.NOTIFICATION_CONTROLLER"; 35 NativeTokenInfoParams infoInstance = { 36 .dcapsNum = 0, 37 .permsNum = 1, 38 .aclsNum = 0, 39 .dcaps = nullptr, 40 .perms = perms, 41 .acls = nullptr, 42 .aplStr = "system_basic", 43 }; 44 45 uint64_t tokenId; 46 infoInstance.processName = "reminder_unit_test"; 47 tokenId = GetAccessTokenId(&infoInstance); 48 SetSelfTokenID(tokenId); 49 delete[] perms; 50 } TearDownTestCase()51 static void TearDownTestCase() {} SetUp()52 void SetUp() {} TearDown()53 void TearDown() {} 54 }; 55 56 /** 57 * @tc.name: PublishReminder_00001 58 * @tc.desc: Test PublishReminder parameters. 59 * @tc.type: FUNC 60 * @tc.require: issueI5WRQ2 61 */ 62 HWTEST_F(ReminderHelperTest, PublishReminder_00001, Function | SmallTest | Level1) 63 { 64 ReminderRequest reminder; 65 ReminderHelper reminderHelper; 66 int32_t reminderId = -1; 67 ErrCode ret = reminderHelper.PublishReminder(reminder, reminderId); 68 EXPECT_NE(ret, (int)ERR_OK); 69 } 70 71 /** 72 * @tc.name: CancelReminder_00001 73 * @tc.desc: Test CancelReminder parameters. 74 * @tc.type: FUNC 75 * @tc.require: issueI5WRQ2 76 */ 77 HWTEST_F(ReminderHelperTest, CancelReminder_00001, Function | SmallTest | Level1) 78 { 79 int32_t reminderId = 10; 80 ReminderHelper reminderHelper; 81 ErrCode ret = reminderHelper.CancelReminder(reminderId); 82 EXPECT_NE(ret, (int)ERR_OK); 83 } 84 85 /** 86 * @tc.name: CancelAllReminders_00001 87 * @tc.desc: Test CancelAllReminders parameters. 88 * @tc.type: FUNC 89 * @tc.require: issueI5WRQ2 90 */ 91 HWTEST_F(ReminderHelperTest, CancelAllReminders_00001, Function | SmallTest | Level1) 92 { 93 ReminderHelper reminderHelper; 94 ErrCode ret = reminderHelper.CancelAllReminders(); 95 EXPECT_NE(ret, (int)ERR_OK); 96 } 97 98 /** 99 * @tc.name: GetValidReminders_00001 100 * @tc.desc: Test GetValidReminders parameters. 101 * @tc.type: FUNC 102 * @tc.require: issueI5WRQ2 103 */ 104 HWTEST_F(ReminderHelperTest, GetValidReminders_00001, Function | SmallTest | Level1) 105 { 106 std::vector<ReminderRequestAdaptation> validReminders; 107 ReminderHelper reminderHelper; 108 ErrCode ret = reminderHelper.GetValidReminders(validReminders); 109 EXPECT_NE(ret, (int)ERR_OK); 110 } 111 112 /** 113 * @tc.name: AddNotificationSlot_00001 114 * @tc.desc: Test AddNotificationSlot parameters. 115 * @tc.type: FUNC 116 * @tc.require: issueI5WRQ2 117 */ 118 HWTEST_F(ReminderHelperTest, AddNotificationSlot_00001, Function | SmallTest | Level1) 119 { 120 NotificationSlot slot; 121 ReminderHelper reminderHelper; 122 ErrCode ret = reminderHelper.AddNotificationSlot(slot); 123 EXPECT_NE(ret, (int)ERR_ANS_INVALID_BUNDLE); 124 } 125 126 /** 127 * @tc.name: RemoveNotificationSlot_00001 128 * @tc.desc: Test RemoveNotificationSlot parameters. 129 * @tc.type: FUNC 130 * @tc.require: issueI5WRQ2 131 */ 132 HWTEST_F(ReminderHelperTest, RemoveNotificationSlot_00001, Function | SmallTest | Level1) 133 { 134 NotificationConstant::SlotType slotType = NotificationConstant::SlotType::SERVICE_REMINDER; 135 ReminderHelper reminderHelper; 136 ErrCode ret = reminderHelper.RemoveNotificationSlot(slotType); 137 EXPECT_NE(ret, (int)ERR_ANS_INVALID_BUNDLE); 138 } 139 140 /** 141 * @tc.name: AddExcludeDate_00001 142 * @tc.desc: Test AddExcludeDate parameters. 143 * @tc.type: FUNC 144 * @tc.require: issue#I9F24R 145 */ 146 HWTEST_F(ReminderHelperTest, AddExcludeDate_00001, Function | SmallTest | Level1) 147 { 148 int32_t reminderId = 1; 149 uint64_t date = 1713196800000; 150 ReminderHelper reminderHelper; 151 ErrCode ret = reminderHelper.AddExcludeDate(reminderId, date); 152 EXPECT_NE(ret, (int)ERR_ANS_INVALID_BUNDLE); 153 } 154 155 /** 156 * @tc.name: DelExcludeDates_00001 157 * @tc.desc: Test DelExcludeDates parameters. 158 * @tc.type: FUNC 159 * @tc.require: issue#I9F24R 160 */ 161 HWTEST_F(ReminderHelperTest, DelExcludeDates_00001, Function | SmallTest | Level1) 162 { 163 int32_t reminderId = 1; 164 ReminderHelper reminderHelper; 165 ErrCode ret = reminderHelper.DelExcludeDates(reminderId); 166 EXPECT_NE(ret, (int)ERR_ANS_INVALID_BUNDLE); 167 } 168 169 /** 170 * @tc.name: GetExcludeDates_00001 171 * @tc.desc: Test GetExcludeDates parameters. 172 * @tc.type: FUNC 173 * @tc.require: issue#I9F24R 174 */ 175 HWTEST_F(ReminderHelperTest, GetExcludeDates_00001, Function | SmallTest | Level1) 176 { 177 int32_t reminderId = 1; 178 std::vector<int64_t> dates; 179 ReminderHelper reminderHelper; 180 ErrCode ret = reminderHelper.GetExcludeDates(reminderId, dates); 181 EXPECT_NE(ret, (int)ERR_ANS_INVALID_BUNDLE); 182 } 183 184 /** 185 * @tc.name: UpdateReminder_00001 186 * @tc.desc: Test UpdateReminder parameters. 187 * @tc.type: FUNC 188 * @tc.require: issue#I9F24R 189 */ 190 HWTEST_F(ReminderHelperTest, UpdateReminder_00001, Function | SmallTest | Level1) 191 { 192 ReminderRequest reminder; 193 ReminderHelper reminderHelper; 194 int32_t reminderId = 1; 195 ErrCode ret = reminderHelper.UpdateReminder(reminderId, reminder); 196 EXPECT_NE(ret, (int)ERR_OK); 197 } 198 } 199 } 200