def test_get_characteristic(mock_driver): bridge = Bridge(mock_driver, "Test Bridge") acc = Accessory(mock_driver, "Test Accessory", aid=2) assert acc.available is True assert bridge.aid == 1 assert bridge.get_characteristic(1, 2).display_name == "Identify" assert bridge.get_characteristic(2, 2) is None assert bridge.get_characteristic(3, 2) is None
def test_to_hap(mock_driver): bridge = Bridge(mock_driver, "Test Bridge") acc = Accessory(mock_driver, "Test Accessory", aid=2) assert acc.available is True bridge.add_accessory(acc) assert bridge.to_HAP() == [ { "aid": 1, "services": [{ "characteristics": [ { "format": "bool", "iid": 2, "perms": ["pw"], "type": "14", }, { "format": "string", "iid": 3, "perms": ["pr"], "type": "20", "value": "", }, { "format": "string", "iid": 4, "perms": ["pr"], "type": "21", "value": "", }, { "format": "string", "iid": 5, "perms": ["pr"], "type": "23", "value": "Test Bridge", }, { "format": "string", "iid": 6, "perms": ["pr"], "type": "30", "value": "default", }, { "format": "string", "iid": 7, "perms": ["pr"], "type": "52", "value": "", }, ], "iid": 1, "type": "3E", }], }, { "aid": 2, "services": [{ "characteristics": [ { "format": "bool", "iid": 2, "perms": ["pw"], "type": "14", }, { "format": "string", "iid": 3, "perms": ["pr"], "type": "20", "value": "", }, { "format": "string", "iid": 4, "perms": ["pr"], "type": "21", "value": "", }, { "format": "string", "iid": 5, "perms": ["pr"], "type": "23", "value": "Test Accessory", }, { "format": "string", "iid": 6, "perms": ["pr"], "type": "30", "value": "default", }, { "format": "string", "iid": 7, "perms": ["pr"], "type": "52", "value": "", }, ], "iid": 1, "type": "3E", }], }, ] assert acc.to_HAP() == { "aid": 2, "services": [{ "characteristics": [ { "format": "bool", "iid": 2, "perms": ["pw"], "type": "14", }, { "format": "string", "iid": 3, "perms": ["pr"], "type": "20", "value": "", }, { "format": "string", "iid": 4, "perms": ["pr"], "type": "21", "value": "", }, { "format": "string", "iid": 5, "perms": ["pr"], "type": "23", "value": "Test Accessory", }, { "format": "string", "iid": 6, "perms": ["pr"], "type": "30", "value": "default", }, { "format": "string", "iid": 7, "perms": ["pr"], "type": "52", "value": "", }, ], "iid": 1, "type": "3E", }], } bridge.get_characteristic(2, 2).display_name = "Custom Name Identify" assert acc.to_HAP() == { "aid": 2, "services": [{ "characteristics": [ { "description": "Custom Name Identify", "format": "bool", "iid": 2, "perms": ["pw"], "type": "14", }, { "format": "string", "iid": 3, "perms": ["pr"], "type": "20", "value": "", }, { "format": "string", "iid": 4, "perms": ["pr"], "type": "21", "value": "", }, { "format": "string", "iid": 5, "perms": ["pr"], "type": "23", "value": "Test Accessory", }, { "format": "string", "iid": 6, "perms": ["pr"], "type": "30", "value": "default", }, { "format": "string", "iid": 7, "perms": ["pr"], "type": "52", "value": "", }, ], "iid": 1, "type": "3E", }], }