1#!/usr/bin/env python3
2#
3# Copyright (C) 2019 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the "License"); you may not
6# use this file except in compliance with the License. You may obtain a copy of
7# the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14# License for the specific language governing permissions and limitations under
15# the License.
16"""
17This test exercises basic setup of various GATT server configurations.
18
19Setup:
20This test only requires one fuchsia device as the purpose is to test
21different configurations of valid GATT services.
22"""
23
24from acts import signals
25from acts.base_test import BaseTestClass
26from acts.test_decorators import test_tracker_info
27
28import gatt_server_databases as database
29
30
31class GattServerSetupTest(BaseTestClass):
32    err_message = "Setting up database failed with: {}"
33
34    def setup_class(self):
35        super().setup_class()
36        self.fuchsia_dut = self.fuchsia_devices[0]
37
38    def setup_database(self, database):
39        setup_result = self.fuchsia_dut.gatts_lib.publishServer(database)
40        if setup_result.get("error") is None:
41            signals.TestPass(setup_result.get("result"))
42        else:
43            raise signals.TestFailure(
44                self.err_message.format(setup_result.get("error")))
45
46    def test_teardown(self):
47        self.fuchsia_dut.gatts_lib.closeServer()
48
49    @test_tracker_info(uuid='25f3463b-b6bd-408b-9924-f18ed3b9bbe2')
50    def test_single_primary_service(self):
51        """Test GATT Server Setup: Single Primary Service
52
53        Test a single primary service as a GATT server input.
54
55        Steps:
56        1. Setup input database
57
58        Expected Result:
59        Verify that there are no errors after setting up the input database.
60
61        Returns:
62          signals.TestPass if no errors
63          signals.TestFailure if there are any errors during setup
64
65        TAGS: GATT
66        Priority: 1
67        """
68        self.setup_database(database.SINGLE_PRIMARY_SERVICE)
69
70    @test_tracker_info(uuid='084d2c91-ca8c-4572-8e9b-053495acd894')
71    def test_single_secondary_service(self):
72        """Test GATT Server Setup: Single Secondary Service
73
74        Test a single secondary service as a GATT server input.
75
76        Steps:
77        1. Setup input database
78
79        Expected Result:
80        Verify that there are no errors after setting up the input database.
81
82        Returns:
83          signals.TestPass if no errors
84          signals.TestFailure if there are any errors during setup
85
86        TAGS: GATT
87        Priority: 1
88        """
89        self.setup_database(database.SINGLE_SECONDARY_SERVICE)
90
91    @test_tracker_info(uuid='9ff0a91d-3b17-4e11-b5d6-b91997c79a04')
92    def test_primary_and_secondary_service(self):
93        """Test GATT Server Setup: Primary and secondary service
94
95        Test primary and secondary service as a GATT server input.
96
97        Steps:
98        1. Setup input database
99
100        Expected Result:
101        Verify that there are no errors after setting up the input database.
102
103        Returns:
104          signals.TestPass if no errors
105          signals.TestFailure if there are any errors during setup
106
107        TAGS: GATT
108        Priority: 1
109        """
110        self.setup_database(database.PRIMARY_AND_SECONDARY_SERVICES)
111
112    @test_tracker_info(uuid='4f57e827-5511-4d5d-9591-c247d84d6d6c')
113    def test_duplicate_services(self):
114        """Test GATT Server Setup: Duplicate service uuids
115
116        Test duplicate service uuids as a GATT server input.
117
118        Steps:
119        1. Setup input database
120
121        Expected Result:
122        Verify that there are no errors after setting up the input database.
123
124        Returns:
125          signals.TestPass if no errors
126          signals.TestFailure if there are any errors during setup
127
128        TAGS: GATT
129        Priority: 1
130        """
131        self.setup_database(database.DUPLICATE_SERVICES)
132
133    ### Begin SIG defined services ###
134
135    @test_tracker_info(uuid='6b0993f5-18ff-4a20-be3d-d76529eb1126')
136    def test_alert_notification_service(self):
137        """Test GATT Server Setup: Alert Notification Service
138
139        Test Alert Notification Service as a GATT server input.
140
141        Steps:
142        1. Setup input database
143
144        Expected Result:
145        Verify that there are no errors after setting up the input database.
146
147        Returns:
148          signals.TestPass if no errors
149          signals.TestFailure if there are any errors during setup
150
151        TAGS: GATT
152        Priority: 1
153        """
154        self.setup_database(database.ALERT_NOTIFICATION_SERVICE)
155
156    @test_tracker_info(uuid='c42e8bc9-1ba7-4d4e-b67e-9c19cc11472c')
157    def test_automation_io_service(self):
158        """Test GATT Server Setup: Automation IO
159
160        Test Automation IO as a GATT server input.
161
162        Steps:
163        1. Setup input database
164
165        Expected Result:
166        Verify that there are no errors after setting up the input database.
167
168        Returns:
169          signals.TestPass if no errors
170          signals.TestFailure if there are any errors during setup
171
172        TAGS: GATT
173        Priority: 1
174        """
175        self.setup_database(database.AUTOMATION_IO_SERVICE)
176
177    @test_tracker_info(uuid='68936f97-4a4d-4bfb-9826-558846a0a53a')
178    def test_battery_service(self):
179        """Test GATT Server Setup: Battery Service
180
181        Test Battery Service as a GATT server input.
182
183        Steps:
184        1. Setup input database
185
186        Expected Result:
187        Verify that there are no errors after setting up the input database.
188
189        Returns:
190          signals.TestPass if no errors
191          signals.TestFailure if there are any errors during setup
192
193        TAGS: GATT
194        Priority: 1
195        """
196        self.setup_database(database.BATTERY_SERVICE)
197
198    @test_tracker_info(uuid='678864a1-edcf-4335-85b4-1494d00c62be')
199    def test_blood_pressure_service(self):
200        """Test GATT Server Setup: Blood Pressure
201
202        Test Blood Pressure as a GATT server input.
203
204        Steps:
205        1. Setup input database
206
207        Expected Result:
208        Verify that there are no errors after setting up the input database.
209
210        Returns:
211          signals.TestPass if no errors
212          signals.TestFailure if there are any errors during setup
213
214        TAGS: GATT
215        Priority: 1
216        """
217        self.setup_database(database.BLOOD_PRESSURE_SERVICE)
218
219    @test_tracker_info(uuid='1077d373-7d9b-4a43-acde-7d20bb0fa4e4')
220    def test_body_composition_service(self):
221        """Test GATT Server Setup: Body Composition
222
223        Test Body Composition as a GATT server input.
224
225        Steps:
226        1. Setup input database
227
228        Expected Result:
229        Verify that there are no errors after setting up the input database.
230
231        Returns:
232          signals.TestPass if no errors
233          signals.TestFailure if there are any errors during setup
234
235        TAGS: GATT
236        Priority: 1
237        """
238        self.setup_database(database.BODY_COMPOSITION_SERVICE)
239
240    @test_tracker_info(uuid='67a82719-7dcb-4d11-b9a4-a95c05f6dda6')
241    def test_bond_management_service(self):
242        """Test GATT Server Setup: Bond Management Service
243
244        Test Bond Management Service as a GATT server input.
245
246        Steps:
247        1. Setup input database
248
249        Expected Result:
250        Verify that there are no errors after setting up the input database.
251
252        Returns:
253          signals.TestPass if no errors
254          signals.TestFailure if there are any errors during setup
255
256        TAGS: GATT
257        Priority: 1
258        """
259        self.setup_database(database.BOND_MANAGEMENT_SERVICE)
260
261    @test_tracker_info(uuid='c0edd532-00f1-4afc-85f2-114477d81a0a')
262    def test_continuous_glucose_monitoring_service(self):
263        """Test GATT Server Setup: Continuous Glucose Monitoring
264
265        Test Continuous Glucose Monitoring as a GATT server input.
266
267        Steps:
268        1. Setup input database
269
270        Expected Result:
271        Verify that there are no errors after setting up the input database.
272
273        Returns:
274          signals.TestPass if no errors
275          signals.TestFailure if there are any errors during setup
276
277        TAGS: GATT
278        Priority: 1
279        """
280        self.setup_database(database.CONTINUOUS_GLUCOSE_MONITORING_SERVICE)
281
282    @test_tracker_info(uuid='23b3faeb-1423-4687-81bc-ff9d71bc1c1c')
283    def test_current_time_service(self):
284        """Test GATT Server Setup: Current Time Service
285
286        Test Current Time Service as a GATT server input.
287
288        Steps:
289        1. Setup input database
290
291        Expected Result:
292        Verify that there are no errors after setting up the input database.
293
294        Returns:
295          signals.TestPass if no errors
296          signals.TestFailure if there are any errors during setup
297
298        TAGS: GATT
299        Priority: 1
300        """
301        self.setup_database(database.CURRENT_TIME_SERVICE)
302
303    @test_tracker_info(uuid='7cc592d8-69e6-459e-b4ae-fe0b1be77491')
304    def test_cycling_power_service(self):
305        """Test GATT Server Setup: Cycling Power
306
307        Test Cycling Power as a GATT server input.
308
309        Steps:
310        1. Setup input database
311
312        Expected Result:
313        Verify that there are no errors after setting up the input database.
314
315        Returns:
316          signals.TestPass if no errors
317          signals.TestFailure if there are any errors during setup
318
319        TAGS: GATT
320        Priority: 1
321        """
322        self.setup_database(database.CYCLING_POWER_SERVICE)
323
324    @test_tracker_info(uuid='3134ee93-7e19-4bd5-ab09-9bcb4a8f6b7d')
325    def test_cycling_speed_and_cadence_service(self):
326        """Test GATT Server Setup: Cycling Speed and Cadence
327
328        Test Cycling Speed and Cadence as a GATT server input.
329
330        Steps:
331        1. Setup input database
332
333        Expected Result:
334        Verify that there are no errors after setting up the input database.
335
336        Returns:
337          signals.TestPass if no errors
338          signals.TestFailure if there are any errors during setup
339
340        TAGS: GATT
341        Priority: 1
342        """
343        self.setup_database(database.CYCLING_SPEED_AND_CADENCE_SERVICE)
344
345    @test_tracker_info(uuid='c090443e-c4cf-42de-ae79-a60dae50cad4')
346    def test_device_information_service(self):
347        """Test GATT Server Setup: Device Information
348
349        Test Device Information as a GATT server input.
350
351        Steps:
352        1. Setup input database
353
354        Expected Result:
355        Verify that there are no errors after setting up the input database.
356
357        Returns:
358          signals.TestPass if no errors
359          signals.TestFailure if there are any errors during setup
360
361        TAGS: GATT
362        Priority: 1
363        """
364        self.setup_database(database.DEVICE_INFORMATION_SERVICE)
365
366    @test_tracker_info(uuid='bd696344-34a4-4665-857f-fafbd2d3c849')
367    def test_environmental_sensing_service(self):
368        """Test GATT Server Setup: Environmental Sensing
369
370        Test Environmental Sensing as a GATT server input.
371
372        Steps:
373        1. Setup input database
374
375        Expected Result:
376        Verify that there are no errors after setting up the input database.
377
378        Returns:
379          signals.TestPass if no errors
380          signals.TestFailure if there are any errors during setup
381
382        TAGS: GATT
383        Priority: 1
384        """
385        self.setup_database(database.ENVIRONMENTAL_SENSING_SERVICE)
386
387    @test_tracker_info(uuid='d567c23b-276e-43c9-9862-94d0d36887c2')
388    def test_fitness_machine_service(self):
389        """Test GATT Server Setup: Fitness Machine
390
391        Test Fitness Machine as a GATT server input.
392
393        Steps:
394        1. Setup input database
395
396        Expected Result:
397        Verify that there are no errors after setting up the input database.
398
399        Returns:
400          signals.TestPass if no errors
401          signals.TestFailure if there are any errors during setup
402
403        TAGS: GATT
404        Priority: 1
405        """
406        self.setup_database(database.FITNESS_MACHINE_SERVICE)
407
408    @test_tracker_info(uuid='47084eb2-b99f-4f8d-b943-04148b8a71ca')
409    def test_glucose_service(self):
410        """Test GATT Server Setup: Glucose
411
412        Test Glucose as a GATT server input.
413
414        Steps:
415        1. Setup input database
416
417        Expected Result:
418        Verify that there are no errors after setting up the input database.
419
420        Returns:
421          signals.TestPass if no errors
422          signals.TestFailure if there are any errors during setup
423
424        TAGS: GATT
425        Priority: 1
426        """
427        self.setup_database(database.GLUCOSE_SERVICE)
428
429    @test_tracker_info(uuid='d64ce217-13f1-4cdd-965a-03d06349ac53')
430    def test_health_thermometer_service(self):
431        """Test GATT Server Setup: Health Thermometer
432
433        Test Health Thermometer as a GATT server input.
434
435        Steps:
436        1. Setup input database
437
438        Expected Result:
439        Verify that there are no errors after setting up the input database.
440
441        Returns:
442          signals.TestPass if no errors
443          signals.TestFailure if there are any errors during setup
444
445        TAGS: GATT
446        Priority: 1
447        """
448        self.setup_database(database.HEALTH_THERMOMETER_SERVICE)
449
450    @test_tracker_info(uuid='2510d536-0464-4e25-a2c1-f2acc989e7ef')
451    def test_heart_rate_service(self):
452        """Test GATT Server Setup: Heart Rate
453
454        Test Heart Rate as a GATT server input.
455
456        Steps:
457        1. Setup input database
458
459        Expected Result:
460        Verify that there are no errors after setting up the input database.
461
462        Returns:
463          signals.TestPass if no errors
464          signals.TestFailure if there are any errors during setup
465
466        TAGS: GATT
467        Priority: 1
468        """
469        self.setup_database(database.HEART_RATE_SERVICE)
470
471    @test_tracker_info(uuid='cc3ca7f2-d783-426d-a62e-86a56cafec96')
472    def test_http_proxy_service(self):
473        """Test GATT Server Setup: HTTP Proxy
474
475        Test HTTP Proxy as a GATT server input.
476
477        Steps:
478        1. Setup input database
479
480        Expected Result:
481        Verify that there are no errors after setting up the input database.
482
483        Returns:
484          signals.TestPass if no errors
485          signals.TestFailure if there are any errors during setup
486
487        TAGS: GATT
488        Priority: 1
489        """
490        self.setup_database(database.HTTP_PROXY_SERVICE)
491
492    @test_tracker_info(uuid='4e265f85-12aa-43e3-9560-b9f2fb015116')
493    def test_human_interface_device_service(self):
494        """Test GATT Server Setup: Human Interface Device
495
496    Test Human Interface Device as a GATT server input.
497
498    Steps:
499    1. Setup input database
500
501    Expected Result:
502    Verify that there are no errors after setting up the input database.
503
504    Returns:
505      signals.TestPass if no errors
506      signals.TestFailure if there are any errors during setup
507
508        TAGS: GATT
509        Priority: 1
510        """
511        self.setup_database(database.HUMAN_INTERFACE_DEVICE_SERVICE)
512
513    @test_tracker_info(uuid='3e092fb8-fe5f-42a9-ac1d-9951e4ddebe5')
514    def test_immediate_alert_service(self):
515        """Test GATT Server Setup: Immediate Alert
516
517        Test Immediate Alert as a GATT server input.
518
519        Steps:
520        1. Setup input database
521
522        Expected Result:
523        Verify that there are no errors after setting up the input database.
524
525        Returns:
526          signals.TestPass if no errors
527          signals.TestFailure if there are any errors during setup
528
529        TAGS: GATT
530        Priority: 1
531        """
532        self.setup_database(database.IMMEDIATE_ALERT_SERVICE)
533
534    @test_tracker_info(uuid='c6eb782a-4999-460d-9ebe-d4a050002242')
535    def test_indoor_positioning_service(self):
536        """Test GATT Server Setup: Indoor Positioning
537
538        Test Indoor Positioning as a GATT server input.
539
540        Steps:
541        1. Setup input database
542
543        Expected Result:
544        Verify that there are no errors after setting up the input database.
545
546        Returns:
547          signals.TestPass if no errors
548          signals.TestFailure if there are any errors during setup
549
550        TAGS: GATT
551        Priority: 1
552        """
553        self.setup_database(database.INDOOR_POSITIONING_SERVICE)
554
555    @test_tracker_info(uuid='96ac4b99-2232-4efd-8039-d62e8f98f0ef')
556    def test_insulin_delivery_service(self):
557        """Test GATT Server Setup: Insulin Delivery
558
559        Test Insulin Delivery as a GATT server input.
560
561        Steps:
562        1. Setup input database
563
564        Expected Result:
565        Verify that there are no errors after setting up the input database.
566
567        Returns:
568          signals.TestPass if no errors
569          signals.TestFailure if there are any errors during setup
570
571        TAGS: GATT
572        Priority: 1
573        """
574        self.setup_database(database.INSULIN_DELIVERY_SERVICE)
575
576    @test_tracker_info(uuid='28a0f54e-906d-4c9a-800f-238ce1a3829a')
577    def test_internet_protocol_support_service(self):
578        """Test GATT Server Setup: Internet Protocol Support Service
579
580        Test Internet Protocol Support Service as a GATT server input.
581
582        Steps:
583        1. Setup input database
584
585        Expected Result:
586        Verify that there are no errors after setting up the input database.
587
588        Returns:
589          signals.TestPass if no errors
590          signals.TestFailure if there are any errors during setup
591
592        TAGS: GATT
593        Priority: 1
594        """
595        self.setup_database(database.INTERNET_PROTOCOL_SUPPORT_SERVICE)
596
597    @test_tracker_info(uuid='3d0452ce-5cfc-4312-97c3-e7060e2efce6')
598    def test_link_loss_service(self):
599        """Test GATT Server Setup: Link Loss
600
601        Test Link Loss as a GATT server input.
602
603        Steps:
604        1. Setup input database
605
606        Expected Result:
607        Verify that there are no errors after setting up the input database.
608
609        Returns:
610          signals.TestPass if no errors
611          signals.TestFailure if there are any errors during setup
612
613        TAGS: GATT
614        Priority: 1
615        """
616        self.setup_database(database.LINK_LOSS_SERVICE)
617
618    @test_tracker_info(uuid='79a375e9-1f6c-498e-a7f8-63a2e2fdb03b')
619    def test_location_and_navigation_service(self):
620        """Test GATT Server Setup: Location and Navigation
621
622        Test Location and Navigation as a GATT server input.
623
624        Steps:
625        1. Setup input database
626
627        Expected Result:
628        Verify that there are no errors after setting up the input database.
629
630        Returns:
631          signals.TestPass if no errors
632          signals.TestFailure if there are any errors during setup
633
634        TAGS: GATT
635        Priority: 1
636        """
637        self.setup_database(database.LOCATION_AND_NAVIGATION_SERVICE)
638
639    @test_tracker_info(uuid='4517a844-e6b3-4f28-91f1-989d7affd190')
640    def test_mesh_provisioning_service(self):
641        """Test GATT Server Setup: Mesh Provisioning Service
642
643        Test Mesh Provisioning Service as a GATT server input.
644
645        Steps:
646        1. Setup input database
647
648        Expected Result:
649        Verify that there are no errors after setting up the input database.
650
651        Returns:
652          signals.TestPass if no errors
653          signals.TestFailure if there are any errors during setup
654
655        TAGS: GATT
656        Priority: 1
657        """
658        self.setup_database(database.MESH_PROVISIONING_SERVICE)
659
660    @test_tracker_info(uuid='960fdf95-4e55-4c88-86ce-a6d31dd094fa')
661    def test_mesh_proxy_service(self):
662        """Test GATT Server Setup: Mesh Proxy Service
663
664        Test Mesh Proxy Service as a GATT server input.
665
666        Steps:
667        1. Setup input database
668
669        Expected Result:
670        Verify that there are no errors after setting up the input database.
671
672        Returns:
673          signals.TestPass if no errors
674          signals.TestFailure if there are any errors during setup
675
676        TAGS: GATT
677        Priority: 1
678        """
679        self.setup_database(database.MESH_PROXY_SERVICE)
680
681    @test_tracker_info(uuid='c97f933a-2200-46ae-a161-9c133fcc2c67')
682    def test_next_dst_change_service(self):
683        """Test GATT Server Setup: Next DST Change Service
684
685        Test Next DST Change Service as a GATT server input.
686
687        Steps:
688        1. Setup input database
689
690        Expected Result:
691        Verify that there are no errors after setting up the input database.
692
693        Returns:
694          signals.TestPass if no errors
695          signals.TestFailure if there are any errors during setup
696
697        TAGS: GATT
698        Priority: 1
699        """
700        self.setup_database(database.NEXT_DST_CHANGE_SERVICE)
701
702    @test_tracker_info(uuid='90b2caa1-f0fa-4afa-8771-924234deae17')
703    def test_object_transfer_service(self):
704        """Test GATT Server Setup: Object Transfer Service
705
706        Test Object Transfer Service as a GATT server input.
707
708        Steps:
709        1. Setup input database
710
711        Expected Result:
712        Verify that there are no errors after setting up the input database.
713
714        Returns:
715          signals.TestPass if no errors
716          signals.TestFailure if there are any errors during setup
717
718        TAGS: GATT
719        Priority: 1
720        """
721        self.setup_database(database.OBJECT_TRANSFER_SERVICE)
722
723    @test_tracker_info(uuid='28ac2e34-1d0d-4c29-95f3-92e845dc65a2')
724    def test_phone_alert_status_service(self):
725        """Test GATT Server Setup: Phone Alert Status Service
726
727        Test Phone Alert Status Service as a GATT server input.
728
729        Steps:
730        1. Setup input database
731
732        Expected Result:
733        Verify that there are no errors after setting up the input database.
734
735        Returns:
736          signals.TestPass if no errors
737          signals.TestFailure if there are any errors during setup
738
739        TAGS: GATT
740        Priority: 1
741        """
742        self.setup_database(database.PHONE_ALERT_STATUS_SERVICE)
743
744    @test_tracker_info(uuid='fb19e36f-0a25-48af-8787-dae2b213bf5b')
745    def test_pulse_oximeter_service(self):
746        """Test GATT Server Setup: Pulse Oximeter Service
747
748        Test Pulse Oximeter Service as a GATT server input.
749
750        Steps:
751        1. Setup input database
752
753        Expected Result:
754        Verify that there are no errors after setting up the input database.
755
756        Returns:
757          signals.TestPass if no errors
758          signals.TestFailure if there are any errors during setup
759
760        TAGS: GATT
761        Priority: 1
762        """
763        self.setup_database(database.PULSE_OXIMETER_SERVICE)
764
765    @test_tracker_info(uuid='5e59820a-db03-4acd-96a4-1e3fc0bf7f53')
766    def test_reconnection_configuration_service(self):
767        """Test GATT Server Setup: Reconnection Configuration
768
769        Test Reconnection Configuration as a GATT server input.
770
771        Steps:
772        1. Setup input database
773
774        Expected Result:
775        Verify that there are no errors after setting up the input database.
776
777        Returns:
778          signals.TestPass if no errors
779          signals.TestFailure if there are any errors during setup
780
781        TAGS: GATT
782        Priority: 1
783        """
784        self.setup_database(database.RECONNECTION_CONFIGURATION_SERVICE)
785
786    @test_tracker_info(uuid='7b2525c9-178a-44db-aa3b-f3cf5ceed132')
787    def test_reference_time_update_service(self):
788        """Test GATT Server Setup: Reference Time Update Service
789
790        Test Reference Time Update Service as a GATT server input.
791
792        Steps:
793        1. Setup input database
794
795        Expected Result:
796        Verify that there are no errors after setting up the input database.
797
798        Returns:
799          signals.TestPass if no errors
800          signals.TestFailure if there are any errors during setup
801
802        TAGS: GATT
803        Priority: 1
804        """
805        self.setup_database(database.REFERENCE_TIME_UPDATE_SERVICE)
806
807    @test_tracker_info(uuid='71d657db-4519-4158-b6d2-a744f2cc2c22')
808    def test_running_speed_and_cadence_service(self):
809        """Test GATT Server Setup: Running Speed and Cadence
810
811        Test Running Speed and Cadence as a GATT server input.
812
813        Steps:
814        1. Setup input database
815
816        Expected Result:
817        Verify that there are no errors after setting up the input database.
818
819        Returns:
820          signals.TestPass if no errors
821          signals.TestFailure if there are any errors during setup
822
823        TAGS: GATT
824        Priority: 1
825        """
826        self.setup_database(database.RUNNING_SPEED_AND_CADENCE_SERVICE)
827
828    @test_tracker_info(uuid='4d3bd69a-978a-4483-9a2d-f1aff308a845')
829    def test_scan_parameters_service(self):
830        """Test GATT Server Setup: Scan Parameters
831
832        Test Scan Parameters as a GATT server input.
833
834        Steps:
835        1. Setup input database
836
837        Expected Result:
838        Verify that there are no errors after setting up the input database.
839
840        Returns:
841          signals.TestPass if no errors
842          signals.TestFailure if there are any errors during setup
843
844        TAGS: GATT
845        Priority: 1
846        """
847        self.setup_database(database.SCAN_PARAMETERS_SERVICE)
848
849    @test_tracker_info(uuid='2c6f95a1-a353-4147-abb6-714bc3aacbb4')
850    def test_transport_discovery_service(self):
851        """Test GATT Server Setup: Transport Discovery
852
853        Test Transport Discovery as a GATT server input.
854
855        Steps:
856        1. Setup input database
857
858        Expected Result:
859        Verify that there are no errors after setting up the input database.
860
861        Returns:
862          signals.TestPass if no errors
863          signals.TestFailure if there are any errors during setup
864
865        TAGS: GATT
866        Priority: 1
867        """
868        self.setup_database(database.TRANSPORT_DISCOVERY_SERVICE)
869
870    @test_tracker_info(uuid='3e36f2ba-5590-4201-897e-7321c8e44f4c')
871    def test_tx_power_service(self):
872        """Test GATT Server Setup: Tx Power
873
874        Test Tx Power as a GATT server input.
875
876        Steps:
877        1. Setup input database
878
879        Expected Result:
880        Verify that there are no errors after setting up the input database.
881
882        Returns:
883          signals.TestPass if no errors
884          signals.TestFailure if there are any errors during setup
885
886        TAGS: GATT
887        Priority: 1
888        """
889        self.setup_database(database.TX_POWER_SERVICE)
890
891    @test_tracker_info(uuid='c62d70f8-e474-4c88-9960-f2ce2200852e')
892    def test_user_data_service(self):
893        """Test GATT Server Setup: User Data
894
895        Test User Data as a GATT server input.
896
897        Steps:
898        1. Setup input database
899
900        Expected Result:
901        Verify that there are no errors after setting up the input database.
902
903        Returns:
904          signals.TestPass if no errors
905          signals.TestFailure if there are any errors during setup
906
907        TAGS: GATT
908        Priority: 1
909        """
910        self.setup_database(database.USER_DATA_SERVICE)
911
912    @test_tracker_info(uuid='18951e43-f587-4395-93e3-b440dc4b3285')
913    def test_weight_scale_service(self):
914        """Test GATT Server Setup: Weight Scale
915
916        Test Weight Scale as a GATT server input.
917
918        Steps:
919        1. Setup input database
920
921        Expected Result:
922        Verify that there are no errors after setting up the input database.
923
924        Returns:
925          signals.TestPass if no errors
926          signals.TestFailure if there are any errors during setup
927
928        TAGS: GATT
929        Priority: 1
930        """
931        self.setup_database(database.WEIGHT_SCALE_SERVICE)
932
933    ### End SIG defined services ###
934