mirror of
https://github.com/home-assistant/core.git
synced 2025-07-28 07:37:34 +00:00
Add diagnostics support to Huawei LTE (#131085)
Co-authored-by: abmantis <amfcalt@gmail.com> Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
This commit is contained in:
parent
79dd91ebc6
commit
ef2531d28d
86
homeassistant/components/huawei_lte/diagnostics.py
Normal file
86
homeassistant/components/huawei_lte/diagnostics.py
Normal file
@ -0,0 +1,86 @@
|
||||
"""Diagnostics support for Huawei LTE."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
from homeassistant.components.diagnostics import async_redact_data
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
||||
from .const import DOMAIN
|
||||
|
||||
ENTRY_FIELDS_DATA_TO_REDACT = {
|
||||
"mac",
|
||||
"username",
|
||||
"password",
|
||||
}
|
||||
DEVICE_INFORMATION_DATA_TO_REDACT = {
|
||||
"SerialNumber",
|
||||
"Imei",
|
||||
"Imsi",
|
||||
"Iccid",
|
||||
"Msisdn",
|
||||
"MacAddress1",
|
||||
"MacAddress2",
|
||||
"WanIPAddress",
|
||||
"wan_dns_address",
|
||||
"WanIPv6Address",
|
||||
"wan_ipv6_dns_address",
|
||||
"Mccmnc",
|
||||
"WifiMacAddrWl0",
|
||||
"WifiMacAddrWl1",
|
||||
}
|
||||
DEVICE_SIGNAL_DATA_TO_REDACT = {
|
||||
"pci",
|
||||
"cell_id",
|
||||
"enodeb_id",
|
||||
"rac",
|
||||
"lac",
|
||||
"tac",
|
||||
"nei_cellid",
|
||||
"plmn",
|
||||
"bsic",
|
||||
}
|
||||
MONITORING_STATUS_DATA_TO_REDACT = {
|
||||
"PrimaryDns",
|
||||
"SecondaryDns",
|
||||
"PrimaryIPv6Dns",
|
||||
"SecondaryIPv6Dns",
|
||||
}
|
||||
NET_CURRENT_PLMN_DATA_TO_REDACT = {
|
||||
"net_current_plmn",
|
||||
}
|
||||
LAN_HOST_INFO_DATA_TO_REDACT = {
|
||||
"lan_host_info",
|
||||
}
|
||||
WLAN_WIFI_GUEST_NETWORK_SWITCH_DATA_TO_REDACT = {
|
||||
"Ssid",
|
||||
"WifiSsid",
|
||||
}
|
||||
WLAN_MULTI_BASIC_SETTINGS_DATA_TO_REDACT = {
|
||||
"WifiMac",
|
||||
}
|
||||
TO_REDACT = {
|
||||
*ENTRY_FIELDS_DATA_TO_REDACT,
|
||||
*DEVICE_INFORMATION_DATA_TO_REDACT,
|
||||
*DEVICE_SIGNAL_DATA_TO_REDACT,
|
||||
*MONITORING_STATUS_DATA_TO_REDACT,
|
||||
*NET_CURRENT_PLMN_DATA_TO_REDACT,
|
||||
*LAN_HOST_INFO_DATA_TO_REDACT,
|
||||
*WLAN_WIFI_GUEST_NETWORK_SWITCH_DATA_TO_REDACT,
|
||||
*WLAN_MULTI_BASIC_SETTINGS_DATA_TO_REDACT,
|
||||
}
|
||||
|
||||
|
||||
async def async_get_config_entry_diagnostics(
|
||||
hass: HomeAssistant, entry: ConfigEntry
|
||||
) -> dict[str, Any]:
|
||||
"""Return diagnostics for a config entry."""
|
||||
return async_redact_data(
|
||||
{
|
||||
"entry": entry.data,
|
||||
"router": hass.data[DOMAIN].routers[entry.entry_id].data,
|
||||
},
|
||||
TO_REDACT,
|
||||
)
|
@ -21,3 +21,320 @@ def magic_client(multi_basic_settings_value: dict) -> MagicMock:
|
||||
wifi_feature_switch=wifi_feature_switch,
|
||||
)
|
||||
return MagicMock(device=device, monitoring=monitoring, wlan=wlan)
|
||||
|
||||
|
||||
def magic_client_full() -> MagicMock:
|
||||
"""Extended mock for huawei_lte.Client with all API methods."""
|
||||
information = MagicMock(
|
||||
return_value={
|
||||
"DeviceName": "Test Router",
|
||||
"SerialNumber": "test-serial-number",
|
||||
"Imei": "123456789012345",
|
||||
"Imsi": "123451234567890",
|
||||
"Iccid": "12345678901234567890",
|
||||
"Msisdn": None,
|
||||
"HardwareVersion": "1.0.0",
|
||||
"SoftwareVersion": "2.0.0",
|
||||
"WebUIVersion": "3.0.0",
|
||||
"MacAddress1": "22:22:33:44:55:66",
|
||||
"MacAddress2": None,
|
||||
"WanIPAddress": "23.215.0.138",
|
||||
"wan_dns_address": "8.8.8.8",
|
||||
"WanIPv6Address": "2600:1406:3a00:21::173e:2e66",
|
||||
"wan_ipv6_dns_address": "2001:4860:4860:0:0:0:0:8888",
|
||||
"ProductFamily": "LTE",
|
||||
"Classify": "cpe",
|
||||
"supportmode": "LTE|WCDMA|GSM",
|
||||
"workmode": "LTE",
|
||||
"submask": "255.255.255.255",
|
||||
"Mccmnc": "20499",
|
||||
"iniversion": "test-ini-version",
|
||||
"uptime": "4242424",
|
||||
"ImeiSvn": "01",
|
||||
"WifiMacAddrWl0": "22:22:33:44:55:77",
|
||||
"WifiMacAddrWl1": "22:22:33:44:55:88",
|
||||
"spreadname_en": "Huawei 4G Router N123",
|
||||
"spreadname_zh": "\u534e\u4e3a4G\u8def\u7531 N123",
|
||||
}
|
||||
)
|
||||
basic_information = MagicMock(
|
||||
return_value={
|
||||
"classify": "cpe",
|
||||
"devicename": "Test Router",
|
||||
"multimode": "0",
|
||||
"productfamily": "LTE",
|
||||
"restore_default_status": "0",
|
||||
"sim_save_pin_enable": "1",
|
||||
"spreadname_en": "Huawei 4G Router N123",
|
||||
"spreadname_zh": "\u534e\u4e3a4G\u8def\u7531 N123",
|
||||
}
|
||||
)
|
||||
signal = MagicMock(
|
||||
return_value={
|
||||
"pci": "123",
|
||||
"sc": None,
|
||||
"cell_id": "12345678",
|
||||
"rssi": "-70dBm",
|
||||
"rsrp": "-100dBm",
|
||||
"rsrq": "-10.0dB",
|
||||
"sinr": "10dB",
|
||||
"rscp": None,
|
||||
"ecio": None,
|
||||
"mode": "7",
|
||||
"ulbandwidth": "20MHz",
|
||||
"dlbandwidth": "20MHz",
|
||||
"txpower": "PPusch:-1dBm PPucch:-11dBm PSrs:10dBm PPrach:0dBm",
|
||||
"tdd": None,
|
||||
"ul_mcs": "mcsUpCarrier1:20",
|
||||
"dl_mcs": "mcsDownCarrier1Code0:8 mcsDownCarrier1Code1:9",
|
||||
"earfcn": "DL:123 UL:45678",
|
||||
"rrc_status": "1",
|
||||
"rac": None,
|
||||
"lac": None,
|
||||
"tac": "12345",
|
||||
"band": "1",
|
||||
"nei_cellid": "23456789",
|
||||
"plmn": "20499",
|
||||
"ims": "0",
|
||||
"wdlfreq": None,
|
||||
"lteulfreq": "19697",
|
||||
"ltedlfreq": "21597",
|
||||
"transmode": "TM[4]",
|
||||
"enodeb_id": "0012345",
|
||||
"cqi0": "11",
|
||||
"cqi1": "5",
|
||||
"ulfrequency": "1969700kHz",
|
||||
"dlfrequency": "2159700kHz",
|
||||
"arfcn": None,
|
||||
"bsic": None,
|
||||
"rxlev": None,
|
||||
}
|
||||
)
|
||||
|
||||
check_notifications = MagicMock(
|
||||
return_value={
|
||||
"UnreadMessage": "2",
|
||||
"SmsStorageFull": "0",
|
||||
"OnlineUpdateStatus": "42",
|
||||
"SimOperEvent": "0",
|
||||
}
|
||||
)
|
||||
status = MagicMock(
|
||||
return_value={
|
||||
"ConnectionStatus": "901",
|
||||
"WifiConnectionStatus": None,
|
||||
"SignalStrength": None,
|
||||
"SignalIcon": "5",
|
||||
"CurrentNetworkType": "19",
|
||||
"CurrentServiceDomain": "3",
|
||||
"RoamingStatus": "0",
|
||||
"BatteryStatus": None,
|
||||
"BatteryLevel": None,
|
||||
"BatteryPercent": None,
|
||||
"simlockStatus": "0",
|
||||
"PrimaryDns": "8.8.8.8",
|
||||
"SecondaryDns": "8.8.4.4",
|
||||
"wififrequence": "1",
|
||||
"flymode": "0",
|
||||
"PrimaryIPv6Dns": "2001:4860:4860:0:0:0:0:8888",
|
||||
"SecondaryIPv6Dns": "2001:4860:4860:0:0:0:0:8844",
|
||||
"CurrentWifiUser": "42",
|
||||
"TotalWifiUser": "64",
|
||||
"currenttotalwifiuser": "0",
|
||||
"ServiceStatus": "2",
|
||||
"SimStatus": "1",
|
||||
"WifiStatus": "1",
|
||||
"CurrentNetworkTypeEx": "101",
|
||||
"maxsignal": "5",
|
||||
"wifiindooronly": "0",
|
||||
"cellroam": "1",
|
||||
"classify": "cpe",
|
||||
"usbup": "0",
|
||||
"wifiswitchstatus": "1",
|
||||
"WifiStatusExCustom": "0",
|
||||
"hvdcp_online": "0",
|
||||
}
|
||||
)
|
||||
month_statistics = MagicMock(
|
||||
return_value={
|
||||
"CurrentMonthDownload": "1000000000",
|
||||
"CurrentMonthUpload": "500000000",
|
||||
"MonthDuration": "720000",
|
||||
"MonthLastClearTime": "2025-07-01",
|
||||
"CurrentDayUsed": "123456789",
|
||||
"CurrentDayDuration": "10000",
|
||||
}
|
||||
)
|
||||
traffic_statistics = MagicMock(
|
||||
return_value={
|
||||
"CurrentConnectTime": "123456",
|
||||
"CurrentUpload": "2000000000",
|
||||
"CurrentDownload": "5000000000",
|
||||
"CurrentDownloadRate": "700",
|
||||
"CurrentUploadRate": "600",
|
||||
"TotalUpload": "20000000000",
|
||||
"TotalDownload": "50000000000",
|
||||
"TotalConnectTime": "1234567",
|
||||
"showtraffic": "1",
|
||||
}
|
||||
)
|
||||
|
||||
current_plmn = MagicMock(
|
||||
return_value={
|
||||
"State": "1",
|
||||
"FullName": "Test Network",
|
||||
"ShortName": "Test",
|
||||
"Numeric": "12345",
|
||||
}
|
||||
)
|
||||
net_mode = MagicMock(
|
||||
return_value={
|
||||
"NetworkMode": "03",
|
||||
"NetworkBand": "3FFFFFFF",
|
||||
"LTEBand": "7FFFFFFFFFFFFFFF",
|
||||
}
|
||||
)
|
||||
|
||||
sms_count = MagicMock(
|
||||
return_value={
|
||||
"LocalUnread": "0",
|
||||
"LocalInbox": "5",
|
||||
"LocalOutbox": "2",
|
||||
"LocalDraft": "1",
|
||||
"LocalDeleted": "0",
|
||||
"SimUnread": "0",
|
||||
"SimInbox": "0",
|
||||
"SimOutbox": "0",
|
||||
"SimDraft": "0",
|
||||
"LocalMax": "500",
|
||||
"SimMax": "30",
|
||||
"SimUsed": "0",
|
||||
"NewMsg": "0",
|
||||
}
|
||||
)
|
||||
|
||||
mobile_dataswitch = MagicMock(return_value={"dataswitch": "1"})
|
||||
|
||||
lan_host_info = MagicMock(
|
||||
return_value={
|
||||
"Hosts": {
|
||||
"Host": [
|
||||
{
|
||||
"Active": "0",
|
||||
"ActualName": "TestDevice1",
|
||||
"AddressSource": "DHCP",
|
||||
"AssociatedSsid": None,
|
||||
"AssociatedTime": None,
|
||||
"HostName": "TestDevice1",
|
||||
"ID": "InternetGatewayDevice.LANDevice.1.Hosts.Host.9.",
|
||||
"InterfaceType": "Wireless",
|
||||
"IpAddress": "192.168.1.100",
|
||||
"LeaseTime": "2204542",
|
||||
"MacAddress": "AA:BB:CC:DD:EE:FF",
|
||||
"isLocalDevice": "0",
|
||||
},
|
||||
{
|
||||
"Active": "1",
|
||||
"ActualName": "TestDevice2",
|
||||
"AddressSource": "DHCP",
|
||||
"AssociatedSsid": "TestSSID",
|
||||
"AssociatedTime": "258632",
|
||||
"HostName": "TestDevice2",
|
||||
"ID": "InternetGatewayDevice.LANDevice.1.Hosts.Host.17.",
|
||||
"InterfaceType": "Wireless",
|
||||
"IpAddress": "192.168.1.101",
|
||||
"LeaseTime": "552115",
|
||||
"MacAddress": "11:22:33:44:55:66",
|
||||
"isLocalDevice": "0",
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
)
|
||||
wlan_host_list = MagicMock(
|
||||
return_value={
|
||||
"Hosts": {
|
||||
"Host": [
|
||||
{
|
||||
"ActualName": "TestDevice2",
|
||||
"AssociatedSsid": "TestSSID",
|
||||
"AssociatedTime": "258632",
|
||||
"Frequency": "2.4GHz",
|
||||
"HostName": "TestDevice2",
|
||||
"ID": "InternetGatewayDevice.LANDevice.1.Hosts.Host.17.",
|
||||
"IpAddress": "192.168.1.101;fe80::b222:33ff:fe44:5566",
|
||||
"MacAddress": "11:22:33:44:55:66",
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
)
|
||||
multi_basic_settings = MagicMock(
|
||||
return_value={"Ssid": [{"wifiisguestnetwork": "1", "WifiEnable": "0"}]}
|
||||
)
|
||||
wifi_feature_switch = MagicMock(
|
||||
return_value={
|
||||
"wifi_dbdc_enable": "0",
|
||||
"acmode_enable": "1",
|
||||
"wifiautocountry_enabled": "0",
|
||||
"wps_cancel_enable": "1",
|
||||
"wifimacfilterextendenable": "1",
|
||||
"wifimaxmacfilternum": "32",
|
||||
"paraimmediatework_enable": "1",
|
||||
"guestwifi_enable": "0",
|
||||
"wifi5gnamepostfix": "_5G",
|
||||
"wifiguesttimeextendenable": "1",
|
||||
"chinesessid_enable": "0",
|
||||
"isdoublechip": "1",
|
||||
"opennonewps_enable": "1",
|
||||
"wifi_country_enable": "0",
|
||||
"wifi5g_enabled": "1",
|
||||
"wifiwpsmode": "0",
|
||||
"pmf_enable": "1",
|
||||
"support_trigger_dualband_wps": "1",
|
||||
"maxapnum": "4",
|
||||
"wifi_chip_maxassoc": "32",
|
||||
"wifiwpssuportwepnone": "0",
|
||||
"maxassocoffloadon": None,
|
||||
"guidefrequencyenable": "0",
|
||||
"showssid_enable": "0",
|
||||
"wifishowradioswitch": "3",
|
||||
"wifispecialcharenable": "1",
|
||||
"wifi24g_switch_enable": "1",
|
||||
"wifi_dfs_enable": "0",
|
||||
"show_maxassoc": "0",
|
||||
"hilink_dbho_enable": "1",
|
||||
"oledshowpassword": "1",
|
||||
"doubleap5g_enable": "0",
|
||||
"wps_switch_enable": "1",
|
||||
}
|
||||
)
|
||||
|
||||
device = MagicMock(
|
||||
information=information, basic_information=basic_information, signal=signal
|
||||
)
|
||||
monitoring = MagicMock(
|
||||
check_notifications=check_notifications,
|
||||
status=status,
|
||||
month_statistics=month_statistics,
|
||||
traffic_statistics=traffic_statistics,
|
||||
)
|
||||
net = MagicMock(current_plmn=current_plmn, net_mode=net_mode)
|
||||
sms = MagicMock(sms_count=sms_count)
|
||||
dial_up = MagicMock(mobile_dataswitch=mobile_dataswitch)
|
||||
lan = MagicMock(host_info=lan_host_info)
|
||||
wlan = MagicMock(
|
||||
multi_basic_settings=multi_basic_settings,
|
||||
wifi_feature_switch=wifi_feature_switch,
|
||||
host_list=wlan_host_list,
|
||||
)
|
||||
|
||||
return MagicMock(
|
||||
device=device,
|
||||
monitoring=monitoring,
|
||||
net=net,
|
||||
sms=sms,
|
||||
dial_up=dial_up,
|
||||
lan=lan,
|
||||
wlan=wlan,
|
||||
)
|
||||
|
201
tests/components/huawei_lte/snapshots/test_diagnostics.ambr
Normal file
201
tests/components/huawei_lte/snapshots/test_diagnostics.ambr
Normal file
@ -0,0 +1,201 @@
|
||||
# serializer version: 1
|
||||
# name: test_entry_diagnostics
|
||||
dict({
|
||||
'entry': dict({
|
||||
'mac': '**REDACTED**',
|
||||
'url': 'http://huawei-lte.example.com',
|
||||
}),
|
||||
'router': dict({
|
||||
'device_information': dict({
|
||||
'Classify': 'cpe',
|
||||
'DeviceName': 'Test Router',
|
||||
'HardwareVersion': '1.0.0',
|
||||
'Iccid': '**REDACTED**',
|
||||
'Imei': '**REDACTED**',
|
||||
'ImeiSvn': '01',
|
||||
'Imsi': '**REDACTED**',
|
||||
'MacAddress1': '**REDACTED**',
|
||||
'MacAddress2': None,
|
||||
'Mccmnc': '**REDACTED**',
|
||||
'Msisdn': None,
|
||||
'ProductFamily': 'LTE',
|
||||
'SerialNumber': '**REDACTED**',
|
||||
'SoftwareVersion': '2.0.0',
|
||||
'WanIPAddress': '**REDACTED**',
|
||||
'WanIPv6Address': '**REDACTED**',
|
||||
'WebUIVersion': '3.0.0',
|
||||
'WifiMacAddrWl0': '**REDACTED**',
|
||||
'WifiMacAddrWl1': '**REDACTED**',
|
||||
'iniversion': 'test-ini-version',
|
||||
'spreadname_en': 'Huawei 4G Router N123',
|
||||
'spreadname_zh': '华为4G路由 N123',
|
||||
'submask': '255.255.255.255',
|
||||
'supportmode': 'LTE|WCDMA|GSM',
|
||||
'uptime': '4242424',
|
||||
'wan_dns_address': '**REDACTED**',
|
||||
'wan_ipv6_dns_address': '**REDACTED**',
|
||||
'workmode': 'LTE',
|
||||
}),
|
||||
'device_signal': dict({
|
||||
'arfcn': None,
|
||||
'band': '1',
|
||||
'bsic': None,
|
||||
'cell_id': '**REDACTED**',
|
||||
'cqi0': '11',
|
||||
'cqi1': '5',
|
||||
'dl_mcs': 'mcsDownCarrier1Code0:8 mcsDownCarrier1Code1:9',
|
||||
'dlbandwidth': '20MHz',
|
||||
'dlfrequency': '2159700kHz',
|
||||
'earfcn': 'DL:123 UL:45678',
|
||||
'ecio': None,
|
||||
'enodeb_id': '**REDACTED**',
|
||||
'ims': '0',
|
||||
'lac': None,
|
||||
'ltedlfreq': '21597',
|
||||
'lteulfreq': '19697',
|
||||
'mode': '7',
|
||||
'nei_cellid': '**REDACTED**',
|
||||
'pci': '**REDACTED**',
|
||||
'plmn': '**REDACTED**',
|
||||
'rac': None,
|
||||
'rrc_status': '1',
|
||||
'rscp': None,
|
||||
'rsrp': '-100dBm',
|
||||
'rsrq': '-10.0dB',
|
||||
'rssi': '-70dBm',
|
||||
'rxlev': None,
|
||||
'sc': None,
|
||||
'sinr': '10dB',
|
||||
'tac': '**REDACTED**',
|
||||
'tdd': None,
|
||||
'transmode': 'TM[4]',
|
||||
'txpower': 'PPusch:-1dBm PPucch:-11dBm PSrs:10dBm PPrach:0dBm',
|
||||
'ul_mcs': 'mcsUpCarrier1:20',
|
||||
'ulbandwidth': '20MHz',
|
||||
'ulfrequency': '1969700kHz',
|
||||
'wdlfreq': None,
|
||||
}),
|
||||
'dialup_mobile_dataswitch': dict({
|
||||
'dataswitch': '1',
|
||||
}),
|
||||
'lan_host_info': '**REDACTED**',
|
||||
'monitoring_check_notifications': dict({
|
||||
'OnlineUpdateStatus': '42',
|
||||
'SimOperEvent': '0',
|
||||
'SmsStorageFull': '0',
|
||||
'UnreadMessage': '2',
|
||||
}),
|
||||
'monitoring_month_statistics': dict({
|
||||
'CurrentDayDuration': '10000',
|
||||
'CurrentDayUsed': '123456789',
|
||||
'CurrentMonthDownload': '1000000000',
|
||||
'CurrentMonthUpload': '500000000',
|
||||
'MonthDuration': '720000',
|
||||
'MonthLastClearTime': '2025-07-01',
|
||||
}),
|
||||
'monitoring_status': dict({
|
||||
'BatteryLevel': None,
|
||||
'BatteryPercent': None,
|
||||
'BatteryStatus': None,
|
||||
'ConnectionStatus': '901',
|
||||
'CurrentNetworkType': '19',
|
||||
'CurrentNetworkTypeEx': '101',
|
||||
'CurrentServiceDomain': '3',
|
||||
'CurrentWifiUser': '42',
|
||||
'PrimaryDns': '**REDACTED**',
|
||||
'PrimaryIPv6Dns': '**REDACTED**',
|
||||
'RoamingStatus': '0',
|
||||
'SecondaryDns': '**REDACTED**',
|
||||
'SecondaryIPv6Dns': '**REDACTED**',
|
||||
'ServiceStatus': '2',
|
||||
'SignalIcon': '5',
|
||||
'SignalStrength': None,
|
||||
'SimStatus': '1',
|
||||
'TotalWifiUser': '64',
|
||||
'WifiConnectionStatus': None,
|
||||
'WifiStatus': '1',
|
||||
'WifiStatusExCustom': '0',
|
||||
'cellroam': '1',
|
||||
'classify': 'cpe',
|
||||
'currenttotalwifiuser': '0',
|
||||
'flymode': '0',
|
||||
'hvdcp_online': '0',
|
||||
'maxsignal': '5',
|
||||
'simlockStatus': '0',
|
||||
'usbup': '0',
|
||||
'wififrequence': '1',
|
||||
'wifiindooronly': '0',
|
||||
'wifiswitchstatus': '1',
|
||||
}),
|
||||
'monitoring_traffic_statistics': dict({
|
||||
'CurrentConnectTime': '123456',
|
||||
'CurrentDownload': '5000000000',
|
||||
'CurrentDownloadRate': '700',
|
||||
'CurrentUpload': '2000000000',
|
||||
'CurrentUploadRate': '600',
|
||||
'TotalConnectTime': '1234567',
|
||||
'TotalDownload': '50000000000',
|
||||
'TotalUpload': '20000000000',
|
||||
'showtraffic': '1',
|
||||
}),
|
||||
'net_current_plmn': '**REDACTED**',
|
||||
'net_net_mode': dict({
|
||||
'LTEBand': '7FFFFFFFFFFFFFFF',
|
||||
'NetworkBand': '3FFFFFFF',
|
||||
'NetworkMode': '03',
|
||||
}),
|
||||
'sms_sms_count': dict({
|
||||
'LocalDeleted': '0',
|
||||
'LocalDraft': '1',
|
||||
'LocalInbox': '5',
|
||||
'LocalMax': '500',
|
||||
'LocalOutbox': '2',
|
||||
'LocalUnread': '0',
|
||||
'NewMsg': '0',
|
||||
'SimDraft': '0',
|
||||
'SimInbox': '0',
|
||||
'SimMax': '30',
|
||||
'SimOutbox': '0',
|
||||
'SimUnread': '0',
|
||||
'SimUsed': '0',
|
||||
}),
|
||||
'wlan_wifi_feature_switch': dict({
|
||||
'acmode_enable': '1',
|
||||
'chinesessid_enable': '0',
|
||||
'doubleap5g_enable': '0',
|
||||
'guestwifi_enable': '0',
|
||||
'guidefrequencyenable': '0',
|
||||
'hilink_dbho_enable': '1',
|
||||
'isdoublechip': '1',
|
||||
'maxapnum': '4',
|
||||
'maxassocoffloadon': None,
|
||||
'oledshowpassword': '1',
|
||||
'opennonewps_enable': '1',
|
||||
'paraimmediatework_enable': '1',
|
||||
'pmf_enable': '1',
|
||||
'show_maxassoc': '0',
|
||||
'showssid_enable': '0',
|
||||
'support_trigger_dualband_wps': '1',
|
||||
'wifi24g_switch_enable': '1',
|
||||
'wifi5g_enabled': '1',
|
||||
'wifi5gnamepostfix': '_5G',
|
||||
'wifi_chip_maxassoc': '32',
|
||||
'wifi_country_enable': '0',
|
||||
'wifi_dbdc_enable': '0',
|
||||
'wifi_dfs_enable': '0',
|
||||
'wifiautocountry_enabled': '0',
|
||||
'wifiguesttimeextendenable': '1',
|
||||
'wifimacfilterextendenable': '1',
|
||||
'wifimaxmacfilternum': '32',
|
||||
'wifishowradioswitch': '3',
|
||||
'wifispecialcharenable': '1',
|
||||
'wifiwpsmode': '0',
|
||||
'wifiwpssuportwepnone': '0',
|
||||
'wps_cancel_enable': '1',
|
||||
'wps_switch_enable': '1',
|
||||
}),
|
||||
'wlan_wifi_guest_network_switch': dict({
|
||||
}),
|
||||
}),
|
||||
})
|
||||
# ---
|
38
tests/components/huawei_lte/test_diagnostics.py
Normal file
38
tests/components/huawei_lte/test_diagnostics.py
Normal file
@ -0,0 +1,38 @@
|
||||
"""Test huawei_lte diagnostics."""
|
||||
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
from syrupy.assertion import SnapshotAssertion
|
||||
from syrupy.filters import props
|
||||
|
||||
from homeassistant.components.huawei_lte.const import DOMAIN
|
||||
from homeassistant.const import CONF_URL
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
||||
from . import magic_client_full
|
||||
|
||||
from tests.common import MockConfigEntry
|
||||
from tests.components.diagnostics import get_diagnostics_for_config_entry
|
||||
from tests.typing import ClientSessionGenerator
|
||||
|
||||
|
||||
@patch("homeassistant.components.huawei_lte.Connection", MagicMock())
|
||||
@patch("homeassistant.components.huawei_lte.Client")
|
||||
async def test_entry_diagnostics(
|
||||
client,
|
||||
hass: HomeAssistant,
|
||||
hass_client: ClientSessionGenerator,
|
||||
snapshot: SnapshotAssertion,
|
||||
) -> None:
|
||||
"""Test config entry diagnostics."""
|
||||
client.return_value = magic_client_full()
|
||||
huawei_lte = MockConfigEntry(
|
||||
domain=DOMAIN, data={CONF_URL: "http://huawei-lte.example.com"}
|
||||
)
|
||||
huawei_lte.add_to_hass(hass)
|
||||
await hass.config_entries.async_setup(huawei_lte.entry_id)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
result = await get_diagnostics_for_config_entry(hass, hass_client, huawei_lte)
|
||||
|
||||
assert result == snapshot(exclude=props("entry_id", "created_at", "modified_at"))
|
Loading…
x
Reference in New Issue
Block a user