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.config_entries import ConfigEntry
from homeassistant.const import CONF_EMAIL, CONF_PASSWORD, CONF_UNIQUE_ID
from homeassistant.core import HomeAssistant
from . import DiscovergyData
from .const import DOMAIN
TO_REDACT_CONFIG_ENTRY = {CONF_EMAIL, CONF_PASSWORD, CONF_UNIQUE_ID, "title"}
TO_REDACT_METER = {
"serial_number",
"full_serial_number",
@ -44,7 +41,6 @@ async def async_get_config_entry_diagnostics(
last_readings[meter.meter_id] = asdict(coordinator.data)
return {
"entry": async_redact_data(entry.as_dict(), TO_REDACT_CONFIG_ENTRY),
"meters": flattened_meter,
"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."""
from unittest.mock import patch
from homeassistant.components.diagnostics import REDACTED
from syrupy import SnapshotAssertion
from homeassistant.core import HomeAssistant
from tests.common import MockConfigEntry
@ -14,6 +15,7 @@ async def test_entry_diagnostics(
hass: HomeAssistant,
hass_client: ClientSessionGenerator,
mock_config_entry: MockConfigEntry,
snapshot: SnapshotAssertion,
) -> None:
"""Test config entry diagnostics."""
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
)
assert result["entry"] == {
"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,
},
}
}
assert result == snapshot