55 lines
1.6 KiB
Python
55 lines
1.6 KiB
Python
|
"""Tests for the SMLIGHT sensor platform."""
|
||
|
|
||
|
import pytest
|
||
|
from syrupy.assertion import SnapshotAssertion
|
||
|
|
||
|
from homeassistant.const import Platform
|
||
|
from homeassistant.core import HomeAssistant
|
||
|
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
||
|
|
||
|
from .conftest import setup_integration
|
||
|
|
||
|
from tests.common import MockConfigEntry, snapshot_platform
|
||
|
|
||
|
pytestmark = [
|
||
|
pytest.mark.usefixtures(
|
||
|
"mock_smlight_client",
|
||
|
)
|
||
|
]
|
||
|
|
||
|
|
||
|
@pytest.fixture
|
||
|
def platforms() -> Platform | list[Platform]:
|
||
|
"""Platforms, which should be loaded during the test."""
|
||
|
return Platform.SENSOR
|
||
|
|
||
|
|
||
|
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
|
||
|
async def test_sensors(
|
||
|
hass: HomeAssistant,
|
||
|
device_registry: dr.DeviceRegistry,
|
||
|
entity_registry: er.EntityRegistry,
|
||
|
mock_config_entry: MockConfigEntry,
|
||
|
snapshot: SnapshotAssertion,
|
||
|
) -> None:
|
||
|
"""Test the SMLIGHT sensors."""
|
||
|
entry = await setup_integration(hass, mock_config_entry)
|
||
|
|
||
|
await snapshot_platform(hass, entity_registry, snapshot, entry.entry_id)
|
||
|
|
||
|
|
||
|
async def test_disabled_by_default_sensors(
|
||
|
hass: HomeAssistant,
|
||
|
entity_registry: er.EntityRegistry,
|
||
|
mock_config_entry: MockConfigEntry,
|
||
|
) -> None:
|
||
|
"""Test the disabled by default SMLIGHT sensors."""
|
||
|
await setup_integration(hass, mock_config_entry)
|
||
|
|
||
|
for sensor in ("ram_usage", "filesystem_usage"):
|
||
|
assert not hass.states.get(f"sensor.mock_title_{sensor}")
|
||
|
|
||
|
assert (entry := entity_registry.async_get(f"sensor.mock_title_{sensor}"))
|
||
|
assert entry.disabled
|
||
|
assert entry.disabled_by is er.RegistryEntryDisabler.INTEGRATION
|