51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
"""Test config init."""
|
|
import asyncio
|
|
from unittest.mock import patch
|
|
|
|
from homeassistant.const import EVENT_COMPONENT_LOADED
|
|
from homeassistant.setup import async_setup_component, ATTR_COMPONENT
|
|
from homeassistant.components import config
|
|
|
|
from tests.common import mock_coro, mock_component
|
|
|
|
|
|
@asyncio.coroutine
|
|
def test_config_setup(hass, loop):
|
|
"""Test it sets up hassbian."""
|
|
yield from async_setup_component(hass, "config", {})
|
|
assert "config" in hass.config.components
|
|
|
|
|
|
@asyncio.coroutine
|
|
def test_load_on_demand_already_loaded(hass, aiohttp_client):
|
|
"""Test getting suites."""
|
|
mock_component(hass, "zwave")
|
|
|
|
with patch.object(config, "SECTIONS", []), patch.object(
|
|
config, "ON_DEMAND", ["zwave"]
|
|
), patch("homeassistant.components.config.zwave.async_setup") as stp:
|
|
stp.return_value = mock_coro(True)
|
|
|
|
yield from async_setup_component(hass, "config", {})
|
|
|
|
yield from hass.async_block_till_done()
|
|
assert stp.called
|
|
|
|
|
|
@asyncio.coroutine
|
|
def test_load_on_demand_on_load(hass, aiohttp_client):
|
|
"""Test getting suites."""
|
|
with patch.object(config, "SECTIONS", []), patch.object(
|
|
config, "ON_DEMAND", ["zwave"]
|
|
):
|
|
yield from async_setup_component(hass, "config", {})
|
|
|
|
assert "config.zwave" not in hass.config.components
|
|
|
|
with patch("homeassistant.components.config.zwave.async_setup") as stp:
|
|
stp.return_value = mock_coro(True)
|
|
hass.bus.async_fire(EVENT_COMPONENT_LOADED, {ATTR_COMPONENT: "zwave"})
|
|
yield from hass.async_block_till_done()
|
|
|
|
assert stp.called
|