• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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}