From 0f002e704466881b68fe76ddf233746f5313ac2f Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Tue, 11 Oct 2022 10:12:17 -0600 Subject: [PATCH] Use `entry.as_dict()` in Guardian diagnostics (#80112) --- homeassistant/components/guardian/diagnostics.py | 10 ++++++---- tests/components/guardian/test_diagnostics.py | 13 +++++++++++-- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/homeassistant/components/guardian/diagnostics.py b/homeassistant/components/guardian/diagnostics.py index d53dcb68fa8..b0317167f79 100644 --- a/homeassistant/components/guardian/diagnostics.py +++ b/homeassistant/components/guardian/diagnostics.py @@ -5,6 +5,7 @@ from typing import Any from homeassistant.components.diagnostics import async_redact_data from homeassistant.config_entries import ConfigEntry +from homeassistant.const import CONF_UNIQUE_ID from homeassistant.core import HomeAssistant from . import GuardianData @@ -13,11 +14,15 @@ from .const import CONF_UID, DOMAIN CONF_BSSID = "bssid" CONF_PAIRED_UIDS = "paired_uids" CONF_SSID = "ssid" +CONF_TITLE = "title" TO_REDACT = { CONF_BSSID, CONF_PAIRED_UIDS, CONF_SSID, + # Config entry title and unique ID may contain sensitive data: + CONF_TITLE, + CONF_UNIQUE_ID, CONF_UID, } @@ -29,10 +34,7 @@ async def async_get_config_entry_diagnostics( data: GuardianData = hass.data[DOMAIN][entry.entry_id] return { - "entry": { - "title": entry.title, - "data": async_redact_data(entry.data, TO_REDACT), - }, + "entry": async_redact_data(entry.as_dict(), TO_REDACT), "data": { "valve_controller": { api_category: async_redact_data(coordinator.data, TO_REDACT) diff --git a/tests/components/guardian/test_diagnostics.py b/tests/components/guardian/test_diagnostics.py index 2269d09b1eb..ca6a8c77039 100644 --- a/tests/components/guardian/test_diagnostics.py +++ b/tests/components/guardian/test_diagnostics.py @@ -14,12 +14,21 @@ async def test_entry_diagnostics(hass, config_entry, hass_client, setup_guardian assert await get_diagnostics_for_config_entry(hass, hass_client, config_entry) == { "entry": { - "title": "Mock Title", + "entry_id": config_entry.entry_id, + "version": 1, + "domain": "guardian", + "title": REDACTED, "data": { + "uid": REDACTED, "ip_address": "192.168.1.100", "port": 7777, - "uid": REDACTED, }, + "options": {}, + "pref_disable_new_entities": False, + "pref_disable_polling": False, + "source": "user", + "unique_id": REDACTED, + "disabled_by": None, }, "data": { "valve_controller": {