| #!/usr/bin/env python3 |
| # |
| # Copyright (C) 2016 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| # use this file except in compliance with the License. You may obtain a copy of |
| # the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| # License for the specific language governing permissions and limitations under |
| # the License. |
| |
| from acts_contrib.test_utils.bt.bt_constants import gatt_characteristic |
| from acts_contrib.test_utils.bt.bt_constants import gatt_descriptor |
| from acts_contrib.test_utils.bt.bt_constants import gatt_service_types |
| from acts_contrib.test_utils.bt.bt_constants import gatt_char_types |
| from acts_contrib.test_utils.bt.bt_constants import gatt_characteristic_value_format |
| from acts_contrib.test_utils.bt.bt_constants import gatt_char_desc_uuids |
| |
| STRING_512BYTES = ''' |
| 11111222223333344444555556666677777888889999900000 |
| 11111222223333344444555556666677777888889999900000 |
| 11111222223333344444555556666677777888889999900000 |
| 11111222223333344444555556666677777888889999900000 |
| 11111222223333344444555556666677777888889999900000 |
| 11111222223333344444555556666677777888889999900000 |
| 11111222223333344444555556666677777888889999900000 |
| 11111222223333344444555556666677777888889999900000 |
| 11111222223333344444555556666677777888889999900000 |
| 11111222223333344444555556666677777888889999900000 |
| 111112222233 |
| ''' |
| STRING_50BYTES = ''' |
| 11111222223333344444555556666677777888889999900000 |
| ''' |
| STRING_25BYTES = ''' |
| 1111122222333334444455555 |
| ''' |
| |
| INVALID_SMALL_DATABASE = { |
| 'services': [{ |
| 'uuid': '00001800-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': gatt_char_types['device_name'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'instance_id': 0x0003, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': 'Test Database' |
| }, { |
| 'uuid': gatt_char_types['appearance'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'instance_id': 0x0005, |
| 'value_type': gatt_characteristic_value_format['sint32'], |
| 'offset': 0, |
| 'value': 17 |
| }, { |
| 'uuid': gatt_char_types['peripheral_pref_conn'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'instance_id': 0x0007 |
| }] |
| }, { |
| 'uuid': '00001801-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': gatt_char_types['service_changed'], |
| 'properties': gatt_characteristic['property_indicate'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'instance_id': 0x0012, |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x0000], |
| 'descriptors': [{ |
| 'uuid': gatt_char_desc_uuids['client_char_cfg'], |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| }] |
| }, { |
| 'uuid': '0000b004-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'instance_id': 0x0015, |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x04] |
| }] |
| }] |
| } |
| |
| # Corresponds to the PTS defined LARGE_DB_1 |
| LARGE_DB_1 = { |
| 'services': [ |
| { |
| 'uuid': '0000a00b-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 7, |
| 'characteristics': [{ |
| 'uuid': '0000b008-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'] | |
| gatt_characteristic['property_extended_props'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x08], |
| 'descriptors': [{ |
| 'uuid': '0000b015-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| }, { |
| 'uuid': '0000b016-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| }, { |
| 'uuid': '0000b017-0000-1000-8000-00805f9b34fb', |
| 'permissions': |
| gatt_characteristic['permission_read_encrypted_mitm'], |
| }] |
| }] |
| }, |
| { |
| 'uuid': '0000a00d-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['secondary'], |
| 'handles': 6, |
| 'characteristics': [{ |
| 'uuid': '0000b00c-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_extended_props'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x0C], |
| }, { |
| 'uuid': '0000b00b-0000-0000-0123-456789abcdef', |
| 'properties': gatt_characteristic['property_extended_props'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x0B], |
| }] |
| }, |
| { |
| 'uuid': '0000a00a-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 10, |
| 'characteristics': [{ |
| 'uuid': '0000b001-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x01], |
| }, { |
| 'uuid': '0000b002-0000-0000-0123-456789abcdef', |
| 'properties': gatt_characteristic['property_extended_props'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, { |
| 'uuid': '0000b004-0000-0000-0123-456789abcdef', |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, { |
| 'uuid': '0000b002-0000-0000-0123-456789abcdef', |
| 'properties': gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '11111222223333344444555556666677777888889999900000', |
| }, { |
| 'uuid': '0000b003-0000-0000-0123-456789abcdef', |
| 'properties': gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x03], |
| }] |
| }, |
| { |
| 'uuid': '0000a00b-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 3, |
| 'characteristics': [{ |
| 'uuid': '0000b007-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x07], |
| }] |
| }, |
| { |
| 'uuid': '0000a00b-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 3, |
| 'characteristics': [{ |
| 'uuid': '0000b006-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'] | |
| gatt_characteristic['property_write_no_response'] | |
| gatt_characteristic['property_notify'] | |
| gatt_characteristic['property_indicate'], |
| 'permissions': gatt_characteristic['permission_write'] | |
| gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x06], |
| }] |
| }, |
| { |
| 'uuid': '0000a00b-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 12, |
| 'characteristics': [ |
| { |
| 'uuid': '0000b004-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_write'] | |
| gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x04], |
| }, |
| { |
| 'uuid': '0000b004-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_write'] | |
| gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x04], |
| 'descriptors': [{ |
| 'uuid': gatt_char_desc_uuids['server_char_cfg'], |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': gatt_descriptor['disable_notification_value'] |
| }] |
| }, |
| { |
| 'uuid': '0000b004-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x0, |
| 'permissions': 0x0, |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x04], |
| 'descriptors': [{ |
| 'uuid': '0000b012-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, |
| 0x99, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, |
| 0x77, 0x88, 0x99, 0x00, 0x11, 0x22, 0x33, 0x44, |
| 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, 0x11, 0x22, |
| 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33 |
| ] |
| }] |
| }, |
| { |
| 'uuid': '0000b004-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x04], |
| 'descriptors': [{ |
| 'uuid': '0000b012-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, |
| 0x99, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, |
| 0x77, 0x88, 0x99, 0x00, 0x11, 0x22, 0x33, 0x44, |
| 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, 0x11, 0x22, |
| 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33 |
| ] |
| }] |
| }, |
| ] |
| }, |
| { |
| 'uuid': '0000a00b-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 7, |
| 'characteristics': [{ |
| 'uuid': '0000b005-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_write'] | |
| gatt_characteristic['property_extended_props'], |
| 'permissions': gatt_characteristic['permission_write'] | |
| gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x05], |
| 'descriptors': [{ |
| 'uuid': gatt_char_desc_uuids['char_ext_props'], |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0x03, 0x00] |
| }, { |
| 'uuid': gatt_char_desc_uuids['char_user_desc'], |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [ |
| 0x65, 0x66, 0x67, 0x68, 0x69, 0x70, 0x71, 0x72, 0x73, |
| 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x80, 0x81, 0x82, |
| 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x90 |
| ] |
| }, { |
| 'uuid': gatt_char_desc_uuids['char_fmt_uuid'], |
| 'permissions': |
| gatt_descriptor['permission_read_encrypted_mitm'], |
| 'value': [0x00, 0x01, 0x30, 0x01, 0x11, 0x31] |
| }, { |
| 'uuid': '0000d5d4-0000-0000-0123-456789abcdef', |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0x44] |
| }] |
| }] |
| }, |
| { |
| 'uuid': '0000a00c-0000-0000-0123-456789abcdef', |
| 'type': gatt_service_types['primary'], |
| 'handles': 7, |
| 'characteristics': [{ |
| 'uuid': '0000b009-0000-0000-0123-456789abcdef', |
| 'enforce_initial_attribute_length': True, |
| 'properties': gatt_characteristic['property_write'] | |
| gatt_characteristic['property_extended_props'] | |
| gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_write'] | |
| gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x09], |
| 'descriptors': [{ |
| 'uuid': gatt_char_desc_uuids['char_ext_props'], |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': gatt_descriptor['enable_notification_value'] |
| }, { |
| 'uuid': '0000d9d2-0000-0000-0123-456789abcdef', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x22] |
| }, { |
| 'uuid': '0000d9d3-0000-0000-0123-456789abcdef', |
| 'permissions': gatt_descriptor['permission_write'], |
| 'value': [0x33] |
| }] |
| }] |
| }, |
| { |
| 'uuid': '0000a00f-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 18, |
| 'characteristics': [ |
| { |
| 'uuid': '0000b00e-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': "Length is ", |
| 'descriptors': [{ |
| 'uuid': gatt_char_desc_uuids['char_fmt_uuid'], |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0x19, 0x00, 0x00, 0x30, 0x01, 0x00, 0x00] |
| }] |
| }, |
| { |
| 'uuid': '0000b00f-0000-1000-8000-00805f9b34fb', |
| 'enforce_initial_attribute_length': True, |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x65], |
| 'descriptors': [{ |
| 'uuid': gatt_char_desc_uuids['char_fmt_uuid'], |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0x04, 0x00, 0x01, 0x27, 0x01, 0x01, 0x00] |
| }] |
| }, |
| { |
| 'uuid': '0000b006-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x34, 0x12], |
| 'descriptors': [{ |
| 'uuid': gatt_char_desc_uuids['char_fmt_uuid'], |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0x06, 0x00, 0x10, 0x27, 0x01, 0x02, 0x00] |
| }] |
| }, |
| { |
| 'uuid': '0000b007-0000-1000-8000-00805f9b34fb', |
| 'enforce_initial_attribute_length': True, |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x04, 0x03, 0x02, 0x01], |
| 'descriptors': [{ |
| 'uuid': gatt_char_desc_uuids['char_fmt_uuid'], |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0x08, 0x00, 0x17, 0x27, 0x01, 0x03, 0x00] |
| }] |
| }, |
| { |
| 'uuid': '0000b010-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x65, 0x34, 0x12, 0x04, 0x03, 0x02, 0x01], |
| 'descriptors': [{ |
| 'uuid': gatt_char_desc_uuids['char_agreg_fmt'], |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0xa6, 0x00, 0xa9, 0x00, 0xac, 0x00] |
| }] |
| }, |
| { |
| 'uuid': '0000b011-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['write_type_signed'] |
| | #for some reason 0x40 is not working... |
| gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x12] |
| } |
| ] |
| }, |
| { |
| 'uuid': '0000a00c-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 30, |
| 'characteristics': [{ |
| 'uuid': '0000b00a-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x0a], |
| }, { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': "111112222233333444445", |
| 'descriptors': [{ |
| 'uuid': '0000b012-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, |
| 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x11 |
| ] |
| }] |
| }, { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': "2222233333444445555566", |
| 'descriptors': [{ |
| 'uuid': '0000b013-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, |
| 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x11, 0x22 |
| ] |
| }] |
| }, { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': "33333444445555566666777", |
| 'descriptors': [{ |
| 'uuid': '0000b014-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, |
| 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x11, 0x22, 0x33 |
| ] |
| }] |
| }, { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33 |
| ], |
| 'descriptors': [{ |
| 'uuid': '0000b012-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, |
| 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, |
| 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, |
| 0x56, 0x78, 0x90, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, |
| 0x77, 0x88, 0x99, 0x00, 0x11, 0x22, 0x33 |
| ] |
| }] |
| }, { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33, 0x44 |
| ], |
| 'descriptors': [{ |
| 'uuid': '0000b013-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, |
| 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, |
| 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, |
| 0x56, 0x78, 0x90, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, |
| 0x77, 0x88, 0x99, 0x00, 0x11, 0x22, 0x33, 0x44 |
| ] |
| }] |
| }, { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x11, 0x22, 0x33, 0x44, 0x55 |
| ], |
| 'descriptors': [{ |
| 'uuid': '0000b014-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, |
| 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, |
| 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, |
| 0x56, 0x78, 0x90, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, |
| 0x77, 0x88, 0x99, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 |
| ] |
| }] |
| }, { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': "1111122222333334444455555666667777788888999", |
| 'descriptors': [{ |
| 'uuid': '0000b012-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, |
| 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, |
| 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, |
| 0x56, 0x78, 0x90, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, |
| 0x77, 0x88, 0x99, 0x00, 0x11, 0x22, 0x33 |
| ] |
| }] |
| }, { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': "22222333334444455555666667777788888999990000", |
| 'descriptors': [{ |
| 'uuid': '0000b013-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, |
| 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, |
| 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, |
| 0x56, 0x78, 0x90, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, |
| 0x77, 0x88, 0x99, 0x00, 0x11, 0x22, 0x33, 0x44 |
| ] |
| }] |
| }, { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': "333334444455555666667777788888999990000011111", |
| 'descriptors': [{ |
| 'uuid': '0000b014-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, |
| 0x00, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, |
| 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, |
| 0x56, 0x78, 0x90, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, |
| 0x77, 0x88, 0x99, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 |
| ] |
| }] |
| }] |
| }, |
| ] |
| } |
| |
| # Corresponds to the PTS defined LARGE_DB_2 |
| LARGE_DB_2 = { |
| 'services': [ |
| { |
| 'uuid': '0000a00c-0000-0000-0123-456789abdcef', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': '0000b00a-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x0003, |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x04], |
| }, { |
| 'uuid': '0000b0002-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x0005, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '111112222233333444445', |
| }, { |
| 'uuid': '0000b0002-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x0007, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '2222233333444445555566', |
| }, { |
| 'uuid': '0000b0002-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x0009, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '33333444445555566666777', |
| }, { |
| 'uuid': '0000b0002-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x000b, |
| 'properties': 0x0a0, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '1111122222333334444455555666667777788888999', |
| }, { |
| 'uuid': '0000b0002-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x000d, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '22222333334444455555666667777788888999990000', |
| }, { |
| 'uuid': '0000b0002-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x000f, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }] |
| }, |
| { |
| 'uuid': '0000a00c-0000-0000-0123-456789abcdef', |
| 'handles': 5, |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': '0000b009-0000-0000-0123-456789abcdef', |
| 'instance_id': 0x0023, |
| 'properties': 0x8a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x09], |
| 'descriptors': [{ |
| 'uuid': '0000d9d2-0000-0000-0123-456789abcdef', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x22] |
| }, { |
| 'uuid': '0000d9d3-0000-0000-0123-456789abcdef', |
| 'permissions': gatt_descriptor['permission_write'], |
| 'value': [0x33] |
| }, { |
| 'uuid': gatt_char_desc_uuids['char_ext_props'], |
| 'permissions': gatt_descriptor['permission_write'], |
| 'value': gatt_descriptor['enable_notification_value'] |
| }] |
| }] |
| }, |
| { |
| 'uuid': '0000a00b-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': '0000b007-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x0012, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x04], |
| }] |
| }, |
| ] |
| } |
| |
| DB_TEST = { |
| 'services': [{ |
| 'uuid': '0000a00b-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': '0000b004-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x01], |
| 'enforce_initial_attribute_length': True, |
| 'descriptors': [{ |
| 'uuid': '0000b004-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x01] * 30 |
| }] |
| }, ] |
| }] |
| } |
| |
| PTS_TEST2 = { |
| 'services': [{ |
| 'uuid': '0000a00b-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [ |
| { |
| 'uuid': '000018ba-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000060aa-0000-0000-0123-456789abcdef', |
| 'properties': 0x02, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '00000af2-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x20, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000000af2-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000004d5e-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000001b44-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000006b98-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08 | 0x10 | 0x04, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '00000247f-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '00000247f-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '00000247f-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x00, |
| 'permissions': 0x00, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '00000247f-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02, |
| 'permissions': 0x10, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000000d62-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08 | 0x80, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000002e85-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000004a64-0000-0000-0123-456789abcdef', |
| 'properties': 0x02 | 0x08 | 0x80, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000005b4a-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02, |
| 'permissions': 0x10, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000001c81-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02, |
| 'permissions': 0x10, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000006b98-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000001b44-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000000c55-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02, |
| 'permissions': 0x10, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '0000014dd-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02, |
| 'permissions': 0x10, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000000c55-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02, |
| 'permissions': 0x10, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000000c55-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02, |
| 'permissions': 0x10, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000000c55-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02, |
| 'permissions': 0x10, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000000c55-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02, |
| 'permissions': 0x10, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '00000008f-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02, |
| 'permissions': 0x10, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000000af2-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x32 |
| ], |
| }, |
| { |
| 'uuid': '000000af2-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x32 |
| ], |
| }, |
| { |
| 'uuid': '000000af2-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x32 |
| ], |
| }, |
| { |
| 'uuid': '000000af2-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x32 |
| ], |
| }, |
| { |
| 'uuid': '000000af2-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x32 |
| ], |
| }, |
| { |
| 'uuid': '000000af2-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x32 |
| ], |
| }, |
| { |
| 'uuid': '000000af2-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [ |
| 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0x00, |
| 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x32 |
| ], |
| }, |
| { |
| 'uuid': '000002aad-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000002ab0-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| { |
| 'uuid': '000002ab3-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_512BYTES, |
| }, |
| ] |
| }] |
| } |
| |
| PTS_TEST = { |
| 'services': [{ |
| 'uuid': '0000a00b-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [ |
| { |
| 'uuid': '000018ba-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_25BYTES, |
| }, |
| { |
| 'uuid': '000060aa-0000-1000-8000-00805f9b34fb', |
| 'properties': 0x02 | 0x08, |
| 'permissions': 0x10 | 0x01, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': STRING_25BYTES, |
| }, |
| ] |
| }] |
| } |
| |
| # Corresponds to the PTS defined LARGE_DB_3 |
| LARGE_DB_3 = { |
| 'services': [ |
| { |
| 'uuid': '0000a00b-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [ |
| { |
| 'uuid': '0000b004-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x0003, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x04], |
| }, |
| { |
| 'uuid': '0000b004-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x0013, |
| 'properties': 0x10, |
| 'permissions': 0x17, |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x04], |
| 'descriptors': [ |
| { |
| 'uuid': gatt_char_desc_uuids['char_ext_props'], |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x09] |
| }, |
| { |
| 'uuid': gatt_char_desc_uuids['char_user_desc'], |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x22] |
| }, |
| { |
| 'uuid': gatt_char_desc_uuids['client_char_cfg'], |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x01, 0x00] |
| }, |
| { |
| 'uuid': gatt_char_desc_uuids['server_char_cfg'], |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x22] |
| }, |
| { |
| 'uuid': gatt_char_desc_uuids['char_fmt_uuid'], |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x22] |
| }, |
| { |
| 'uuid': gatt_char_desc_uuids['char_agreg_fmt'], |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x22] |
| }, |
| { |
| 'uuid': gatt_char_desc_uuids['char_valid_range'], |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x22] |
| }, |
| { |
| 'uuid': |
| gatt_char_desc_uuids['external_report_reference'], |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x22] |
| }, |
| { |
| 'uuid': gatt_char_desc_uuids['report_reference'], |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x22] |
| }, |
| ] |
| }, |
| { |
| 'uuid': gatt_char_types['service_changed'], |
| 'instance_id': 0x0023, |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }, |
| { |
| 'uuid': gatt_char_types['appearance'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }, |
| { |
| 'uuid': gatt_char_types['peripheral_priv_flag'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }, |
| { |
| 'uuid': gatt_char_types['reconnection_address'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }, |
| { |
| 'uuid': gatt_char_types['system_id'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }, |
| { |
| 'uuid': gatt_char_types['model_number_string'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }, |
| { |
| 'uuid': gatt_char_types['serial_number_string'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }, |
| { |
| 'uuid': gatt_char_types['firmware_revision_string'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }, |
| { |
| 'uuid': gatt_char_types['hardware_revision_string'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }, |
| { |
| 'uuid': gatt_char_types['software_revision_string'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }, |
| { |
| 'uuid': gatt_char_types['manufacturer_name_string'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }, |
| { |
| 'uuid': gatt_char_types['pnp_id'], |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }, |
| ] |
| }, |
| { |
| 'uuid': '0000a00d-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['secondary'], |
| 'handles': 5, |
| 'characteristics': [{ |
| 'uuid': '0000b00c-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x0023, |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x0c], |
| }, { |
| 'uuid': '0000b00b-0000-0000-0123-456789abcdef', |
| 'instance_id': 0x0025, |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x0b], |
| }] |
| }, |
| { |
| 'uuid': '0000a00b-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': '0000b008-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x0032, |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x08], |
| }] |
| }, |
| { |
| 'uuid': '0000a00b-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': '0000b007-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x0042, |
| 'properties': gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x07], |
| }] |
| }, |
| { |
| 'uuid': '0000a00b-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': '0000b006-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x0052, |
| 'properties': 0x3e, |
| 'permissions': gatt_characteristic['permission_write_encrypted_mitm'] | |
| gatt_characteristic['permission_read_encrypted_mitm'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x06], |
| }] |
| }, |
| { |
| 'uuid': '0000a00a-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 10, |
| 'characteristics': [{ |
| 'uuid': '0000b001-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x0074, |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x01], |
| }, { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'enforce_initial_attribute_length': True, |
| 'instance_id': 0x0076, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '11111222223333344444555556666677777888889999900000', |
| }, { |
| 'uuid': '0000b003-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x0078, |
| 'properties': gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x03], |
| }] |
| }, |
| { |
| 'uuid': '0000a00c-0000-0000-0123-456789abcdef', |
| 'type': gatt_service_types['primary'], |
| 'handles': 10, |
| 'characteristics': [{ |
| 'uuid': '0000b009-0000-0000-0123-456789abcdef', |
| 'instance_id': 0x0082, |
| 'properties': 0x8a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x09], |
| 'descriptors': [ |
| { |
| 'uuid': '0000b009-0000-0000-0123-456789abcdef', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x09] |
| }, |
| { |
| 'uuid': '0000d9d2-0000-0000-0123-456789abcdef', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0x22] |
| }, |
| { |
| 'uuid': gatt_char_desc_uuids['char_ext_props'], |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0x01, 0x00] |
| }, |
| { |
| 'uuid': '0000d9d3-0000-0000-0123-456789abcdef', |
| 'permissions': gatt_descriptor['permission_write'], |
| 'value': [0x22] |
| }, |
| ] |
| }] |
| }, |
| { |
| 'uuid': '0000a00b-0000-0000-0123-456789abcdef', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': '0000b009-0000-0000-0123-456789abcdef', |
| 'instance_id': 0x0092, |
| 'properties': 0x8a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x05], |
| 'descriptors': [ |
| { |
| 'uuid': gatt_char_desc_uuids['char_user_desc'], |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'value': [0] * 26 |
| }, |
| { |
| 'uuid': gatt_char_desc_uuids['char_ext_props'], |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0x03, 0x00] |
| }, |
| { |
| 'uuid': '0000d5d4-0000-0000-0123-456789abcdef', |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0x44] |
| }, |
| { |
| 'uuid': gatt_char_desc_uuids['char_fmt_uuid'], |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0x04, 0x00, 0x01, 0x30, 0x01, 0x11, 0x31] |
| }, |
| ] |
| }] |
| }, |
| { |
| 'uuid': '0000a00c-0000-0000-0123-456789abcdef', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [ |
| { |
| 'uuid': '0000b00a-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x00a2, |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x0a], |
| }, |
| { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x00a4, |
| 'enforce_initial_attribute_length': True, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '111112222233333444445', |
| }, |
| { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x00a6, |
| 'enforce_initial_attribute_length': True, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '2222233333444445555566', |
| }, |
| { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x00a8, |
| 'enforce_initial_attribute_length': True, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '33333444445555566666777', |
| }, |
| { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x00aa, |
| 'enforce_initial_attribute_length': True, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '1111122222333334444455555666667777788888999', |
| }, |
| { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x00ac, |
| 'enforce_initial_attribute_length': True, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '22222333334444455555666667777788888999990000', |
| }, |
| { |
| 'uuid': '0000b002-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0x00ae, |
| 'enforce_initial_attribute_length': True, |
| 'properties': 0x0a, |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': '333334444455555666667777788888999990000011111', |
| }, |
| ] |
| }, |
| { |
| 'uuid': '0000a00e-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': '0000b00d-0000-1000-8000-00805f9b34fb', |
| 'instance_id': 0xffff, |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x0d], |
| }] |
| }, |
| ] |
| } |
| |
| TEST_DB_1 = { |
| 'services': [{ |
| 'uuid': '0000180d-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 4, |
| 'characteristics': [{ |
| 'uuid': '00002a29-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': 'test', |
| 'instance_id': 0x002a, |
| 'descriptors': [{ |
| 'uuid': gatt_char_desc_uuids['char_user_desc'], |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0x01] |
| }] |
| }] |
| }] |
| } |
| |
| TEST_DB_2 = { |
| 'services': [{ |
| 'uuid': '0000180d-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 4, |
| 'characteristics': [{ |
| 'uuid': '00002a29-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': |
| gatt_characteristic['permission_read_encrypted_mitm'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': 'test', |
| 'instance_id': 0x002a, |
| }, { |
| 'uuid': '00002a30-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': |
| gatt_characteristic['permission_read_encrypted_mitm'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': 'test', |
| 'instance_id': 0x002b, |
| }] |
| }] |
| } |
| |
| TEST_DB_3 = { |
| 'services': [{ |
| 'uuid': '0000180d-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 4, |
| 'characteristics': [{ |
| 'uuid': '00002a29-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': 'test', |
| 'instance_id': 0x002a, |
| 'descriptors': [{ |
| 'uuid': gatt_char_desc_uuids['char_user_desc'], |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0x01] |
| }, { |
| 'uuid': '00002a20-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| 'instance_id': 0x002c, |
| 'value': [0x01] |
| }] |
| }, { |
| 'uuid': '00002a30-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | |
| gatt_characteristic['property_write'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': 'test', |
| 'instance_id': 0x002b, |
| }] |
| }] |
| } |
| |
| TEST_DB_4 = { |
| 'services': [{ |
| 'uuid': '0000180d-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 4, |
| 'characteristics': [{ |
| 'uuid': '00002a29-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_write_no_response'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': "test", |
| 'instance_id': 0x002a, |
| 'descriptors': [{ |
| 'uuid': gatt_char_desc_uuids['char_user_desc'], |
| 'permissions': |
| gatt_descriptor['permission_read_encrypted_mitm'], |
| 'value': [0] * 512 |
| }] |
| }] |
| }] |
| } |
| |
| TEST_DB_5 = { |
| 'services': [{ |
| 'uuid': '0000180d-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': 'b2c83efa-34ca-11e6-ac61-9e71128cae77', |
| 'properties': gatt_characteristic['property_write'] | |
| gatt_characteristic['property_read'] | |
| gatt_characteristic['property_notify'], |
| 'permissions': gatt_characteristic['permission_read'] | |
| gatt_characteristic['permission_write'], |
| 'value_type': gatt_characteristic_value_format['byte'], |
| 'value': [0x1], |
| 'instance_id': 0x002c, |
| 'descriptors': [{ |
| 'uuid': '00002902-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'] | |
| gatt_descriptor['permission_write'], |
| }] |
| }] |
| }] |
| } |
| |
| TEST_DB_6 = { |
| 'services': [{ |
| 'uuid': '0000180d-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'handles': 4, |
| 'characteristics': [{ |
| 'uuid': '00002a29-0000-1000-8000-00805f9b34fb', |
| 'properties': gatt_characteristic['property_read'] | gatt_characteristic['property_notify'], |
| 'permissions': gatt_characteristic['permission_read_encrypted_mitm'], |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': 'test', |
| 'instance_id': 0x002a, |
| 'descriptors': [{ |
| 'uuid': '00002a19-0000-1000-8000-00805f9b34fb', |
| 'permissions': gatt_descriptor['permission_read'], |
| 'value': [0x01] * 30 |
| }] |
| }] |
| }] |
| } |
| |
| SIMPLE_READ_DESCRIPTOR = { |
| 'services': [{ |
| 'uuid': '0000a00a-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': 'aa7edd5a-4d1d-4f0e-883a-d145616a1630', |
| 'properties': gatt_characteristic['property_read'], |
| 'permissions': gatt_characteristic['permission_read'], |
| 'instance_id': 0x002a, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': 'Test Database', |
| 'descriptors': [{ |
| 'uuid': gatt_char_desc_uuids['client_char_cfg'], |
| 'permissions': gatt_descriptor['permission_read'], |
| }] |
| }] |
| }] |
| } |
| |
| CHARACTERISTIC_PROPERTY_WRITE_NO_RESPONSE = { |
| 'services': [{ |
| 'uuid': '0000a00a-0000-1000-8000-00805f9b34fb', |
| 'type': gatt_service_types['primary'], |
| 'characteristics': [{ |
| 'uuid': 'aa7edd5a-4d1d-4f0e-883a-d145616a1630', |
| 'properties': gatt_characteristic['property_write_no_response'], |
| 'permissions': gatt_characteristic['permission_write'] | |
| gatt_characteristic['permission_read'], |
| 'instance_id': 0x0042, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': 'Test Database' |
| }, { |
| 'uuid': 'aa7edd6a-4d1d-4f0e-883a-d145616a1630', |
| 'properties': gatt_characteristic['property_write_no_response'], |
| 'permissions': gatt_characteristic['permission_write'] | |
| gatt_characteristic['permission_read'], |
| 'instance_id': 0x004d, |
| 'value_type': gatt_characteristic_value_format['string'], |
| 'value': 'Test Database' |
| }] |
| }] |
| } |
| |
| GATT_SERVER_DB_MAPPING = { |
| 'LARGE_DB_1': LARGE_DB_1, |
| 'LARGE_DB_3': LARGE_DB_3, |
| 'INVALID_SMALL_DATABASE': INVALID_SMALL_DATABASE, |
| 'SIMPLE_READ_DESCRIPTOR': SIMPLE_READ_DESCRIPTOR, |
| 'CHARACTERISTIC_PROPERTY_WRITE_NO_RESPONSE': |
| CHARACTERISTIC_PROPERTY_WRITE_NO_RESPONSE, |
| 'TEST_DB_1': TEST_DB_1, |
| 'TEST_DB_2': TEST_DB_2, |
| 'TEST_DB_3': TEST_DB_3, |
| 'TEST_DB_4': TEST_DB_4, |
| 'TEST_DB_5': TEST_DB_5, |
| 'LARGE_DB_3_PLUS': LARGE_DB_3, |
| 'DB_TEST': DB_TEST, |
| 'PTS_TEST': PTS_TEST, |
| 'PTS_TEST2': PTS_TEST2, |
| 'TEST_DB_6': TEST_DB_6, |
| } |