mirror of https://github.com/home-assistant/core
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
"""Tests for the Sonos statistics."""
|
|
|
|
from homeassistant.components.sonos.const import DATA_SONOS
|
|
from homeassistant.core import HomeAssistant
|
|
|
|
|
|
async def test_statistics_duplicate(
|
|
hass: HomeAssistant, async_autosetup_sonos, soco, device_properties_event
|
|
) -> None:
|
|
"""Test Sonos statistics."""
|
|
speaker = list(hass.data[DATA_SONOS].discovered.values())[0]
|
|
|
|
subscription = soco.deviceProperties.subscribe.return_value
|
|
sub_callback = subscription.callback
|
|
|
|
# Update the speaker with a callback event
|
|
sub_callback(device_properties_event)
|
|
await hass.async_block_till_done()
|
|
|
|
report = speaker.event_stats.report()
|
|
assert report["DeviceProperties"]["received"] == 1
|
|
assert report["DeviceProperties"]["duplicates"] == 0
|
|
assert report["DeviceProperties"]["processed"] == 1
|
|
|
|
# Ensure a duplicate is registered in the statistics
|
|
sub_callback(device_properties_event)
|
|
await hass.async_block_till_done()
|
|
|
|
report = speaker.event_stats.report()
|
|
assert report["DeviceProperties"]["received"] == 2
|
|
assert report["DeviceProperties"]["duplicates"] == 1
|
|
assert report["DeviceProperties"]["processed"] == 1
|