"""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", }, }, }