"""Test code shared between test files.""" from tuyaha.devices import climate, light, switch CLIMATE_ID = "1" CLIMATE_DATA = { "data": {"state": "true", "temp_unit": climate.UNIT_CELSIUS}, "id": CLIMATE_ID, "ha_type": "climate", "name": "TestClimate", "dev_type": "climate", } LIGHT_ID = "2" LIGHT_DATA = { "data": {"state": "true"}, "id": LIGHT_ID, "ha_type": "light", "name": "TestLight", "dev_type": "light", } SWITCH_ID = "3" SWITCH_DATA = { "data": {"state": True}, "id": SWITCH_ID, "ha_type": "switch", "name": "TestSwitch", "dev_type": "switch", } LIGHT_ID_FAKE1 = "9998" LIGHT_DATA_FAKE1 = { "data": {"state": "true"}, "id": LIGHT_ID_FAKE1, "ha_type": "light", "name": "TestLightFake1", "dev_type": "light", } LIGHT_ID_FAKE2 = "9999" LIGHT_DATA_FAKE2 = { "data": {"state": "true"}, "id": LIGHT_ID_FAKE2, "ha_type": "light", "name": "TestLightFake2", "dev_type": "light", } TUYA_DEVICES = [ climate.TuyaClimate(CLIMATE_DATA, None), light.TuyaLight(LIGHT_DATA, None), switch.TuyaSwitch(SWITCH_DATA, None), light.TuyaLight(LIGHT_DATA_FAKE1, None), light.TuyaLight(LIGHT_DATA_FAKE2, None), ] class MockTuya: """Mock for Tuya devices.""" def get_all_devices(self): """Return all configured devices.""" return TUYA_DEVICES def get_device_by_id(self, dev_id): """Return configured device with dev id.""" if dev_id == LIGHT_ID_FAKE1: return None if dev_id == LIGHT_ID_FAKE2: return switch.TuyaSwitch(SWITCH_DATA, None) for device in TUYA_DEVICES: if device.object_id() == dev_id: return device return None