Use snapshots in Glances sensor tests (#107159)

* Use snapshots in Glances sensor tests

* yes
This commit is contained in:
Joost Lekkerkerker 2024-01-04 21:32:31 +01:00 committed by GitHub
parent bc26377c16
commit 8b1db37a85
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 928 additions and 39 deletions

View file

@ -1,60 +1,34 @@
"""Tests for glances sensors."""
import pytest
from syrupy import SnapshotAssertion
from homeassistant.components.glances.const import DOMAIN
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from . import HA_SENSOR_DATA, MOCK_USER_INPUT
from . import MOCK_USER_INPUT
from tests.common import MockConfigEntry
async def test_sensor_states(hass: HomeAssistant) -> None:
async def test_sensor_states(
hass: HomeAssistant, snapshot: SnapshotAssertion, entity_registry: er.EntityRegistry
) -> None:
"""Test sensor states are correctly collected from library."""
entry = MockConfigEntry(domain=DOMAIN, data=MOCK_USER_INPUT)
entry = MockConfigEntry(domain=DOMAIN, data=MOCK_USER_INPUT, entry_id="test")
entry.add_to_hass(hass)
assert await hass.config_entries.async_setup(entry.entry_id)
entity_entries = er.async_entries_for_config_entry(entity_registry, entry.entry_id)
assert hass.states.get("sensor.0_0_0_0_ssl_used").state == str(
HA_SENSOR_DATA["fs"]["/ssl"]["disk_use"]
)
assert hass.states.get("sensor.0_0_0_0_cpu_thermal_1_temperature").state == str(
HA_SENSOR_DATA["sensors"]["cpu_thermal 1"]["temperature_core"]
)
assert hass.states.get("sensor.0_0_0_0_err_temp_temperature").state == str(
HA_SENSOR_DATA["sensors"]["err_temp"]["temperature_hdd"]
)
assert hass.states.get("sensor.0_0_0_0_na_temp_temperature").state == str(
HA_SENSOR_DATA["sensors"]["na_temp"]["temperature_hdd"]
)
assert hass.states.get("sensor.0_0_0_0_ram_used_percent").state == str(
HA_SENSOR_DATA["mem"]["memory_use_percent"]
)
assert hass.states.get("sensor.0_0_0_0_containers_active").state == str(
HA_SENSOR_DATA["docker"]["docker_active"]
)
assert hass.states.get("sensor.0_0_0_0_containers_cpu_used").state == str(
HA_SENSOR_DATA["docker"]["docker_cpu_use"]
)
assert hass.states.get("sensor.0_0_0_0_containers_ram_used").state == str(
HA_SENSOR_DATA["docker"]["docker_memory_use"]
)
assert hass.states.get("sensor.0_0_0_0_md3_raid_available").state == str(
HA_SENSOR_DATA["raid"]["md3"]["available"]
)
assert hass.states.get("sensor.0_0_0_0_md3_raid_used").state == str(
HA_SENSOR_DATA["raid"]["md3"]["used"]
)
assert hass.states.get("sensor.0_0_0_0_md1_raid_available").state == str(
HA_SENSOR_DATA["raid"]["md1"]["available"]
)
assert hass.states.get("sensor.0_0_0_0_md1_raid_used").state == str(
HA_SENSOR_DATA["raid"]["md1"]["used"]
)
assert entity_entries
for entity_entry in entity_entries:
assert entity_entry == snapshot(name=f"{entity_entry.entity_id}-entry")
assert hass.states.get(entity_entry.entity_id) == snapshot(
name=f"{entity_entry.entity_id}-state"
)
@pytest.mark.parametrize(