Use snapshot assertion for Discovergy diagnostics test (#98871)

Add snapshot assertion to Discovergy
This commit is contained in:
Jan-Philipp Benecke 2023-08-23 21:02:11 +02:00 committed by GitHub
parent e96ce3f520
commit 4aa7fb0e35
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 51 additions and 62 deletions

View File

@ -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,
} }

View 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,
}),
}),
}),
})
# ---

View File

@ -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,
},
}
}