* Added component named switcher_kis switcher water heater integration. * Fixed conflicts. * Updated requirements. * Added manifest.json file and updated CODEOWNERS. * Fixed requirements_all.txt. * Better component tests. * Removed unnecessary parameter from fixture function. * Removed tests section from mypy.ini. * Remove unused ENTITY_ID_FORMAT. * Stop udp bridge when failed to setup the component. * Replace DISCOVERY_ constants prefix with DATA_. * Various change requests. * Fixed constant name change remifications. * Added explicit name to fixture. * Various change requests. * More various change requests. * Added EventType for homeassistant.core.Event. * Switched from event driven data distribution to dispatcher type plus clean-ups. * Removed name and icon keys from the component configuration. * Various change requests. * Various change reqeusts and clean-ups. * Removed unnecessary DEPENDENCIES constant from swith platform. * Replaced configuration data guard with assert. * Removed unused constants. * Removed confusing type casting for mypy sake. * Refactor property device_name to name. * Removed None guard effecting mypy only. * Removed unnecessary function from switch entity. * Removed None guard in use by mypy only. * Removed unused constant. * Removed unnecessary context manager. * Stopped messing around with mypy.ini. * Referring to typing.TYPE_CHECKING for non-runtime imports. * Added test requierment correctyly. * Replaced queue.get() with queue.get_nowait() to avoid backing up intervals requests. * Revert changes in mypy.ini. * Changed attributes content to device properties instead of entity properties. * Fixed typo in constant name. * Remove unnecessary async keyword from callable. * Waiting for tasks on event loop to end. * Added callback decorator to callable.
49 lines
1.9 KiB
Python
49 lines
1.9 KiB
Python
"""Test cases for the switcher_kis component."""
|
|
|
|
from typing import Any, Generator
|
|
|
|
from homeassistant.components.switcher_kis import (DOMAIN, DATA_DEVICE)
|
|
from homeassistant.helpers.typing import HomeAssistantType
|
|
from homeassistant.setup import async_setup_component
|
|
|
|
from .consts import (
|
|
DUMMY_AUTO_OFF_SET, DUMMY_DEVICE_ID, DUMMY_DEVICE_NAME,
|
|
DUMMY_DEVICE_STATE, DUMMY_ELECTRIC_CURRENT, DUMMY_IP_ADDRESS,
|
|
DUMMY_MAC_ADDRESS, DUMMY_PHONE_ID, DUMMY_POWER_CONSUMPTION,
|
|
DUMMY_REMAINING_TIME, MANDATORY_CONFIGURATION)
|
|
|
|
|
|
async def test_failed_config(hass: HomeAssistantType) -> None:
|
|
"""Test failed configuration."""
|
|
assert await async_setup_component(
|
|
hass, DOMAIN, MANDATORY_CONFIGURATION) is False
|
|
|
|
|
|
async def test_minimal_config(hass: HomeAssistantType,
|
|
mock_bridge: Generator[None, Any, None]
|
|
) -> None:
|
|
"""Test setup with configuration minimal entries."""
|
|
assert await async_setup_component(hass, DOMAIN, MANDATORY_CONFIGURATION)
|
|
|
|
|
|
async def test_discovery_data_bucket(
|
|
hass: HomeAssistantType,
|
|
mock_bridge: Generator[None, Any, None]
|
|
) -> None:
|
|
"""Test the event send with the updated device."""
|
|
assert await async_setup_component(
|
|
hass, DOMAIN, MANDATORY_CONFIGURATION)
|
|
|
|
await hass.async_block_till_done()
|
|
|
|
device = hass.data[DOMAIN].get(DATA_DEVICE)
|
|
assert device.device_id == DUMMY_DEVICE_ID
|
|
assert device.ip_addr == DUMMY_IP_ADDRESS
|
|
assert device.mac_addr == DUMMY_MAC_ADDRESS
|
|
assert device.name == DUMMY_DEVICE_NAME
|
|
assert device.state == DUMMY_DEVICE_STATE
|
|
assert device.remaining_time == DUMMY_REMAINING_TIME
|
|
assert device.auto_off_set == DUMMY_AUTO_OFF_SET
|
|
assert device.power_consumption == DUMMY_POWER_CONSUMPTION
|
|
assert device.electric_current == DUMMY_ELECTRIC_CURRENT
|
|
assert device.phone_id == DUMMY_PHONE_ID
|