| 12345678910111213141516171819202122232425 |
- from contextlib import asynccontextmanager
- from unittest.mock import AsyncMock
- from custom_components.tuya_local.device import TuyaLocalDevice
- @asynccontextmanager
- async def assert_device_properties_set(device: TuyaLocalDevice, properties: dict):
- results = []
- def generate_result(*args):
- result = AsyncMock()
- results.append(result)
- return result()
- device.async_set_property.side_effect = generate_result
- try:
- yield
- finally:
- assert device.async_set_property.call_count == len(properties.keys())
- for key in properties.keys():
- device.async_set_property.assert_any_call(key, properties[key])
- for result in results:
- result.assert_awaited()
|