Fix reload service in Command Line (#94436)
* Fix reload in Command Line * Add read new yaml
This commit is contained in:
parent
f931cc3d1c
commit
bd74f03d0b
5 changed files with 101 additions and 58 deletions
|
@ -2,12 +2,17 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from datetime import timedelta
|
||||
from unittest.mock import patch
|
||||
|
||||
from homeassistant.const import STATE_ON, STATE_OPEN
|
||||
import pytest
|
||||
|
||||
from homeassistant import config as hass_config
|
||||
from homeassistant.components.command_line.const import DOMAIN
|
||||
from homeassistant.const import SERVICE_RELOAD, STATE_ON, STATE_OPEN
|
||||
from homeassistant.core import HomeAssistant
|
||||
import homeassistant.util.dt as dt_util
|
||||
|
||||
from tests.common import async_fire_time_changed
|
||||
from tests.common import async_fire_time_changed, get_fixture_path
|
||||
|
||||
|
||||
async def test_setup_config(hass: HomeAssistant, load_yaml_integration: None) -> None:
|
||||
|
@ -25,3 +30,55 @@ async def test_setup_config(hass: HomeAssistant, load_yaml_integration: None) ->
|
|||
assert state_sensor.state == "5"
|
||||
assert state_cover.state == STATE_OPEN
|
||||
assert state_switch.state == STATE_ON
|
||||
|
||||
|
||||
async def test_reload_service(
|
||||
hass: HomeAssistant, load_yaml_integration: None, caplog: pytest.LogCaptureFixture
|
||||
) -> None:
|
||||
"""Test reload serviice."""
|
||||
|
||||
async_fire_time_changed(hass, dt_util.utcnow() + timedelta(minutes=10))
|
||||
await hass.async_block_till_done()
|
||||
|
||||
state_binary_sensor = hass.states.get("binary_sensor.test")
|
||||
state_sensor = hass.states.get("sensor.test")
|
||||
assert state_binary_sensor.state == STATE_ON
|
||||
assert state_sensor.state == "5"
|
||||
|
||||
caplog.clear()
|
||||
|
||||
yaml_path = get_fixture_path("configuration.yaml", "command_line")
|
||||
with patch.object(hass_config, "YAML_CONFIG_FILE", yaml_path):
|
||||
await hass.services.async_call(
|
||||
DOMAIN,
|
||||
SERVICE_RELOAD,
|
||||
{},
|
||||
blocking=True,
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert "Loading config" in caplog.text
|
||||
|
||||
state_binary_sensor = hass.states.get("binary_sensor.test")
|
||||
state_sensor = hass.states.get("sensor.test")
|
||||
assert state_binary_sensor.state == STATE_ON
|
||||
assert not state_sensor
|
||||
|
||||
caplog.clear()
|
||||
|
||||
yaml_path = get_fixture_path("configuration_empty.yaml", "command_line")
|
||||
with patch.object(hass_config, "YAML_CONFIG_FILE", yaml_path):
|
||||
await hass.services.async_call(
|
||||
DOMAIN,
|
||||
SERVICE_RELOAD,
|
||||
{},
|
||||
blocking=True,
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
state_binary_sensor = hass.states.get("binary_sensor.test")
|
||||
state_sensor = hass.states.get("sensor.test")
|
||||
assert not state_binary_sensor
|
||||
assert not state_sensor
|
||||
|
||||
assert "Loading config" not in caplog.text
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue