* Add device trigger support to sensor entities * Fix typing * Fix tests, add test helper for comparing lists
44 lines
1,019 B
Python
44 lines
1,019 B
Python
"""
|
|
Provide a mock sensor platform.
|
|
|
|
Call init before using it in your tests to ensure clean test data.
|
|
"""
|
|
from homeassistant.components.sensor import DEVICE_CLASSES
|
|
from tests.common import MockEntity
|
|
|
|
|
|
ENTITIES = {}
|
|
|
|
|
|
def init(empty=False):
|
|
"""Initialize the platform with entities."""
|
|
global ENTITIES
|
|
|
|
ENTITIES = (
|
|
{}
|
|
if empty
|
|
else {
|
|
device_class: MockSensor(
|
|
name=f"{device_class} sensor",
|
|
unique_id=f"unique_{device_class}",
|
|
device_class=device_class,
|
|
)
|
|
for device_class in DEVICE_CLASSES
|
|
}
|
|
)
|
|
|
|
|
|
async def async_setup_platform(
|
|
hass, config, async_add_entities_callback, discovery_info=None
|
|
):
|
|
"""Return mock entities."""
|
|
async_add_entities_callback(list(ENTITIES.values()))
|
|
|
|
|
|
class MockSensor(MockEntity):
|
|
"""Mock Sensor class."""
|
|
|
|
@property
|
|
def device_class(self):
|
|
"""Return the class of this sensor."""
|
|
return self._handle("device_class")
|