• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2/*
3 * Copyright (C) 2022 Huawei Device Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17import bluetooth from '@ohos.bluetooth';
18import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from '@ohos/hypium'
19import { UiComponent, UiDriver, BY, Component, Driver, UiWindow, ON, MatchPattern, DisplayRotation, ResizeDirection, UiDirection, MouseButton, WindowMode, PointerMatrix, UIElementInfo, UIEventObserver } from '@ohos.UiTest'
20
21export default function btGattAdvertTest() {
22describe('btGattAdvertTest', function() {
23    let gattServer = null;
24    function sleep(delay) {
25        return new Promise(resovle => setTimeout(resovle, delay))
26    }
27
28    async function openPhone() {
29     try{
30         let drivers = Driver.create();
31         console.info('[bluetooth_js] bt driver create:'+ drivers);
32         await drivers.delayMs(1000);
33         await drivers.wakeUpDisplay();
34         await drivers.delayMs(5000);
35         await drivers.swipe(1500, 1000, 1500, 100);
36         await drivers.delayMs(10000);
37     } catch (error) {
38         console.info('[bluetooth_js] driver error info:'+ error);
39     }
40 }
41
42 async function clickTheWindow() {
43     try{
44         let driver = Driver.create();
45         console.info('[bluetooth_js] bt driver create:'+ driver);
46         await driver.delayMs(1000);
47         await driver.click(950, 2550);
48         await driver.delayMs(5000);
49         await driver.click(950, 2550);
50         await driver.delayMs(3000);
51     } catch (error) {
52         console.info('[bluetooth_js] driver error info:'+ error);
53     }
54 }
55
56    async function tryToEnableBt() {
57        let sta = bluetooth.getState();
58        switch(sta){
59            case 0:
60                console.info('[bluetooth_js] bt turn off:'+ JSON.stringify(sta));
61                bluetooth.enableBluetooth();
62                await clickTheWindow();
63                await sleep(1000);
64                break;
65            case 1:
66                console.info('[bluetooth_js] bt turning on:'+ JSON.stringify(sta));
67                await sleep(3000);
68                break;
69            case 2:
70                console.info('[bluetooth_js] bt turn on:'+ JSON.stringify(sta));
71                break;
72            case 3:
73                console.info('[bluetooth_js] bt turning off:'+ JSON.stringify(sta));
74                bluetooth.enableBluetooth();
75                await clickTheWindow();
76                await sleep(1000);
77                break;
78            default:
79                console.info('[bluetooth_js] enable success');
80        }
81    }
82    beforeAll(async function (done) {
83        console.info('beforeAll called')
84        await openPhone();
85        gattServer = bluetooth.BLE.createGattServer();
86        done();
87    })
88    beforeEach(async function (done) {
89        console.info('beforeEach called')
90        await tryToEnableBt()
91        done()
92
93    })
94    afterEach(function () {
95        console.info('afterEach called')
96    })
97    afterAll(function () {
98        console.info('afterAll called')
99        gattServer.close();
100    })
101
102    /**
103     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0100
104     * @tc.name testStartAdvertising
105     * @tc.desc Test StartAdvertising api.
106     * @tc.type Function
107     * @tc.level Level 0
108     */
109    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0100', 0, async function (done) {
110          let manufactureValueBuffer = new Uint8Array(4);
111          manufactureValueBuffer[0] = 1;
112          manufactureValueBuffer[1] = 2;
113          manufactureValueBuffer[2] = 3;
114          manufactureValueBuffer[3] = 4;
115          let serviceValueBuffer = new Uint8Array(4);
116          serviceValueBuffer[0] = 4;
117          serviceValueBuffer[1] = 6;
118          serviceValueBuffer[2] = 7;
119          serviceValueBuffer[3] = 8;
120          let setting={
121               interval:150,
122               txPower:-10,
123               connectable:true,
124          }
125          let advData={
126               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
127               manufactureData:[{
128                    manufactureId:4567,
129                    manufactureValue:manufactureValueBuffer.buffer
130               }],
131               serviceData:[{
132                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
133                    serviceValue:serviceValueBuffer.buffer
134               }],
135          }
136          let advResponse ={
137               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
138               manufactureData:[{
139                    manufactureId:1789,
140                    manufactureValue:manufactureValueBuffer.buffer
141               }],
142               serviceData:[{
143                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
144                    serviceValue:serviceValueBuffer.buffer
145               }],
146          }
147          try {
148               gattServer.startAdvertising(setting,advData,advResponse);
149               gattServer.stopAdvertising();
150          }catch(e) {
151               expect(null).assertFail();
152          }
153          done();
154    })
155
156    /**
157     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0200
158     * @tc.name testStartAdvertising
159     * @tc.desc Test StartAdvertising api.
160     * @tc.type Function
161     * @tc.level Level 2
162     */
163    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0200', 0, async function (done) {
164          let manufactureValueBuffer = new Uint8Array(4);
165          manufactureValueBuffer[0] = 1;
166          manufactureValueBuffer[1] = 2;
167          manufactureValueBuffer[2] = 3;
168          manufactureValueBuffer[3] = 4;
169          let serviceValueBuffer = new Uint8Array(4);
170          serviceValueBuffer[0] = 4;
171          serviceValueBuffer[1] = 6;
172          serviceValueBuffer[2] = 7;
173          serviceValueBuffer[3] = 8;
174          let setting={
175               interval:20,
176               txPower:-10,
177               connectable:true,
178          }
179          let advData={
180               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
181               manufactureData:[{
182                    manufactureId:4567,
183                    manufactureValue:manufactureValueBuffer.buffer
184               }],
185               serviceData:[{
186                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
187                    serviceValue:serviceValueBuffer.buffer
188               }],
189          }
190          let advResponse ={
191               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
192               manufactureData:[{
193                    manufactureId:1789,
194                    manufactureValue:manufactureValueBuffer.buffer
195               }],
196               serviceData:[{
197                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
198                    serviceValue:serviceValueBuffer.buffer
199               }],
200          }
201          try {
202               gattServer.startAdvertising(setting,advData,advResponse);
203               gattServer.stopAdvertising();
204          }catch(e) {
205               expect(null).assertFail();
206          }
207          done();
208    })
209
210    /**
211     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0300
212     * @tc.name testStartAdvertising
213     * @tc.desc Test StartAdvertising api.
214     * @tc.type Function
215     * @tc.level Level 3
216     */
217    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0300', 0, async function (done) {
218          let manufactureValueBuffer = new Uint8Array(4);
219          manufactureValueBuffer[0] = 1;
220          manufactureValueBuffer[1] = 2;
221          manufactureValueBuffer[2] = 3;
222          manufactureValueBuffer[3] = 4;
223          let serviceValueBuffer = new Uint8Array(4);
224          serviceValueBuffer[0] = 4;
225          serviceValueBuffer[1] = 6;
226          serviceValueBuffer[2] = 7;
227          serviceValueBuffer[3] = 8;
228          let setting={
229               interval:10485,
230               txPower:-10,
231               connectable:true,
232          }
233          let advData={
234               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
235               manufactureData:[{
236                    manufactureId:4567,
237                    manufactureValue:manufactureValueBuffer.buffer
238               }],
239               serviceData:[{
240                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
241                    serviceValue:serviceValueBuffer.buffer
242               }],
243          }
244          let advResponse ={
245               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
246               manufactureData:[{
247                    manufactureId:1789,
248                    manufactureValue:manufactureValueBuffer.buffer
249               }],
250               serviceData:[{
251                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
252                    serviceValue:serviceValueBuffer.buffer
253               }],
254          }
255          try {
256               gattServer.startAdvertising(setting,advData,advResponse);
257               gattServer.stopAdvertising();
258          }catch(e) {
259               expect(null).assertFail();
260          }
261          done();
262    })
263
264    /**
265     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0400
266     * @tc.name testStartAdvertising
267     * @tc.desc Test StartAdvertising api.
268     * @tc.type Function
269     * @tc.level Level 3
270     */
271    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0400', 0, async function (done) {
272          let manufactureValueBuffer = new Uint8Array(4);
273          manufactureValueBuffer[0] = 1;
274          manufactureValueBuffer[1] = 2;
275          manufactureValueBuffer[2] = 3;
276          manufactureValueBuffer[3] = 4;
277          let serviceValueBuffer = new Uint8Array(4);
278          serviceValueBuffer[0] = 4;
279          serviceValueBuffer[1] = 6;
280          serviceValueBuffer[2] = 7;
281          serviceValueBuffer[3] = 8;
282          let setting={
283               interval:10500,
284               txPower:-10,
285               connectable:true,
286          }
287          let advData={
288               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
289               manufactureData:[{
290                    manufactureId:4567,
291                    manufactureValue:manufactureValueBuffer.buffer
292               }],
293               serviceData:[{
294                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
295                    serviceValue:serviceValueBuffer.buffer
296               }],
297          }
298          let advResponse ={
299               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
300               manufactureData:[{
301                    manufactureId:1789,
302                    manufactureValue:manufactureValueBuffer.buffer
303               }],
304               serviceData:[{
305                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
306                    serviceValue:serviceValueBuffer.buffer
307               }],
308          }
309          try {
310               gattServer.startAdvertising(setting,advData,advResponse);
311               gattServer.stopAdvertising();
312          }catch(e) {
313               expect(null).assertFail();
314          }
315          done();
316    })
317
318    /**
319     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0500
320     * @tc.name testStartAdvertising
321     * @tc.desc Test StartAdvertising api.
322     * @tc.type Function
323     * @tc.level Level 3
324     */
325    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0500', 0, async function (done) {
326          let manufactureValueBuffer = new Uint8Array(4);
327          manufactureValueBuffer[0] = 1;
328          manufactureValueBuffer[1] = 2;
329          manufactureValueBuffer[2] = 3;
330          manufactureValueBuffer[3] = 4;
331          let serviceValueBuffer = new Uint8Array(4);
332          serviceValueBuffer[0] = 4;
333          serviceValueBuffer[1] = 6;
334          serviceValueBuffer[2] = 7;
335          serviceValueBuffer[3] = 8;
336          let setting={
337               interval:19,
338               txPower:-10,
339               connectable:true,
340          }
341          let advData={
342               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
343               manufactureData:[{
344                    manufactureId:4567,
345                    manufactureValue:manufactureValueBuffer.buffer
346               }],
347               serviceData:[{
348                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
349                    serviceValue:serviceValueBuffer.buffer
350               }],
351          }
352          let advResponse ={
353               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
354               manufactureData:[{
355                    manufactureId:1789,
356                    manufactureValue:manufactureValueBuffer.buffer
357               }],
358               serviceData:[{
359                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
360                    serviceValue:serviceValueBuffer.buffer
361               }],
362          }
363          try {
364               gattServer.startAdvertising(setting,advData,advResponse);
365               gattServer.stopAdvertising();
366          }catch(e) {
367               expect(null).assertFail();
368          }
369          done();
370    })
371
372    /**
373     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0800
374     * @tc.name testStartAdvertising
375     * @tc.desc Test StartAdvertising api.
376     * @tc.size MEDIUM
377     * @tc.level Level 2
378     */
379    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0800', 0, async function (done) {
380          let manufactureValueBuffer = new Uint8Array(4);
381          manufactureValueBuffer[0] = 1;
382          manufactureValueBuffer[1] = 2;
383          manufactureValueBuffer[2] = 3;
384          manufactureValueBuffer[3] = 4;
385          let serviceValueBuffer = new Uint8Array(4);
386          serviceValueBuffer[0] = 4;
387          serviceValueBuffer[1] = 6;
388          serviceValueBuffer[2] = 7;
389          serviceValueBuffer[3] = 8;
390          let setting={
391               interval:1000,
392               txPower:-10,
393               connectable:true,
394          }
395          let advData={
396               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
397               manufactureData:[{
398                    manufactureId:4567,
399                    manufactureValue:manufactureValueBuffer.buffer
400               }],
401               serviceData:[{
402                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
403                    serviceValue:serviceValueBuffer.buffer
404               }],
405          }
406          let advResponse ={
407               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
408               manufactureData:[{
409                    manufactureId:1789,
410                    manufactureValue:manufactureValueBuffer.buffer
411               }],
412               serviceData:[{
413                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
414                    serviceValue:serviceValueBuffer.buffer
415               }],
416          }
417          try {
418               gattServer.startAdvertising(setting,advData,advResponse);
419               gattServer.stopAdvertising();
420          }catch(e) {
421               expect(null).assertFail();
422          }
423          done();
424    })
425
426    /**
427     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0900
428     * @tc.name testStartAdvertising
429     * @tc.desc Test StartAdvertising api.
430     * @tc.type Function
431     * @tc.level Level 2
432     */
433    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_0900', 0, async function (done) {
434          let manufactureValueBuffer = new Uint8Array(4);
435          manufactureValueBuffer[0] = 1;
436          manufactureValueBuffer[1] = 2;
437          manufactureValueBuffer[2] = 3;
438          manufactureValueBuffer[3] = 4;
439          let serviceValueBuffer = new Uint8Array(4);
440          serviceValueBuffer[0] = 4;
441          serviceValueBuffer[1] = 6;
442          serviceValueBuffer[2] = 7;
443          serviceValueBuffer[3] = 8;
444          let setting={
445               interval:1000,
446               txPower:-127,
447               connectable:true,
448          }
449          let advData={
450               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
451               manufactureData:[{
452                    manufactureId:4567,
453                    manufactureValue:manufactureValueBuffer.buffer
454               }],
455               serviceData:[{
456                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
457                    serviceValue:serviceValueBuffer.buffer
458               }],
459          }
460          let advResponse ={
461               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
462               manufactureData:[{
463                    manufactureId:1789,
464                    manufactureValue:manufactureValueBuffer.buffer
465               }],
466               serviceData:[{
467                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
468                    serviceValue:serviceValueBuffer.buffer
469               }],
470          }
471          try {
472               gattServer.startAdvertising(setting,advData,advResponse);
473               gattServer.stopAdvertising();
474          }catch(e) {
475               expect(null).assertFail();
476          }
477          done();
478    })
479
480    /**
481     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1000
482     * @tc.name testStartAdvertising
483     * @tc.desc Test StartAdvertising api.
484     * @tc.type Function
485     * @tc.level Level 2
486     */
487    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1000', 0, async function (done) {
488          let manufactureValueBuffer = new Uint8Array(4);
489          manufactureValueBuffer[0] = 1;
490          manufactureValueBuffer[1] = 2;
491          manufactureValueBuffer[2] = 3;
492          manufactureValueBuffer[3] = 4;
493          let serviceValueBuffer = new Uint8Array(4);
494          serviceValueBuffer[0] = 4;
495          serviceValueBuffer[1] = 6;
496          serviceValueBuffer[2] = 7;
497          serviceValueBuffer[3] = 8;
498          let setting={
499               interval:1000,
500               txPower:1,
501               connectable:true,
502          }
503          let advData={
504               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
505               manufactureData:[{
506                    manufactureId:4567,
507                    manufactureValue:manufactureValueBuffer.buffer
508               }],
509               serviceData:[{
510                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
511                    serviceValue:serviceValueBuffer.buffer
512               }],
513          }
514          let advResponse ={
515               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
516               manufactureData:[{
517                    manufactureId:1789,
518                    manufactureValue:manufactureValueBuffer.buffer
519               }],
520               serviceData:[{
521                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
522                    serviceValue:serviceValueBuffer.buffer
523               }],
524          }
525          try {
526               gattServer.startAdvertising(setting,advData,advResponse);
527               gattServer.stopAdvertising();
528          }catch(e) {
529               expect(null).assertFail();
530          }
531          done();
532    })
533
534    /**
535     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1100
536     * @tc.name testStartAdvertising
537     * @tc.desc Test StartAdvertising api.
538     * @tc.type Function
539     * @tc.level Level 3
540     */
541    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1100', 0, async function (done) {
542          let manufactureValueBuffer = new Uint8Array(4);
543          manufactureValueBuffer[0] = 1;
544          manufactureValueBuffer[1] = 2;
545          manufactureValueBuffer[2] = 3;
546          manufactureValueBuffer[3] = 4;
547          let serviceValueBuffer = new Uint8Array(4);
548          serviceValueBuffer[0] = 4;
549          serviceValueBuffer[1] = 6;
550          serviceValueBuffer[2] = 7;
551          serviceValueBuffer[3] = 8;
552          let setting={
553               interval:1000,
554               txPower:10,
555               connectable:true,
556          }
557          let advData={
558               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
559               manufactureData:[{
560                    manufactureId:4567,
561                    manufactureValue:manufactureValueBuffer.buffer
562               }],
563               serviceData:[{
564                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
565                    serviceValue:serviceValueBuffer.buffer
566               }],
567          }
568          let advResponse ={
569               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
570               manufactureData:[{
571                    manufactureId:1789,
572                    manufactureValue:manufactureValueBuffer.buffer
573               }],
574               serviceData:[{
575                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
576                    serviceValue:serviceValueBuffer.buffer
577               }],
578          }
579          try {
580               gattServer.startAdvertising(setting,advData,advResponse);
581               gattServer.stopAdvertising();
582          }catch(e) {
583               expect(null).assertFail();
584          }
585          done();
586    })
587
588    /**
589     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1200
590     * @tc.name testStartAdvertising
591     * @tc.desc Test StartAdvertising api.
592     * @tc.type Function
593     * @tc.level Level 3
594     */
595    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1200', 0, async function (done) {
596          let manufactureValueBuffer = new Uint8Array(4);
597          manufactureValueBuffer[0] = 1;
598          manufactureValueBuffer[1] = 2;
599          manufactureValueBuffer[2] = 3;
600          manufactureValueBuffer[3] = 4;
601          let serviceValueBuffer = new Uint8Array(4);
602          serviceValueBuffer[0] = 4;
603          serviceValueBuffer[1] = 6;
604          serviceValueBuffer[2] = 7;
605          serviceValueBuffer[3] = 8;
606          let setting={
607               interval:1000,
608               txPower:-130,
609               connectable:true,
610          }
611          let advData={
612               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
613               manufactureData:[{
614                    manufactureId:4567,
615                    manufactureValue:manufactureValueBuffer.buffer
616               }],
617               serviceData:[{
618                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
619                    serviceValue:serviceValueBuffer.buffer
620               }],
621          }
622          let advResponse ={
623               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
624               manufactureData:[{
625                    manufactureId:1789,
626                    manufactureValue:manufactureValueBuffer.buffer
627               }],
628               serviceData:[{
629                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
630                    serviceValue:serviceValueBuffer.buffer
631               }],
632          }
633          try {
634               gattServer.startAdvertising(setting,advData,advResponse);
635               gattServer.stopAdvertising();
636          }catch(e) {
637               expect(null).assertFail();
638          }
639          done();
640    })
641
642    /**
643     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1400
644     * @tc.name testStartAdvertising
645     * @tc.desc Test StartAdvertising api.
646     * @tc.type Function
647     * @tc.level Level 2
648     */
649    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1400', 0, async function (done) {
650          let manufactureValueBuffer = new Uint8Array(4);
651          manufactureValueBuffer[0] = 1;
652          manufactureValueBuffer[1] = 2;
653          manufactureValueBuffer[2] = 3;
654          manufactureValueBuffer[3] = 4;
655          let serviceValueBuffer = new Uint8Array(4);
656          serviceValueBuffer[0] = 4;
657          serviceValueBuffer[1] = 6;
658          serviceValueBuffer[2] = 7;
659          serviceValueBuffer[3] = 8;
660          let setting={
661               interval:1000,
662               txPower:1,
663               connectable:false,
664          }
665          let advData={
666               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
667               manufactureData:[{
668                    manufactureId:4567,
669                    manufactureValue:manufactureValueBuffer.buffer
670               }],
671               serviceData:[{
672                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
673                    serviceValue:serviceValueBuffer.buffer
674               }],
675          }
676          let advResponse ={
677               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
678               manufactureData:[{
679                    manufactureId:1789,
680                    manufactureValue:manufactureValueBuffer.buffer
681               }],
682               serviceData:[{
683                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
684                    serviceValue:serviceValueBuffer.buffer
685               }],
686          }
687          try {
688               gattServer.startAdvertising(setting,advData,advResponse);
689               gattServer.stopAdvertising();
690          }catch(e) {
691               expect(null).assertFail();
692          }
693          done();
694    })
695
696    /**
697     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1500
698     * @tc.name testStartAdvertising
699     * @tc.desc Test StartAdvertising api.
700     * @tc.type Function
701     * @tc.level Level 3
702     */
703    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1500', 0, async function (done) {
704          let manufactureValueBuffer = new Uint8Array(4);
705          manufactureValueBuffer[0] = 1;
706          manufactureValueBuffer[1] = 2;
707          manufactureValueBuffer[2] = 3;
708          manufactureValueBuffer[3] = 4;
709          let serviceValueBuffer = new Uint8Array(4);
710          serviceValueBuffer[0] = 4;
711          serviceValueBuffer[1] = 6;
712          serviceValueBuffer[2] = 7;
713          serviceValueBuffer[3] = 8;
714          let setting={
715               interval:1000,
716               txPower:-7,
717               connectable:true,
718          }
719          let advData={
720               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
721               manufactureData:[{
722                    manufactureId:4567,
723                    manufactureValue:manufactureValueBuffer.buffer
724               }],
725               serviceData:[{
726                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
727                    serviceValue:serviceValueBuffer.buffer
728               }],
729          }
730          let advResponse ={
731               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
732               manufactureData:[{
733                    manufactureId:1789,
734                    manufactureValue:manufactureValueBuffer.buffer
735               }],
736               serviceData:[{
737                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
738                    serviceValue:serviceValueBuffer.buffer
739               }],
740          }
741          try {
742               gattServer.startAdvertising(setting,advData,advResponse);
743               gattServer.stopAdvertising();
744          }catch(e) {
745               expect(null).assertFail();
746          }
747          done();
748    })
749
750    /**
751     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1600
752     * @tc.name testStartAdvertising
753     * @tc.desc Test StartAdvertising api.
754     * @tc.type Function
755     * @tc.level Level 1
756     */
757    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1600', 0, async function (done) {
758          let manufactureValueBuffer = new Uint8Array(4);
759          manufactureValueBuffer[0] = 1;
760          manufactureValueBuffer[1] = 2;
761          manufactureValueBuffer[2] = 3;
762          manufactureValueBuffer[3] = 4;
763          let serviceValueBuffer = new Uint8Array(4);
764          serviceValueBuffer[0] = 4;
765          serviceValueBuffer[1] = 6;
766          serviceValueBuffer[2] = 7;
767          serviceValueBuffer[3] = 8;
768          let setting={
769               interval:1000,
770               txPower:-7,
771               connectable:true,
772          }
773          let advData={
774               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
775               manufactureData:[{
776                    manufactureId:4567,
777                    manufactureValue:manufactureValueBuffer.buffer
778               }],
779               serviceData:[{
780                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
781                    serviceValue:serviceValueBuffer.buffer
782               }],
783          }
784          let advResponse ={
785               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
786               manufactureData:[{
787                    manufactureId:1789,
788                    manufactureValue:manufactureValueBuffer.buffer
789               }],
790               serviceData:[{
791                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
792                    serviceValue:serviceValueBuffer.buffer
793               }],
794          }
795          try {
796               gattServer.startAdvertising(setting,advData,advResponse);
797               gattServer.stopAdvertising();
798          }catch(e) {
799               expect(null).assertFail();
800          }
801          done();
802    })
803
804    /**
805     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1800
806     * @tc.name testStartAdvertising
807     * @tc.desc Test StartAdvertising api.
808     * @tc.type Function
809     * @tc.level Level 2
810     */
811    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1800', 0, async function (done) {
812          let manufactureValueBuffer = new Uint8Array(4);
813          manufactureValueBuffer[0] = 1;
814          manufactureValueBuffer[1] = 2;
815          manufactureValueBuffer[2] = 3;
816          manufactureValueBuffer[3] = 4;
817          let serviceValueBuffer = new Uint8Array(4);
818          serviceValueBuffer[0] = 4;
819          serviceValueBuffer[1] = 6;
820          serviceValueBuffer[2] = 7;
821          serviceValueBuffer[3] = 8;
822          let setting={
823               interval:1000,
824               txPower:1,
825               connectable:true,
826          }
827          let advData={
828               serviceUuids:[""],
829               manufactureData:[{
830                    manufactureId:4567,
831                    manufactureValue:manufactureValueBuffer.buffer
832               }],
833               serviceData:[{
834                    serviceUuid:"",
835                    serviceValue:serviceValueBuffer.buffer
836               }],
837          }
838          let advResponse ={
839               serviceUuids:[""],
840               manufactureData:[{
841                    manufactureId:1789,
842                    manufactureValue:manufactureValueBuffer.buffer
843               }],
844               serviceData:[{
845                    serviceUuid:"",
846                    serviceValue:serviceValueBuffer.buffer
847               }],
848          }
849          try {
850               gattServer.startAdvertising(setting,advData,advResponse);
851               gattServer.stopAdvertising();
852          }catch(e) {
853               expect(null).assertFail();
854          }
855          done();
856    })
857
858    /**
859     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1900
860     * @tc.name testStartAdvertising
861     * @tc.desc Test StartAdvertising api.
862     * @tc.type Function
863     * @tc.level Level 2
864     */
865    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_1900', 0, async function (done) {
866          let manufactureValueBuffer = new Uint8Array(4);
867          manufactureValueBuffer[0] = 1;
868          manufactureValueBuffer[1] = 2;
869          manufactureValueBuffer[2] = 3;
870          manufactureValueBuffer[3] = 4;
871          let serviceValueBuffer = new Uint8Array(4);
872          serviceValueBuffer[0] = 4;
873          serviceValueBuffer[1] = 6;
874          serviceValueBuffer[2] = 7;
875          serviceValueBuffer[3] = 8;
876          let setting={
877               interval:1000,
878               txPower:1,
879               connectable:true,
880          }
881          let advData={
882               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
883               manufactureData:[{
884                    manufactureId:4567,
885                    manufactureValue:manufactureValueBuffer.buffer
886               }],
887               serviceData:[],
888          }
889          let advResponse ={
890               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
891               manufactureData:[{
892                    manufactureId:1789,
893                    manufactureValue:manufactureValueBuffer.buffer
894               }],
895               serviceData:[],
896          }
897          try {
898               gattServer.startAdvertising(setting,advData,advResponse);
899               gattServer.stopAdvertising();
900          }catch(e) {
901               expect(null).assertFail();
902          }
903          done();
904    })
905
906
907    /**
908     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_2100
909     * @tc.name testStartAdvertising
910     * @tc.desc Test StartAdvertising api.
911     * @tc.type Function
912     * @tc.level Level 3
913     */
914    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_2100', 0, async function (done) {
915          let manufactureValueBuffer = new Uint8Array(4);
916          manufactureValueBuffer[0] = 1;
917          manufactureValueBuffer[1] = 2;
918          manufactureValueBuffer[2] = 3;
919          manufactureValueBuffer[3] = 4;
920          let serviceValueBuffer = new Uint8Array(4);
921          serviceValueBuffer[0] = 4;
922          serviceValueBuffer[1] = 6;
923          serviceValueBuffer[2] = 7;
924          serviceValueBuffer[3] = 8;
925          let setting={
926               interval:1000,
927               txPower:1,
928               connectable:true,
929          }
930          let advData={
931               serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
932               manufactureData:[],
933               serviceData:[{
934                    serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
935                    serviceValue:serviceValueBuffer.buffer
936               }],
937          }
938          let advResponse ={
939               serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
940               manufactureData:[],
941               serviceData:[{
942                    serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
943                    serviceValue:serviceValueBuffer.buffer
944               }],
945          }
946          try {
947               gattServer.startAdvertising(setting,advData,advResponse);
948               gattServer.stopAdvertising();
949          }catch(e) {
950               expect(null).assertFail();
951          }
952          done();
953    })
954
955    /**
956     * @tc.number SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_2200
957     * @tc.name testStartAdvertising
958     * @tc.desc Test StartAdvertising api.
959     * @tc.type Function
960     * @tc.level Level 3
961     */
962    it('SUB_COMMUNICATION_BLUETOOTH_GATTADVERT_2200', 0, function () {
963        let isRet = true;
964        try{
965            gattServer.stopAdvertising();
966            expect(isRet).assertTrue();
967        }catch(error){
968            console.info("[bluetooth_js] GattclientClose err:" + JSON.stringify(error));
969            let isRet = false;
970            expect(isRet).assertFalse();
971        }
972    })
973
974})
975
976}