mirror of
https://github.com/home-assistant/core.git
synced 2026-04-02 16:36:08 +01:00
91 lines
2.4 KiB
Python
91 lines
2.4 KiB
Python
"""Test Diagnostics utils."""
|
|
|
|
from datetime import datetime
|
|
|
|
from homeassistant.components.diagnostics import (
|
|
REDACTED,
|
|
async_redact_data,
|
|
entity_entry_as_dict,
|
|
)
|
|
from homeassistant.helpers.entity_registry import RegistryEntry
|
|
|
|
|
|
def test_redact() -> None:
|
|
"""Test the async_redact_data helper."""
|
|
data = {
|
|
"key1": "value1",
|
|
"key2": ["value2_a", "value2_b"],
|
|
"key3": [["value_3a", "value_3b"], ["value_3c", "value_3d"]],
|
|
"key4": {
|
|
"key4_1": "value4_1",
|
|
"key4_2": ["value4_2a", "value4_2b"],
|
|
"key4_3": [["value4_3a", "value4_3b"], ["value4_3c", "value4_3d"]],
|
|
},
|
|
"key5": None,
|
|
"key6": "",
|
|
"key7": False,
|
|
}
|
|
|
|
to_redact = {
|
|
"key1",
|
|
"key3",
|
|
"key4_1",
|
|
"key5",
|
|
"key6",
|
|
"key7",
|
|
}
|
|
|
|
assert async_redact_data(data, to_redact) == {
|
|
"key1": REDACTED,
|
|
"key2": ["value2_a", "value2_b"],
|
|
"key3": REDACTED,
|
|
"key4": {
|
|
"key4_1": REDACTED,
|
|
"key4_2": ["value4_2a", "value4_2b"],
|
|
"key4_3": [["value4_3a", "value4_3b"], ["value4_3c", "value4_3d"]],
|
|
},
|
|
"key5": None,
|
|
"key6": "",
|
|
"key7": REDACTED,
|
|
}
|
|
|
|
|
|
def test_entity_entry_as_dict() -> None:
|
|
"""Test entity_entry_as_dict."""
|
|
created = datetime.fromisoformat("2024-01-01T00:00:00+00:00")
|
|
entry = RegistryEntry(
|
|
entity_id="sensor.test_sensor",
|
|
unique_id="unique123",
|
|
platform="test",
|
|
capabilities=None,
|
|
config_entry_id=None,
|
|
config_subentry_id=None,
|
|
created_at=created,
|
|
device_id=None,
|
|
disabled_by=None,
|
|
entity_category=None,
|
|
has_entity_name=False,
|
|
hidden_by=None,
|
|
id=None,
|
|
options=None,
|
|
original_device_class=None,
|
|
original_icon=None,
|
|
original_name="Test Sensor",
|
|
object_id_base=None,
|
|
suggested_object_id=None,
|
|
supported_features=0,
|
|
translation_key=None,
|
|
unit_of_measurement=None,
|
|
)
|
|
|
|
result = entity_entry_as_dict(entry)
|
|
|
|
assert isinstance(result, dict)
|
|
assert "_cache" not in result
|
|
assert result["entity_id"] == "sensor.test_sensor"
|
|
assert result["unique_id"] == "unique123"
|
|
assert result["platform"] == "test"
|
|
assert result["original_name"] == "Test Sensor"
|
|
assert result["supported_features"] == 0
|
|
assert result["created_at"] == created
|