From 944f2c9745888426f03a3b1fdb0a1f5e69da983b Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 19 Jan 2022 22:51:03 +0100 Subject: [PATCH] Add redacted constant in diagnostics (#64473) --- homeassistant/components/diagnostics/__init__.py | 4 +++- homeassistant/components/diagnostics/const.py | 2 ++ homeassistant/components/evil_genius_labs/diagnostics.py | 5 +++-- homeassistant/components/tuya/diagnostics.py | 5 +++-- tests/components/evil_genius_labs/test_diagnostics.py | 6 ++++-- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/diagnostics/__init__.py b/homeassistant/components/diagnostics/__init__.py index 6d675606563..966845442e4 100644 --- a/homeassistant/components/diagnostics/__init__.py +++ b/homeassistant/components/diagnostics/__init__.py @@ -19,7 +19,9 @@ from homeassistant.util.json import ( format_unserializable_data, ) -from .const import DOMAIN +from .const import DOMAIN, REDACTED + +__all__ = ["REDACTED"] _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/diagnostics/const.py b/homeassistant/components/diagnostics/const.py index 91d3dc5211a..c5e0f315497 100644 --- a/homeassistant/components/diagnostics/const.py +++ b/homeassistant/components/diagnostics/const.py @@ -1,3 +1,5 @@ """Constants for the Diagnostics integration.""" DOMAIN = "diagnostics" + +REDACTED = "**REDACTED**" diff --git a/homeassistant/components/evil_genius_labs/diagnostics.py b/homeassistant/components/evil_genius_labs/diagnostics.py index d7439c29d9b..fce462a7f84 100644 --- a/homeassistant/components/evil_genius_labs/diagnostics.py +++ b/homeassistant/components/evil_genius_labs/diagnostics.py @@ -1,6 +1,7 @@ """Diagnostics support for Evil Genius Labs.""" from __future__ import annotations +from homeassistant.components.diagnostics import REDACTED from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant @@ -17,8 +18,8 @@ async def async_get_config_entry_diagnostics( return { "info": { **coordinator.info, - "wiFiSsidDefault": "REDACTED", - "wiFiSSID": "REDACTED", + "wiFiSsidDefault": REDACTED, + "wiFiSSID": REDACTED, }, "data": coordinator.data, } diff --git a/homeassistant/components/tuya/diagnostics.py b/homeassistant/components/tuya/diagnostics.py index 238945c7eb5..b9d5036f71c 100644 --- a/homeassistant/components/tuya/diagnostics.py +++ b/homeassistant/components/tuya/diagnostics.py @@ -7,6 +7,7 @@ from typing import Any, cast from tuya_iot import TuyaDevice +from homeassistant.components.diagnostics import REDACTED from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant, callback from homeassistant.helpers import device_registry as dr, entity_registry as er @@ -75,7 +76,7 @@ def _async_device_as_dict(hass: HomeAssistant, device: TuyaDevice) -> dict[str, for dpcode, value in device.status.items(): # These statuses may contain sensitive information, redact these.. if dpcode in {DPCode.ALARM_MESSAGE, DPCode.MOVEMENT_DETECT_PIC}: - data["status"][dpcode] = "**REDACTED**" + data["status"][dpcode] = REDACTED continue with suppress(ValueError, TypeError): @@ -133,7 +134,7 @@ def _async_device_as_dict(hass: HomeAssistant, device: TuyaDevice) -> dict[str, if "entity_picture" in state_dict["attributes"]: state_dict["attributes"] = { **state_dict["attributes"], - "entity_picture": "**REDACTED**", + "entity_picture": REDACTED, } # The context doesn't provide useful information in this case. diff --git a/tests/components/evil_genius_labs/test_diagnostics.py b/tests/components/evil_genius_labs/test_diagnostics.py index 980cfa4eab8..35026bf37e3 100644 --- a/tests/components/evil_genius_labs/test_diagnostics.py +++ b/tests/components/evil_genius_labs/test_diagnostics.py @@ -1,6 +1,8 @@ """Test evil genius labs diagnostics.""" import pytest +from homeassistant.components.diagnostics import REDACTED + from tests.components.diagnostics import get_diagnostics_for_config_entry @@ -12,8 +14,8 @@ async def test_entry_diagnostics( assert await get_diagnostics_for_config_entry(hass, hass_client, config_entry) == { "info": { **info_fixture, - "wiFiSsidDefault": "REDACTED", - "wiFiSSID": "REDACTED", + "wiFiSsidDefault": REDACTED, + "wiFiSSID": REDACTED, }, "data": data_fixture, }