Fix vizio integration (#50436)
This commit is contained in:
parent
b8d468717a
commit
6cb283d36b
3 changed files with 63 additions and 3 deletions
|
@ -1,4 +1,6 @@
|
|||
"""Tests for Vizio init."""
|
||||
from datetime import timedelta
|
||||
|
||||
import pytest
|
||||
|
||||
from homeassistant.components.media_player.const import DOMAIN as MP_DOMAIN
|
||||
|
@ -6,10 +8,11 @@ from homeassistant.components.vizio.const import DOMAIN
|
|||
from homeassistant.const import STATE_UNAVAILABLE
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.setup import async_setup_component
|
||||
import homeassistant.util.dt as dt_util
|
||||
|
||||
from .const import MOCK_SPEAKER_CONFIG, MOCK_USER_VALID_TV_CONFIG, UNIQUE_ID
|
||||
|
||||
from tests.common import MockConfigEntry
|
||||
from tests.common import MockConfigEntry, async_fire_time_changed
|
||||
|
||||
|
||||
async def test_setup_component(
|
||||
|
@ -71,3 +74,34 @@ async def test_speaker_load_and_unload(
|
|||
for entity in entities:
|
||||
assert hass.states.get(entity).state == STATE_UNAVAILABLE
|
||||
assert DOMAIN not in hass.data
|
||||
|
||||
|
||||
async def test_coordinator_update_failure(
|
||||
hass: HomeAssistant,
|
||||
vizio_connect: pytest.fixture,
|
||||
vizio_bypass_update: pytest.fixture,
|
||||
vizio_data_coordinator_update_failure: pytest.fixture,
|
||||
caplog: pytest.LogCaptureFixture,
|
||||
) -> None:
|
||||
"""Test coordinator update failure after 10 days."""
|
||||
now = dt_util.now()
|
||||
config_entry = MockConfigEntry(
|
||||
domain=DOMAIN, data=MOCK_USER_VALID_TV_CONFIG, unique_id=UNIQUE_ID
|
||||
)
|
||||
config_entry.add_to_hass(hass)
|
||||
assert await hass.config_entries.async_setup(config_entry.entry_id)
|
||||
await hass.async_block_till_done()
|
||||
assert len(hass.states.async_entity_ids(MP_DOMAIN)) == 1
|
||||
assert DOMAIN in hass.data
|
||||
|
||||
for days in range(1, 10):
|
||||
async_fire_time_changed(hass, now + timedelta(days=days))
|
||||
await hass.async_block_till_done()
|
||||
assert (
|
||||
"Unable to retrieve the apps list from the external server"
|
||||
not in caplog.text
|
||||
)
|
||||
|
||||
async_fire_time_changed(hass, now + timedelta(days=10))
|
||||
await hass.async_block_till_done()
|
||||
assert "Unable to retrieve the apps list from the external server" in caplog.text
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue