core/tests/components/axis/test_diagnostics.py

103 lines
3.5 KiB
Python

"""Test Axis diagnostics."""
from copy import deepcopy
from unittest.mock import patch
from homeassistant.components.diagnostics import REDACTED
from .test_device import (
API_DISCOVERY_BASIC_DEVICE_INFO,
API_DISCOVERY_RESPONSE,
setup_axis_integration,
)
from tests.components.diagnostics import get_diagnostics_for_config_entry
async def test_entry_diagnostics(hass, hass_client):
"""Test config entry diagnostics."""
api_discovery = deepcopy(API_DISCOVERY_RESPONSE)
api_discovery["data"]["apiList"].append(API_DISCOVERY_BASIC_DEVICE_INFO)
with patch.dict(API_DISCOVERY_RESPONSE, api_discovery):
config_entry = await setup_axis_integration(hass)
assert await get_diagnostics_for_config_entry(hass, hass_client, config_entry) == {
"config": {
"entry_id": config_entry.entry_id,
"version": 3,
"domain": "axis",
"title": "Mock Title",
"data": {
"host": "1.2.3.4",
"username": REDACTED,
"password": REDACTED,
"port": 80,
"model": "model",
"name": "name",
},
"options": {"events": True},
"pref_disable_new_entities": False,
"pref_disable_polling": False,
"source": "user",
"unique_id": REDACTED,
"disabled_by": None,
},
"api_discovery": [
{
"id": "api-discovery",
"name": "API Discovery Service",
"version": "1.0",
},
{
"id": "param-cgi",
"name": "Legacy Parameter Handling",
"version": "1.0",
},
{
"id": "basic-device-info",
"name": "Basic Device Information",
"version": "1.1",
},
],
"basic_device_info": {
"ProdNbr": "M1065-LW",
"ProdType": "Network Camera",
"SerialNumber": REDACTED,
"Version": "9.80.1",
},
"params": {
"root.IOPort": {
"I0.Configurable": "no",
"I0.Direction": "input",
"I0.Input.Name": "PIR sensor",
"I0.Input.Trig": "closed",
},
"root.Input": {"NbrOfInputs": "1"},
"root.Output": {"NbrOfOutputs": "0"},
"root.Properties": {
"API.HTTP.Version": "3",
"API.Metadata.Metadata": "yes",
"API.Metadata.Version": "1.0",
"EmbeddedDevelopment.Version": "2.16",
"Firmware.BuildDate": "Feb 15 2019 09:42",
"Firmware.BuildNumber": "26",
"Firmware.Version": "9.10.1",
"Image.Format": "jpeg,mjpeg,h264",
"Image.NbrOfViews": "2",
"Image.Resolution": "1920x1080,1280x960,1280x720,1024x768,1024x576,800x600,640x480,640x360,352x240,320x240",
"Image.Rotation": "0,180",
"System.SerialNumber": REDACTED,
},
"root.StreamProfile": {
"MaxGroups": "26",
"S0.Description": "profile_1_description",
"S0.Name": "profile_1",
"S0.Parameters": "videocodec=h264",
"S1.Description": "profile_2_description",
"S1.Name": "profile_2",
"S1.Parameters": "videocodec=h265",
},
},
}