Fix SFR Box diagnostics (#89783)
This commit is contained in:
parent
fec6236dd9
commit
69e85b3216
3 changed files with 72 additions and 4 deletions
|
@ -26,13 +26,17 @@ async def async_get_config_entry_diagnostics(
|
||||||
"data": dict(entry.data),
|
"data": dict(entry.data),
|
||||||
},
|
},
|
||||||
"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(
|
"ftth": async_redact_data(
|
||||||
dataclasses.asdict(await data.system.box.ftth_get_info()), TO_REDACT
|
dataclasses.asdict(await data.system.box.ftth_get_info()), TO_REDACT
|
||||||
),
|
),
|
||||||
"system": async_redact_data(
|
"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),
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# serializer version: 1
|
# serializer version: 1
|
||||||
# name: test_entry_diagnostics
|
# name: test_entry_diagnostics[adsl]
|
||||||
dict({
|
dict({
|
||||||
'data': dict({
|
'data': dict({
|
||||||
'dsl': 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',
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
# ---
|
||||||
|
|
|
@ -3,6 +3,7 @@ from collections.abc import Generator
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
from sfrbox_api.models import SystemInfo
|
||||||
from syrupy.assertion import SnapshotAssertion
|
from syrupy.assertion import SnapshotAssertion
|
||||||
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
|
@ -23,13 +24,17 @@ def override_platforms() -> Generator[None, None, None]:
|
||||||
yield
|
yield
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize("net_infra", ["adsl", "ftth"])
|
||||||
async def test_entry_diagnostics(
|
async def test_entry_diagnostics(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
config_entry: ConfigEntry,
|
config_entry: ConfigEntry,
|
||||||
hass_client: ClientSessionGenerator,
|
hass_client: ClientSessionGenerator,
|
||||||
snapshot: SnapshotAssertion,
|
snapshot: SnapshotAssertion,
|
||||||
|
system_get_info: SystemInfo,
|
||||||
|
net_infra: str,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test config entry diagnostics."""
|
"""Test config entry diagnostics."""
|
||||||
|
system_get_info.net_infra = net_infra
|
||||||
await hass.config_entries.async_setup(config_entry.entry_id)
|
await hass.config_entries.async_setup(config_entry.entry_id)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue