from bleak.backends.device import BLEDevice from bleak.backends.scanner import AdvertisementData from k1link.device_plugins.xgrids_k1.ble.scanner import advertisement_record def test_advertisement_record_marks_k1_candidate() -> None: device = BLEDevice("TEST-UUID", "Unknown", details=None) advertisement = AdvertisementData( local_name="Lixel-K1-1234", manufacturer_data={123: b"\x01\x02"}, service_data={"service": b"\xaa"}, service_uuids=["B", "a"], tx_power=-4, rssi=-52, platform_data=(), ) record = advertisement_record(device, advertisement) assert record["k1_name_candidate"] is True assert record["id_kind"] == "corebluetooth_uuid" assert record["manufacturer_data_hex"] == {"123": "0102"} assert record["service_data_hex"] == {"service": "aa"} assert record["service_uuids"] == ["B", "a"] def test_advertisement_record_marks_synthetic_xgr_name_as_k1_candidate() -> None: device = BLEDevice("00000000-0000-0000-0000-000000000001", "XGR-TEST01", None) advertisement = AdvertisementData( local_name="XGR-TEST01", manufacturer_data={}, service_data={}, service_uuids=[], tx_power=0, rssi=-60, platform_data=(), ) record = advertisement_record(device, advertisement) assert record["k1_name_candidate"] is True