core/tests/components/inkbird/__init__.py

116 lines
2.9 KiB
Python

"""Tests for the INKBIRD integration."""
from uuid import UUID
from bleak.backends.device import BLEDevice
from homeassistant.components.bluetooth import MONOTONIC_TIME, BluetoothServiceInfoBleak
def _make_bluetooth_service_info(
name: str,
manufacturer_data: dict[int, bytes],
service_uuids: list[str],
address: str,
rssi: int,
service_data: dict[UUID, bytes],
source: str,
tx_power: int = 0,
) -> BluetoothServiceInfoBleak:
return BluetoothServiceInfoBleak(
name=name,
manufacturer_data=manufacturer_data,
service_uuids=service_uuids,
address=address,
rssi=rssi,
service_data=service_data,
source=source,
device=BLEDevice(
name=name,
address=address,
details={},
rssi=rssi,
),
time=MONOTONIC_TIME(),
advertisement=None,
connectable=True,
tx_power=tx_power,
)
NOT_INKBIRD_SERVICE_INFO = _make_bluetooth_service_info(
name="Not it",
address="61DE521B-F0BF-9F44-64D4-75BBE1738105",
rssi=-63,
manufacturer_data={3234: b"\x00\x01"},
service_data={},
service_uuids=[],
source="local",
)
SPS_SERVICE_INFO = _make_bluetooth_service_info(
name="sps",
address="61DE521B-F0BF-9F44-64D4-75BBE1738105",
rssi=-63,
service_data={},
manufacturer_data={2096: b"\x0f\x12\x00Z\xc7W\x06"},
service_uuids=["0000fff0-0000-1000-8000-00805f9b34fb"],
source="local",
)
SPS_PASSIVE_SERVICE_INFO = _make_bluetooth_service_info(
name="sps",
address="AA:BB:CC:DD:EE:FF",
rssi=-63,
service_data={},
manufacturer_data={},
service_uuids=["0000fff0-0000-1000-8000-00805f9b34fb"],
source="local",
)
SPS_WITH_CORRUPT_NAME_SERVICE_INFO = _make_bluetooth_service_info(
name="XXXXcorruptXXXX",
address="AA:BB:CC:DD:EE:FF",
rssi=-63,
service_data={},
manufacturer_data={2096: b"\x0f\x12\x00Z\xc7W\x06"},
service_uuids=["0000fff0-0000-1000-8000-00805f9b34fb"],
source="local",
)
IBBQ_SERVICE_INFO = _make_bluetooth_service_info(
name="iBBQ",
address="4125DDBA-2774-4851-9889-6AADDD4CAC3D",
rssi=-56,
manufacturer_data={
0: b"\x00\x000\xe2\x83}\xb5\x02\xc8\x00\xc8\x00\xc8\x00\xc8\x00"
},
service_uuids=["0000fff0-0000-1000-8000-00805f9b34fb"],
service_data={},
source="local",
)
IAM_T1_SERVICE_INFO = _make_bluetooth_service_info(
name="Ink@IAM-T1",
manufacturer_data={12628: b"AC-6200a13cae\x00\x00"},
service_uuids=["0000fff0-0000-1000-8000-00805f9b34fb"],
address="62:00:A1:3C:AE:7B",
rssi=-44,
service_data={},
source="local",
)
IBS_P02B_SERVICE_INFO = _make_bluetooth_service_info(
name="IBS-P02B",
manufacturer_data={9289: bytes.fromhex("111800656e0100005f00000100000000")},
service_uuids=["0000fff0-0000-1000-8000-00805f9b34fb"],
address="49:24:11:18:00:65",
rssi=-60,
service_data={},
source="local",
)