Use snapshot assertion for Discovergy diagnostics test (#98871)
Add snapshot assertion to Discovergy
This commit is contained in:
parent
e96ce3f520
commit
4aa7fb0e35
3 changed files with 51 additions and 62 deletions
|
@ -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,
|
||||
}
|
||||
|
|
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."""
|
||||
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
|
||||
|
|
Loading…
Add table
Reference in a new issue