core/tests/components/onvif/test_diagnostics.py

94 lines
2.7 KiB
Python

"""Test ONVIF diagnostics."""
from unittest.mock import ANY
from homeassistant.core import HomeAssistant
from . import (
FIRMWARE_VERSION,
MAC,
MANUFACTURER,
MODEL,
SERIAL_NUMBER,
setup_onvif_integration,
)
from tests.components.diagnostics import get_diagnostics_for_config_entry
from tests.typing import ClientSessionGenerator
async def test_diagnostics(
hass: HomeAssistant, hass_client: ClientSessionGenerator
) -> None:
"""Test generating diagnostics for a config entry."""
entry, _, _ = await setup_onvif_integration(hass)
diag = await get_diagnostics_for_config_entry(hass, hass_client, entry)
assert diag == {
"config": {
"entry_id": "1",
"version": 1,
"domain": "onvif",
"title": "Mock Title",
"data": {
"name": "TestCamera",
"host": "**REDACTED**",
"port": 80,
"username": "**REDACTED**",
"password": "**REDACTED**",
"snapshot_auth": "digest",
},
"options": {
"extra_arguments": "-pred 1",
"rtsp_transport": "tcp",
"enable_webhooks": True,
},
"pref_disable_new_entities": False,
"pref_disable_polling": False,
"source": "user",
"unique_id": "aa:bb:cc:dd:ee",
"disabled_by": None,
},
"device": {
"info": {
"manufacturer": MANUFACTURER,
"model": MODEL,
"fw_version": FIRMWARE_VERSION,
"serial_number": SERIAL_NUMBER,
"mac": MAC,
},
"capabilities": {
"snapshot": False,
"events": False,
"ptz": True,
"imaging": True,
},
"profiles": [
{
"index": 0,
"token": "dummy",
"name": "profile1",
"video": {
"encoding": "any",
"resolution": {"width": 640, "height": 480},
},
"ptz": None,
"video_source_token": None,
}
],
"services": ANY,
"xaddrs": ANY,
},
"events": {
"pullpoint_manager_state": {
"__type": "<enum 'PullPointManagerState'>",
"repr": "<PullPointManagerState.PAUSED: 2>",
},
"webhook_manager_state": {
"__type": "<enum 'WebHookManagerState'>",
"repr": "<WebHookManagerState.STARTED: 1>",
},
},
}