diff --git a/homeassistant/components/sfr_box/diagnostics.py b/homeassistant/components/sfr_box/diagnostics.py index e85bd602b71..1fb98053267 100644 --- a/homeassistant/components/sfr_box/diagnostics.py +++ b/homeassistant/components/sfr_box/diagnostics.py @@ -26,13 +26,17 @@ async def async_get_config_entry_diagnostics( "data": dict(entry.data), }, "data": { - "dsl": async_redact_data(dataclasses.asdict(data.dsl.data), TO_REDACT), + "dsl": async_redact_data( + dataclasses.asdict(await data.system.box.dsl_get_info()), TO_REDACT + ), "ftth": async_redact_data( dataclasses.asdict(await data.system.box.ftth_get_info()), TO_REDACT ), "system": async_redact_data( - dataclasses.asdict(data.system.data), TO_REDACT + dataclasses.asdict(await data.system.box.system_get_info()), TO_REDACT + ), + "wan": async_redact_data( + dataclasses.asdict(await data.system.box.wan_get_info()), TO_REDACT ), - "wan": async_redact_data(dataclasses.asdict(data.wan.data), TO_REDACT), }, } diff --git a/tests/components/sfr_box/snapshots/test_diagnostics.ambr b/tests/components/sfr_box/snapshots/test_diagnostics.ambr index fe9268358f9..22a914f8a79 100644 --- a/tests/components/sfr_box/snapshots/test_diagnostics.ambr +++ b/tests/components/sfr_box/snapshots/test_diagnostics.ambr @@ -1,5 +1,5 @@ # serializer version: 1 -# name: test_entry_diagnostics +# name: test_entry_diagnostics[adsl] dict({ 'data': dict({ 'dsl': dict({ @@ -58,3 +58,62 @@ }), }) # --- +# name: test_entry_diagnostics[ftth] + dict({ + 'data': dict({ + 'dsl': dict({ + 'attenuation_down': 28.5, + 'attenuation_up': 20.8, + 'counter': 16, + 'crc': 0, + 'line_status': 'No Defect', + 'linemode': 'ADSL2+', + 'noise_down': 5.8, + 'noise_up': 6.0, + 'rate_down': 5549, + 'rate_up': 187, + 'status': 'up', + 'training': 'Showtime', + 'uptime': 450796, + }), + 'ftth': dict({ + 'status': 'down', + 'wanfibre': 'out', + }), + 'system': dict({ + 'alimvoltage': 12251, + 'current_datetime': '202212282233', + 'idur': 'RP3P85K', + 'mac_addr': '**REDACTED**', + 'net_infra': 'ftth', + 'net_mode': 'router', + 'product_id': 'NB6VAC-FXC-r0', + 'refclient': '', + 'serial_number': '**REDACTED**', + 'temperature': 27560, + 'uptime': 2353575, + 'version_bootloader': 'NB6VAC-BOOTLOADER-R4.0.8', + 'version_dsldriver': 'NB6VAC-XDSL-A2pv6F039p', + 'version_mainfirmware': 'NB6VAC-MAIN-R4.0.44k', + 'version_rescuefirmware': 'NB6VAC-MAIN-R4.0.44k', + }), + 'wan': dict({ + 'infra': 'adsl', + 'infra6': '', + 'ip_addr': '**REDACTED**', + 'ipv6_addr': '', + 'mode': 'adsl/routed', + 'status': 'up', + 'status6': 'down', + 'uptime': 297464, + 'uptime6': None, + }), + }), + 'entry': dict({ + 'data': dict({ + 'host': '192.168.0.1', + }), + 'title': 'Mock Title', + }), + }) +# --- diff --git a/tests/components/sfr_box/test_diagnostics.py b/tests/components/sfr_box/test_diagnostics.py index 37e3ba9487f..a433236ab7a 100644 --- a/tests/components/sfr_box/test_diagnostics.py +++ b/tests/components/sfr_box/test_diagnostics.py @@ -3,6 +3,7 @@ from collections.abc import Generator from unittest.mock import patch import pytest +from sfrbox_api.models import SystemInfo from syrupy.assertion import SnapshotAssertion from homeassistant.config_entries import ConfigEntry @@ -23,13 +24,17 @@ def override_platforms() -> Generator[None, None, None]: yield +@pytest.mark.parametrize("net_infra", ["adsl", "ftth"]) async def test_entry_diagnostics( hass: HomeAssistant, config_entry: ConfigEntry, hass_client: ClientSessionGenerator, snapshot: SnapshotAssertion, + system_get_info: SystemInfo, + net_infra: str, ) -> None: """Test config entry diagnostics.""" + system_get_info.net_infra = net_infra await hass.config_entries.async_setup(config_entry.entry_id) await hass.async_block_till_done()