Exemple #1
0
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",
        }],
    }