mirror of
https://github.com/home-assistant/core.git
synced 2025-07-13 16:27:08 +00:00
Use snapshot assertion for Discovergy diagnostics test (#98871)
Add snapshot assertion to Discovergy
This commit is contained in:
parent
e96ce3f520
commit
4aa7fb0e35
@ -8,14 +8,11 @@ from pydiscovergy.models import Meter
|
|||||||
|
|
||||||
from homeassistant.components.diagnostics import async_redact_data
|
from homeassistant.components.diagnostics import async_redact_data
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import CONF_EMAIL, CONF_PASSWORD, CONF_UNIQUE_ID
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
from . import DiscovergyData
|
from . import DiscovergyData
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
|
|
||||||
TO_REDACT_CONFIG_ENTRY = {CONF_EMAIL, CONF_PASSWORD, CONF_UNIQUE_ID, "title"}
|
|
||||||
|
|
||||||
TO_REDACT_METER = {
|
TO_REDACT_METER = {
|
||||||
"serial_number",
|
"serial_number",
|
||||||
"full_serial_number",
|
"full_serial_number",
|
||||||
@ -44,7 +41,6 @@ async def async_get_config_entry_diagnostics(
|
|||||||
last_readings[meter.meter_id] = asdict(coordinator.data)
|
last_readings[meter.meter_id] = asdict(coordinator.data)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"entry": async_redact_data(entry.as_dict(), TO_REDACT_CONFIG_ENTRY),
|
|
||||||
"meters": flattened_meter,
|
"meters": flattened_meter,
|
||||||
"readings": last_readings,
|
"readings": last_readings,
|
||||||
}
|
}
|
||||||
|
47
tests/components/discovergy/snapshots/test_diagnostics.ambr
Normal file
47
tests/components/discovergy/snapshots/test_diagnostics.ambr
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# serializer version: 1
|
||||||
|
# name: test_entry_diagnostics
|
||||||
|
dict({
|
||||||
|
'meters': list([
|
||||||
|
dict({
|
||||||
|
'additional': dict({
|
||||||
|
'administration_number': '**REDACTED**',
|
||||||
|
'current_scaling_factor': 1,
|
||||||
|
'first_measurement_time': 1517569090926,
|
||||||
|
'internal_meters': 1,
|
||||||
|
'last_measurement_time': 1678430543742,
|
||||||
|
'manufacturer_id': 'TST',
|
||||||
|
'printed_full_serial_number': '**REDACTED**',
|
||||||
|
'scaling_factor': 1,
|
||||||
|
'voltage_scaling_factor': 1,
|
||||||
|
}),
|
||||||
|
'full_serial_number': '**REDACTED**',
|
||||||
|
'load_profile_type': 'SLP',
|
||||||
|
'location': '**REDACTED**',
|
||||||
|
'measurement_type': 'ELECTRICITY',
|
||||||
|
'meter_id': 'f8d610b7a8cc4e73939fa33b990ded54',
|
||||||
|
'serial_number': '**REDACTED**',
|
||||||
|
'type': 'TST',
|
||||||
|
}),
|
||||||
|
]),
|
||||||
|
'readings': dict({
|
||||||
|
'f8d610b7a8cc4e73939fa33b990ded54': dict({
|
||||||
|
'time': '2023-03-10T07:32:06.702000',
|
||||||
|
'values': dict({
|
||||||
|
'energy': 119348699715000.0,
|
||||||
|
'energy1': 2254180000.0,
|
||||||
|
'energy2': 119346445534000.0,
|
||||||
|
'energyOut': 55048723044000.0,
|
||||||
|
'energyOut1': 0.0,
|
||||||
|
'energyOut2': 0.0,
|
||||||
|
'power': 531750.0,
|
||||||
|
'power1': 142680.0,
|
||||||
|
'power2': 138010.0,
|
||||||
|
'power3': 251060.0,
|
||||||
|
'voltage1': 239800.0,
|
||||||
|
'voltage2': 239700.0,
|
||||||
|
'voltage3': 239000.0,
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
# ---
|
@ -1,7 +1,8 @@
|
|||||||
"""Test Discovergy diagnostics."""
|
"""Test Discovergy diagnostics."""
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
from homeassistant.components.diagnostics import REDACTED
|
from syrupy import SnapshotAssertion
|
||||||
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
from tests.common import MockConfigEntry
|
from tests.common import MockConfigEntry
|
||||||
@ -14,6 +15,7 @@ async def test_entry_diagnostics(
|
|||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
hass_client: ClientSessionGenerator,
|
hass_client: ClientSessionGenerator,
|
||||||
mock_config_entry: MockConfigEntry,
|
mock_config_entry: MockConfigEntry,
|
||||||
|
snapshot: SnapshotAssertion,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test config entry diagnostics."""
|
"""Test config entry diagnostics."""
|
||||||
with patch("pydiscovergy.Discovergy.meters", return_value=GET_METERS), patch(
|
with patch("pydiscovergy.Discovergy.meters", return_value=GET_METERS), patch(
|
||||||
@ -26,60 +28,4 @@ async def test_entry_diagnostics(
|
|||||||
hass, hass_client, mock_config_entry
|
hass, hass_client, mock_config_entry
|
||||||
)
|
)
|
||||||
|
|
||||||
assert result["entry"] == {
|
assert result == snapshot
|
||||||
"entry_id": mock_config_entry.entry_id,
|
|
||||||
"version": 1,
|
|
||||||
"domain": "discovergy",
|
|
||||||
"title": REDACTED,
|
|
||||||
"data": {"email": REDACTED, "password": REDACTED},
|
|
||||||
"options": {},
|
|
||||||
"pref_disable_new_entities": False,
|
|
||||||
"pref_disable_polling": False,
|
|
||||||
"source": "user",
|
|
||||||
"unique_id": REDACTED,
|
|
||||||
"disabled_by": None,
|
|
||||||
}
|
|
||||||
|
|
||||||
assert result["meters"] == [
|
|
||||||
{
|
|
||||||
"additional": {
|
|
||||||
"administration_number": REDACTED,
|
|
||||||
"current_scaling_factor": 1,
|
|
||||||
"first_measurement_time": 1517569090926,
|
|
||||||
"internal_meters": 1,
|
|
||||||
"last_measurement_time": 1678430543742,
|
|
||||||
"manufacturer_id": "TST",
|
|
||||||
"printed_full_serial_number": REDACTED,
|
|
||||||
"scaling_factor": 1,
|
|
||||||
"voltage_scaling_factor": 1,
|
|
||||||
},
|
|
||||||
"full_serial_number": REDACTED,
|
|
||||||
"load_profile_type": "SLP",
|
|
||||||
"location": REDACTED,
|
|
||||||
"measurement_type": "ELECTRICITY",
|
|
||||||
"meter_id": "f8d610b7a8cc4e73939fa33b990ded54",
|
|
||||||
"serial_number": REDACTED,
|
|
||||||
"type": "TST",
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
assert result["readings"] == {
|
|
||||||
"f8d610b7a8cc4e73939fa33b990ded54": {
|
|
||||||
"time": "2023-03-10T07:32:06.702000",
|
|
||||||
"values": {
|
|
||||||
"energy": 119348699715000.0,
|
|
||||||
"energy1": 2254180000.0,
|
|
||||||
"energy2": 119346445534000.0,
|
|
||||||
"energyOut": 55048723044000.0,
|
|
||||||
"energyOut1": 0.0,
|
|
||||||
"energyOut2": 0.0,
|
|
||||||
"power": 531750.0,
|
|
||||||
"power1": 142680.0,
|
|
||||||
"power2": 138010.0,
|
|
||||||
"power3": 251060.0,
|
|
||||||
"voltage1": 239800.0,
|
|
||||||
"voltage2": 239700.0,
|
|
||||||
"voltage3": 239000.0,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user