core/tests/components/nut/test_diagnostics.py
Erik Montnemery d82bff1bc2
Index config entry discovery_keys by discovery domain (#126563)
* Index config entry discovery_keys by discovery domain

* Add new signal

* Update tests

* Update homeassistant/config_entries.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Fix imports

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-23 21:48:11 +02:00

44 lines
1.4 KiB
Python

"""Tests for the diagnostics data provided by the Nut integration."""
from homeassistant.components.diagnostics import async_redact_data
from homeassistant.components.nut.diagnostics import TO_REDACT
from homeassistant.core import HomeAssistant
from .util import async_init_integration
from tests.components.diagnostics import get_diagnostics_for_config_entry
from tests.typing import ClientSessionGenerator
async def test_diagnostics(
hass: HomeAssistant,
hass_client: ClientSessionGenerator,
) -> None:
"""Test diagnostics."""
list_commands: set[str] = ["beeper.enable"]
list_commands_return_value = {
supported_command: supported_command for supported_command in list_commands
}
mock_config_entry = await async_init_integration(
hass,
username="someuser",
password="somepassword",
list_vars={"ups.status": "OL"},
list_ups={"ups1": "UPS 1"},
list_commands_return_value=list_commands_return_value,
)
entry_dict = async_redact_data(mock_config_entry.as_dict(), TO_REDACT)
nut_data_dict = {
"ups_list": {"ups1": "UPS 1"},
"status": {"ups.status": "OL"},
"commands": list_commands,
}
result = await get_diagnostics_for_config_entry(
hass, hass_client, mock_config_entry
)
assert result["entry"] == entry_dict | {"discovery_keys": {}}
assert result["nut_data"] == nut_data_dict