mirror of https://github.com/home-assistant/core
76 lines
2.4 KiB
Python
76 lines
2.4 KiB
Python
"""Test the BraviaTV diagnostics."""
|
|
|
|
from unittest.mock import patch
|
|
|
|
from syrupy import SnapshotAssertion
|
|
from syrupy.filters import props
|
|
|
|
from homeassistant.components.braviatv.const import CONF_USE_PSK, DOMAIN
|
|
from homeassistant.const import CONF_HOST, CONF_MAC, CONF_PIN
|
|
from homeassistant.core import HomeAssistant
|
|
from homeassistant.setup import async_setup_component
|
|
|
|
from tests.common import MockConfigEntry
|
|
from tests.components.diagnostics import get_diagnostics_for_config_entry
|
|
from tests.typing import ClientSessionGenerator
|
|
|
|
BRAVIA_SYSTEM_INFO = {
|
|
"product": "TV",
|
|
"region": "XEU",
|
|
"language": "pol",
|
|
"model": "TV-Model",
|
|
"serial": "serial_number",
|
|
"macAddr": "AA:BB:CC:DD:EE:FF",
|
|
"name": "BRAVIA",
|
|
"generation": "5.2.0",
|
|
"area": "POL",
|
|
"cid": "very_unique_string",
|
|
}
|
|
INPUTS = [
|
|
{
|
|
"uri": "extInput:hdmi?port=1",
|
|
"title": "HDMI 1",
|
|
"connection": False,
|
|
"label": "",
|
|
"icon": "meta:hdmi",
|
|
}
|
|
]
|
|
|
|
|
|
async def test_entry_diagnostics(
|
|
hass: HomeAssistant,
|
|
hass_client: ClientSessionGenerator,
|
|
snapshot: SnapshotAssertion,
|
|
) -> None:
|
|
"""Test config entry diagnostics."""
|
|
|
|
config_entry = MockConfigEntry(
|
|
domain=DOMAIN,
|
|
data={
|
|
CONF_HOST: "localhost",
|
|
CONF_MAC: "AA:BB:CC:DD:EE:FF",
|
|
CONF_USE_PSK: True,
|
|
CONF_PIN: "12345qwerty",
|
|
},
|
|
unique_id="very_unique_string",
|
|
entry_id="3bd2acb0e4f0476d40865546d0d91921",
|
|
)
|
|
|
|
config_entry.add_to_hass(hass)
|
|
with (
|
|
patch("pybravia.BraviaClient.connect"),
|
|
patch("pybravia.BraviaClient.pair"),
|
|
patch("pybravia.BraviaClient.set_wol_mode"),
|
|
patch("pybravia.BraviaClient.get_system_info", return_value=BRAVIA_SYSTEM_INFO),
|
|
patch("pybravia.BraviaClient.get_power_status", return_value="active"),
|
|
patch("pybravia.BraviaClient.get_external_status", return_value=INPUTS),
|
|
patch("pybravia.BraviaClient.get_volume_info", return_value={}),
|
|
patch("pybravia.BraviaClient.get_playing_info", return_value={}),
|
|
patch("pybravia.BraviaClient.get_app_list", return_value=[]),
|
|
patch("pybravia.BraviaClient.get_content_list_all", return_value=[]),
|
|
):
|
|
assert await async_setup_component(hass, DOMAIN, {})
|
|
result = await get_diagnostics_for_config_entry(hass, hass_client, config_entry)
|
|
|
|
assert result == snapshot(exclude=props("created_at", "modified_at"))
|