From 4aa7fb0e352fa7986ce952ae56da61a4f5c9f66e Mon Sep 17 00:00:00 2001 From: Jan-Philipp Benecke Date: Wed, 23 Aug 2023 21:02:11 +0200 Subject: [PATCH] Use snapshot assertion for Discovergy diagnostics test (#98871) Add snapshot assertion to Discovergy --- .../components/discovergy/diagnostics.py | 4 -- .../snapshots/test_diagnostics.ambr | 47 ++++++++++++++ .../components/discovergy/test_diagnostics.py | 62 ++----------------- 3 files changed, 51 insertions(+), 62 deletions(-) create mode 100644 tests/components/discovergy/snapshots/test_diagnostics.ambr diff --git a/homeassistant/components/discovergy/diagnostics.py b/homeassistant/components/discovergy/diagnostics.py index 5d4a34b07dd..e0a9e47e6fd 100644 --- a/homeassistant/components/discovergy/diagnostics.py +++ b/homeassistant/components/discovergy/diagnostics.py @@ -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, } diff --git a/tests/components/discovergy/snapshots/test_diagnostics.ambr b/tests/components/discovergy/snapshots/test_diagnostics.ambr new file mode 100644 index 00000000000..d02f57c7540 --- /dev/null +++ b/tests/components/discovergy/snapshots/test_diagnostics.ambr @@ -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, + }), + }), + }), + }) +# --- diff --git a/tests/components/discovergy/test_diagnostics.py b/tests/components/discovergy/test_diagnostics.py index b9da2bb7e6f..d7565e3f0c4 100644 --- a/tests/components/discovergy/test_diagnostics.py +++ b/tests/components/discovergy/test_diagnostics.py @@ -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