async def test_type_unknown(): invalid_info = {"system": {"get_sysinfo": {"type": "nosuchtype"}}} with pytest.raises(SmartDeviceException): Discover._get_device_class(invalid_info)
async def test_type_detection_lightstrip(dev: SmartDevice): d = Discover._get_device_class(dev._last_update)("localhost") assert d.is_light_strip assert d.device_type == DeviceType.LightStrip
async def test_type_detection_bulb(dev: SmartDevice): d = Discover._get_device_class(dev._last_update)("localhost") # TODO: light_strip is a special case for now to force bulb tests on it if not d.is_light_strip: assert d.is_bulb assert d.device_type == DeviceType.Bulb
async def test_type_detection_dimmer(dev: SmartDevice): d = Discover._get_device_class(dev._last_update)("localhost") assert d.is_dimmer assert d.device_type == DeviceType.Dimmer
async def test_type_detection_plug(dev: SmartDevice): d = Discover._get_device_class(dev.protocol.discovery_data)("localhost") assert d.is_plug assert d.device_type == DeviceType.Plug