1/* 2 * Copyright (c) 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 */ 15import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' 16import commonEventManager from '@ohos.commonEventManager' 17 18export default function ActsCommonEventManagerTest() { 19 describe('SUB_NOTIFICATION_CES_MANAGER_TEST', function () { 20 let TAG = 'SUB_NOTIFICATION_CES_MANAGER_TEST ===>' 21 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST START`) 22 23 /* 24 * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0100 25 * @tc.name: publish(event: string, callback: AsyncCallback<void>): void 26 * @tc.desc: verify the callback function of publish 27 */ 28 it('SUB_NOTIFICATION_CES_MANAGER_TEST_0100', 0, async function (done) { 29 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0100 START`) 30 try { 31 commonEventManager.publish("EVENT01", (err) => { 32 if (err) { 33 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0100 err, error code: ${err.code}, message: ${err.message}`) 34 expect(false).assertTrue() 35 done() 36 } else { 37 console.info("SUB_NOTIFICATION_CES_MANAGER_TEST_0100 success") 38 expect(true).assertTrue() 39 done() 40 } 41 }) 42 } catch (err) { 43 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0100 failed, catch error code: ${err.code}, message: ${err.message}`) 44 expect(false).assertTrue() 45 done() 46 } 47 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0100 END`) 48 }) 49 50 /* 51 * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0200 52 * @tc.name: publish(event: string, options: CommonEventPublishData, callback: AsyncCallback<void>): void 53 * @tc.desc: publish options 54 */ 55 it('SUB_NOTIFICATION_CES_MANAGER_TEST_0200', 0, async function (done) { 56 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0200 START`) 57 let options = { 58 code: 0, 59 data: "initial data", 60 isOrdered: true 61 } 62 63 try { 64 commonEventManager.publish("EVENT02", options, (err) => { 65 if (err) { 66 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0200 err, error code: ${err.code}, message: ${err.message}`) 67 expect(false).assertTrue() 68 done() 69 } else { 70 console.info("SUB_NOTIFICATION_CES_MANAGER_TEST_0200 success") 71 expect(true).assertTrue() 72 done() 73 } 74 }) 75 } catch (err) { 76 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0200 failed, catch error code: ${err.code}, message: ${err.message}`) 77 expect(false).assertTrue() 78 done() 79 } 80 81 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0200 END`) 82 83 }) 84 85 /* 86 * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0300 87 * @tc.name: createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback<CommonEventSubscriber>): void 88 * @tc.desc: createSubscriber 89 */ 90 it('SUB_NOTIFICATION_CES_MANAGER_TEST_0300', 0, async function (done) { 91 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0300 START`) 92 93 let subscriber 94 95 let subscribeInfo = { 96 events: ["event03"] 97 } 98 99 try { 100 commonEventManager.createSubscriber(subscribeInfo, (err, commonEventSubscriber) => { 101 if (err) { 102 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0300 err, error code: ${err.code}, message: ${err.message}`) 103 expect(false).assertTrue() 104 done() 105 } else { 106 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0300 success ${commonEventSubscriber}`) 107 subscriber = commonEventSubscriber 108 expect(true).assertTrue() 109 done() 110 } 111 }) 112 } catch (err) { 113 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0300 failed, catch error code: ${err.code}, message: ${err.message}`) 114 expect(false).assertTrue() 115 done() 116 } 117 118 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0300 END`) 119 120 }) 121 122 /* 123 * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0400 124 * @tc.name: createSubscriber(subscribeInfo: CommonEventSubscribeInfo): Promise<CommonEventSubscriber> 125 * @tc.desc: createSubscriber 126 */ 127 it('SUB_NOTIFICATION_CES_MANAGER_TEST_0400', 0, async function (done) { 128 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0400 START`) 129 130 let subscriber 131 132 let subscribeInfo = { 133 events: ["event04"] 134 } 135 136 await commonEventManager.createSubscriber(subscribeInfo).then((commonEventSubscriber) => { 137 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0400 success ${commonEventSubscriber}`) 138 subscriber = commonEventSubscriber 139 expect(true).assertTrue() 140 done() 141 }).catch((err) => { 142 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0400 err, error code: ${err.code}, message: ${err.message}`) 143 expect(false).assertTrue() 144 done() 145 }) 146 147 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0400 END`) 148 149 }) 150 151 /* 152 * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0500 153 * @tc.name: subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback<CommonEventData>): void 154 * @tc.desc: subscribe 155 */ 156 it('SUB_NOTIFICATION_CES_MANAGER_TEST_0500', 0, async function (done) { 157 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0500 START`) 158 159 let subscriber 160 161 let subscribeInfo = { 162 events: ["event05"] 163 } 164 165 try { 166 commonEventManager.createSubscriber(subscribeInfo, (err, commonEventSubscriber) => { 167 if (err) { 168 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0500 err, error code: ${err.code}, message: ${err.message}`) 169 expect(false).assertTrue() 170 done() 171 } else { 172 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0500 success ${commonEventSubscriber}`) 173 subscriber = commonEventSubscriber 174 try { 175 commonEventManager.subscribe(subscriber, (err, data) => { 176 if (err) { 177 console.info(`subscribe_1 err, code is ${err.code}, message is ${err.message}`) 178 expect(false).assertTrue() 179 done() 180 } else { 181 console.info(`subscribe_1 success`) 182 expect(true).assertTrue() 183 done() 184 } 185 }) 186 } catch (err) { 187 console.info(`subscribe_1 failed, code is ${err.code}, message is ${err.message}`) 188 } 189 expect(true).assertTrue() 190 done() 191 } 192 }) 193 } catch (err) { 194 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0500 failed, code is ${err.code}, message is ${err.message}`) 195 expect(false).assertTrue() 196 done() 197 } 198 199 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0500 END`) 200 201 }) 202 203 /* 204 * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0600 205 * @tc.name: unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback<void>): void 206 * @tc.desc: unsubscribe 207 */ 208 it('SUB_NOTIFICATION_CES_MANAGER_TEST_0600', 0, async function (done) { 209 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0600 START`) 210 let subscriber 211 212 let subscribeInfo = { 213 events: ["event06"] 214 } 215 216 try { 217 commonEventManager.createSubscriber(subscribeInfo, (err, commonEventSubscriber) => { 218 if (err) { 219 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0600 err, error code: ${err.code}, message: ${err.message}`) 220 expect(false).assertTrue() 221 done() 222 } else { 223 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0600 success ${commonEventSubscriber}`) 224 subscriber = commonEventSubscriber 225 try { 226 commonEventManager.subscribe(subscriber, (err, data) => { 227 if (err) { 228 console.info(`subscribe_2 err, code is ${err.code}, message is ${err.message}`) 229 expect(false).assertTrue() 230 done() 231 } else { 232 console.info(`subscribe_2 success`) 233 expect(true).assertTrue() 234 done() 235 } 236 }) 237 } catch (err) { 238 console.info(`subscribe_2 failed, code is ${err.code}, message is ${err.message}`) 239 } 240 241 try { 242 commonEventManager.unsubscribe(subscriber, (err) => { 243 if (err) { 244 console.info(`unsubscribe err, code is ${err.code}, message is ${err.message}`) 245 expect(false).assertTrue() 246 done() 247 } else { 248 console.info(`unsubscribe success`) 249 expect(true).assertTrue() 250 done() 251 } 252 }) 253 } catch (err) { 254 console.info(`unsubscribe failed, code is ${err.code}, message is ${err.message}`) 255 expect(false).assertTrue() 256 done() 257 } 258 expect(true).assertTrue() 259 done() 260 } 261 }) 262 } catch (err) { 263 console.info(`createSubscriber failed, code is ${err.code}, message is ${err.message}`) 264 expect(false).assertTrue() 265 done() 266 } 267 268 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0600 END`) 269 270 }) 271 272 /* 273 * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0700 274 * @tc.name: getCode setCode setData getData setCodeAndData getSubscribeInfo finishCommonEvent 275 * @tc.desc: verify the callback function 276 */ 277 it('SUB_NOTIFICATION_CES_MANAGER_TEST_0700', 0, async function (done) { 278 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0700 START`) 279 280 let subscriber 281 282 let subscribeInfo = { 283 events: ["event07"] 284 } 285 286 try { 287 commonEventManager.createSubscriber(subscribeInfo, async (err, commonEventSubscriber) => { 288 if (err) { 289 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0700 err, error code: ${err.code}, message: ${err.message}`) 290 expect(false).assertTrue() 291 done() 292 } else { 293 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0700 success ${commonEventSubscriber}`) 294 subscriber = commonEventSubscriber 295 expect(true).assertTrue() 296 done() 297 298 await subscriber.setCode(1, (err) => { 299 if (err) { 300 console.info(`setCode_1 err, error code: ${err.code}, message: ${err.message}`) 301 expect(false).assertTrue() 302 done() 303 } else { 304 console.info(`setCode_1 success `) 305 expect(true).assertTrue() 306 subscriber.getCode((err, Code) => { 307 if (err) { 308 console.info(`getCode_1 err, error code: ${err.code}, message: ${err.message}`) 309 expect(false).assertTrue() 310 done() 311 } else { 312 console.info(`getCode_1 success ${Code}`) 313 expect(Code).assertEqual(1) 314 done() 315 } 316 }) 317 } 318 }) 319 320 await subscriber.setData('data01', (err) => { 321 if (err) { 322 console.info(`setData_1 err, error code: ${err.code}, message: ${err.message}`) 323 expect(false).assertTrue() 324 done() 325 } else { 326 console.info(`setData_1 success `) 327 expect(true).assertTrue() 328 done() 329 subscriber.getData((err, data) => { 330 if (err) { 331 console.info(`getData_1 err, error code: ${err.code}, message: ${err.message}`) 332 expect(false).assertTrue() 333 done() 334 } else { 335 console.info(`getData_1 success ${data}`) 336 expect(data).assertEqual('data01') 337 done() 338 } 339 }) 340 } 341 }) 342 343 await subscriber.setCodeAndData(2, 'data02', (err) => { 344 if (err) { 345 console.info(`setCodeAndData_1 err, error code: ${err.code}, message: ${err.message}`) 346 expect(false).assertTrue() 347 done() 348 } else { 349 console.info(`setCodeAndData_1 success `) 350 expect(true).assertTrue() 351 done() 352 } 353 }) 354 355 await subscriber.getSubscribeInfo((err, CommonEventSubscribeInfo) => { 356 if (err) { 357 console.info(`getSubscribeInfo_1 err, error code: ${err.code}, message: ${err.message}`) 358 expect(false).assertTrue() 359 done() 360 } else { 361 console.info(`getSubscribeInfo_1 success ${CommonEventSubscribeInfo}`) 362 expect(true).assertTrue() 363 done() 364 } 365 }) 366 367 await subscriber.finishCommonEvent((err) => { 368 if (err) { 369 console.info(`finishCommonEvent_1 err, error code: ${err.code}, message: ${err.message}`) 370 expect(false).assertTrue() 371 done() 372 } else { 373 console.info(`finishCommonEvent_1 success `) 374 expect(true).assertTrue() 375 done() 376 } 377 }) 378 379 } 380 }) 381 } catch (err) { 382 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0700 failed, catch error code: ${err.code}, message: ${err.message}`) 383 expect(false).assertTrue() 384 done() 385 } 386 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0700 END`) 387 388 }) 389 390 /* 391 * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0800 392 * @tc.name: getCode setCode setData getData setCodeAndData getSubscribeInfo finishCommonEvent 393 * @tc.desc: verify the promise function 394 */ 395 it('SUB_NOTIFICATION_CES_MANAGER_TEST_0800', 0, async function (done) { 396 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0800 START`) 397 398 let subscriber 399 400 let subscribeInfo = { 401 events: ["event08"] 402 } 403 404 try { 405 commonEventManager.createSubscriber(subscribeInfo, async (err, commonEventSubscriber) => { 406 if (err) { 407 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0800 err, error code: ${err.code}, message: ${err.message}`) 408 expect(false).assertTrue() 409 done() 410 } else { 411 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0800 success ${commonEventSubscriber}`) 412 subscriber = commonEventSubscriber 413 expect(true).assertTrue() 414 done() 415 416 await subscriber.setCode(3).then(() => { 417 console.info(`setCode_2 success `) 418 expect(true).assertTrue() 419 done() 420 }).catch((err) => { 421 console.info(`setCode_2 err, error code: ${err.code}, message: ${err.message}`) 422 expect(false).assertTrue() 423 done() 424 }) 425 426 await subscriber.getCode().then((Code) => { 427 console.info(`getCode_2 success ${Code}`) 428 expect(Code).assertEqual(3) 429 done() 430 }).catch((err) => { 431 console.info(`getCode_2 err, error code: ${err.code}, message: ${err.message}`) 432 expect(false).assertTrue() 433 done() 434 }) 435 436 await subscriber.setData('data03').then(() => { 437 console.info(`setData_2 success `) 438 expect(true).assertTrue() 439 done() 440 subscriber.getData().then((data) => { 441 console.info(`getData_2 success ${data}`) 442 expect(data).assertEqual('data03') 443 done() 444 }).catch((err) => { 445 console.info(`getData_2 err, error code: ${err.code}, message: ${err.message}`) 446 expect(false).assertTrue() 447 done() 448 }) 449 }).catch((err) => { 450 console.info(`setData_2 err, error code: ${err.code}, message: ${err.message}`) 451 expect(false).assertTrue() 452 done() 453 }) 454 455 await subscriber.setCodeAndData(4, 'data04').then(() => { 456 console.info(`setCodeAndData_2 success `) 457 expect(true).assertTrue() 458 done() 459 }).catch((err) => { 460 console.info(`setCodeAndData_2 err, error code: ${err.code}, message: ${err.message}`) 461 expect(false).assertTrue() 462 done() 463 }) 464 465 await subscriber.getSubscribeInfo().then((CommonEventSubscribeInfo) => { 466 console.info(`getSubscribeInfo_2 success ${CommonEventSubscribeInfo}`) 467 expect(true).assertTrue() 468 done() 469 }).catch((err) => { 470 console.info(`getSubscribeInfo_2 err, error code: ${err.code}, message: ${err.message}`) 471 expect(false).assertTrue() 472 done() 473 }) 474 475 await subscriber.finishCommonEvent().then(() => { 476 console.info(`finishCommonEvent_2 success `) 477 expect(true).assertTrue() 478 done() 479 }).catch((err) => { 480 console.info(`finishCommonEvent_2 err, error code: ${err.code}, message: ${err.message}`) 481 expect(false).assertTrue() 482 done() 483 }) 484 485 } 486 }) 487 } catch (err) { 488 console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0800 failed, catch error code: ${err.code}, message: ${err.message}`) 489 expect(false).assertTrue() 490 done() 491 } 492 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0800 END`) 493 }) 494 495 console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST END`) 496 497 }) 498}