Use setup_component in tests v1 (#3507)

* update unittests like #3414

* setup_component - splunk

* setup_component - statsd

* fix statsd & splunk unittest config values

* component_setup - device_sun_light_trigger

* setup_component - introduction

* component_setup - persistent_notification

* setup_component - logentries, mqtt eventstream

* fix unittest logentries
This commit is contained in:
Pascal Vizeli 2016-09-25 23:15:21 +02:00 committed by GitHub
parent 0c0feda834
commit bbfd86dec3
16 changed files with 62 additions and 46 deletions

View file

@ -1,10 +1,11 @@
"""The tests for the demo hvac."""
import unittest
from homeassistant.bootstrap import setup_component
from homeassistant.components import hvac
from homeassistant.util.unit_system import (
METRIC_SYSTEM,
)
from homeassistant.components import hvac
from tests.common import get_test_home_assistant
@ -19,7 +20,7 @@ class TestDemoHvac(unittest.TestCase):
"""Setup things to be run when tests are started."""
self.hass = get_test_home_assistant()
self.hass.config.units = METRIC_SYSTEM
self.assertTrue(hvac.setup(self.hass, {'hvac': {
self.assertTrue(setup_component(self.hass, hvac.DOMAIN, {'hvac': {
'platform': 'demo',
}}))

View file

@ -2,6 +2,7 @@
# pylint: disable=too-many-public-methods,protected-access
import unittest
from homeassistant.bootstrap import setup_component
import homeassistant.components.light as light
from tests.common import get_test_home_assistant
@ -15,7 +16,7 @@ class TestDemoClimate(unittest.TestCase):
def setUp(self): # pylint: disable=invalid-name
"""Setup things to be run when tests are started."""
self.hass = get_test_home_assistant()
self.assertTrue(light.setup(self.hass, {'light': {
self.assertTrue(setup_component(self.hass, light.DOMAIN, {'light': {
'platform': 'demo',
}}))

View file

@ -5,6 +5,7 @@ import tempfile
import unittest
from unittest import mock
from homeassistant.bootstrap import setup_component
import homeassistant.components.rollershutter as rollershutter
from homeassistant.components.rollershutter import (
command_line as cmd_rs)
@ -53,7 +54,7 @@ class TestCommandRollerShutter(unittest.TestCase):
'stopcmd': 'echo 0 > {}'.format(path),
'value_template': '{{ value }}'
}
self.assertTrue(rollershutter.setup(self.hass, {
self.assertTrue(setup_component(self.hass, rollershutter.DOMAIN, {
'rollershutter': {
'platform': 'command_line',
'rollershutters': {

View file

@ -104,7 +104,7 @@ class TestMfiSensorSetup(unittest.TestCase):
print(ports['bad'].model)
mock_client.return_value.get_devices.return_value = \
[mock.MagicMock(ports=ports)]
assert sensor.setup(self.hass, self.GOOD_CONFIG)
assert setup_component(self.hass, sensor.DOMAIN, self.GOOD_CONFIG)
for ident, port in ports.items():
if ident != 'bad':
mock_sensor.assert_any_call(port, self.hass)

View file

@ -2,6 +2,7 @@
import unittest
import unittest.mock as mock
from homeassistant.bootstrap import setup_component
import homeassistant.components.switch as switch
import homeassistant.components.switch.mfi as mfi
from tests.components.sensor import test_mfi as test_mfi_sensor
@ -37,7 +38,7 @@ class TestMfiSwitchSetup(test_mfi_sensor.TestMfiSensorSetup):
print(ports['bad'].model)
mock_client.return_value.get_devices.return_value = \
[mock.MagicMock(ports=ports)]
assert self.COMPONENT.setup(self.hass, self.GOOD_CONFIG)
assert setup_component(self.hass, switch.DOMAIN, self.GOOD_CONFIG)
for ident, port in ports.items():
if ident != 'bad':
mock_switch.assert_any_call(port)

View file

@ -3,6 +3,7 @@
import unittest
from unittest.mock import patch
from homeassistant.bootstrap import setup_component
import homeassistant.components as core_components
from homeassistant.components import conversation
from homeassistant.const import ATTR_ENTITY_ID
@ -19,8 +20,8 @@ class TestConversation(unittest.TestCase):
self.hass = get_test_home_assistant(3)
self.hass.states.set(self.ent_id, 'on')
self.assertTrue(core_components.setup(self.hass, {}))
self.assertTrue(
conversation.setup(self.hass, {conversation.DOMAIN: {}}))
self.assertTrue(setup_component(self.hass, conversation.DOMAIN, {
conversation.DOMAIN: {}}))
def tearDown(self): # pylint: disable=invalid-name
"""Stop everything that was started."""

View file

@ -3,6 +3,7 @@ import json
import os
import unittest
from homeassistant.bootstrap import setup_component
from homeassistant.components import demo, device_tracker
from homeassistant.remote import JSONEncoder
@ -28,19 +29,21 @@ class TestDemo(unittest.TestCase):
def test_if_demo_state_shows_by_default(self):
"""Test if demo state shows if we give no configuration."""
demo.setup(self.hass, {demo.DOMAIN: {}})
setup_component(self.hass, demo.DOMAIN, {demo.DOMAIN: {}})
self.assertIsNotNone(self.hass.states.get('a.Demo_Mode'))
def test_hiding_demo_state(self):
"""Test if you can hide the demo card."""
demo.setup(self.hass, {demo.DOMAIN: {'hide_demo_state': 1}})
setup_component(self.hass, demo.DOMAIN, {
demo.DOMAIN: {'hide_demo_state': 1}})
self.assertIsNone(self.hass.states.get('a.Demo_Mode'))
def test_all_entities_can_be_loaded_over_json(self):
"""Test if you can hide the demo card."""
demo.setup(self.hass, {demo.DOMAIN: {'hide_demo_state': 1}})
setup_component(self.hass, demo.DOMAIN, {
demo.DOMAIN: {'hide_demo_state': 1}})
try:
json.dumps(self.hass.states.all(), cls=JSONEncoder)

View file

@ -3,6 +3,7 @@
import os
import unittest
from homeassistant.bootstrap import setup_component
import homeassistant.loader as loader
from homeassistant.const import CONF_PLATFORM, STATE_HOME, STATE_NOT_HOME
from homeassistant.components import (
@ -52,16 +53,16 @@ class TestDeviceSunLightTrigger(unittest.TestCase):
loader.get_component('light.test').init()
self.assertTrue(device_tracker.setup(self.hass, {
self.assertTrue(setup_component(self.hass, device_tracker.DOMAIN, {
device_tracker.DOMAIN: {CONF_PLATFORM: 'test'}
}))
self.assertTrue(light.setup(self.hass, {
self.assertTrue(setup_component(self.hass, light.DOMAIN, {
light.DOMAIN: {CONF_PLATFORM: 'test'}
}))
self.assertTrue(sun.setup(
self.hass, {sun.DOMAIN: {sun.CONF_ELEVATION: 0}}))
self.assertTrue(setup_component(self.hass, sun.DOMAIN, {
sun.DOMAIN: {sun.CONF_ELEVATION: 0}}))
def tearDown(self): # pylint: disable=invalid-name
"""Stop everything that was started."""
@ -70,8 +71,9 @@ class TestDeviceSunLightTrigger(unittest.TestCase):
def test_lights_on_when_sun_sets(self):
"""Test lights go on when there is someone home and the sun sets."""
self.assertTrue(device_sun_light_trigger.setup(
self.hass, {device_sun_light_trigger.DOMAIN: {}}))
self.assertTrue(setup_component(
self.hass, device_sun_light_trigger.DOMAIN, {
device_sun_light_trigger.DOMAIN: {}}))
ensure_sun_risen(self.hass)
light.turn_off(self.hass)
@ -90,8 +92,9 @@ class TestDeviceSunLightTrigger(unittest.TestCase):
self.hass.block_till_done()
self.assertTrue(device_sun_light_trigger.setup(
self.hass, {device_sun_light_trigger.DOMAIN: {}}))
self.assertTrue(setup_component(
self.hass, device_sun_light_trigger.DOMAIN, {
device_sun_light_trigger.DOMAIN: {}}))
self.hass.states.set(device_tracker.ENTITY_ID_ALL_DEVICES,
STATE_NOT_HOME)
@ -108,8 +111,9 @@ class TestDeviceSunLightTrigger(unittest.TestCase):
self.hass.block_till_done()
self.assertTrue(device_sun_light_trigger.setup(
self.hass, {device_sun_light_trigger.DOMAIN: {}}))
self.assertTrue(setup_component(
self.hass, device_sun_light_trigger.DOMAIN, {
device_sun_light_trigger.DOMAIN: {}}))
self.hass.states.set(
device_tracker.ENTITY_ID_FORMAT.format('device_2'), STATE_HOME)

View file

@ -4,13 +4,13 @@ import unittest
from unittest import mock
from unittest.mock import patch
from homeassistant.bootstrap import setup_component
import homeassistant.core as ha
import homeassistant.components.graphite as graphite
from homeassistant.const import (
EVENT_STATE_CHANGED, EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP,
STATE_ON, STATE_OFF)
from tests.common import get_test_home_assistant
from homeassistant import bootstrap
class TestGraphite(unittest.TestCase):
@ -28,8 +28,7 @@ class TestGraphite(unittest.TestCase):
@patch('socket.socket')
def test_setup(self, mock_socket):
"""Test setup."""
assert bootstrap.setup_component(self.hass, 'graphite',
{'graphite': {}})
assert setup_component(self.hass, graphite.DOMAIN, {'graphite': {}})
mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_STREAM)
@patch('socket.socket')
@ -44,7 +43,7 @@ class TestGraphite(unittest.TestCase):
}
}
self.assertTrue(graphite.setup(self.hass, config))
self.assertTrue(setup_component(self.hass, graphite.DOMAIN, config))
mock_gf.assert_called_once_with(self.hass, 'foo', 123, 'me')
mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_STREAM)
@ -59,7 +58,7 @@ class TestGraphite(unittest.TestCase):
}
}
self.assertTrue(graphite.setup(self.hass, config))
self.assertTrue(setup_component(self.hass, graphite.DOMAIN, config))
self.assertTrue(mock_gf.called)
mock_socket.assert_called_once_with(socket.AF_INET, socket.SOCK_STREAM)

View file

@ -4,6 +4,7 @@ from datetime import timedelta
import unittest
from unittest.mock import patch, sentinel
from homeassistant.bootstrap import setup_component
import homeassistant.core as ha
import homeassistant.util.dt as dt_util
from homeassistant.components import history, recorder
@ -27,7 +28,7 @@ class TestComponentHistory(unittest.TestCase):
"""Initialize the recorder."""
db_uri = 'sqlite://'
with patch('homeassistant.core.Config.path', return_value=db_uri):
recorder.setup(self.hass, config={
setup_component(self.hass, recorder.DOMAIN, {
"recorder": {
"db_url": db_uri}})
self.hass.start()
@ -42,7 +43,7 @@ class TestComponentHistory(unittest.TestCase):
def test_setup(self):
"""Test setup method of history."""
mock_http_component(self.hass)
self.assertTrue(history.setup(self.hass, {}))
self.assertTrue(setup_component(self.hass, history.DOMAIN, {}))
def test_last_5_states(self):
"""Test retrieving the last 5 states."""

View file

@ -1,6 +1,7 @@
"""The tests for the Introduction component."""
import unittest
from homeassistant.bootstrap import setup_component
from homeassistant.components import introduction
from tests.common import get_test_home_assistant
@ -19,4 +20,4 @@ class TestIntroduction(unittest.TestCase):
def test_setup(self):
"""Test introduction setup."""
self.assertTrue(introduction.setup(self.hass, {}))
self.assertTrue(setup_component(self.hass, introduction.DOMAIN, {}))

View file

@ -3,6 +3,7 @@
import unittest
from unittest import mock
from homeassistant.bootstrap import setup_component
import homeassistant.components.logentries as logentries
from homeassistant.const import STATE_ON, STATE_OFF, EVENT_STATE_CHANGED
@ -14,12 +15,11 @@ class TestLogentries(unittest.TestCase):
"""Test setup with all data."""
config = {
'logentries': {
'host': 'host',
'token': 'secret',
}
}
hass = mock.MagicMock()
self.assertTrue(logentries.setup(hass, config))
self.assertTrue(setup_component(hass, logentries.DOMAIN, config))
self.assertTrue(hass.bus.listen.called)
self.assertEqual(EVENT_STATE_CHANGED,
hass.bus.listen.call_args_list[0][0][0])
@ -28,12 +28,11 @@ class TestLogentries(unittest.TestCase):
"""Test setup with defaults."""
config = {
'logentries': {
'host': 'host',
'token': 'token',
}
}
hass = mock.MagicMock()
self.assertTrue(logentries.setup(hass, config))
self.assertTrue(setup_component(hass, logentries.DOMAIN, config))
self.assertTrue(hass.bus.listen.called)
self.assertEqual(EVENT_STATE_CHANGED,
hass.bus.listen.call_args_list[0][0][0])
@ -45,12 +44,11 @@ class TestLogentries(unittest.TestCase):
mock_requests.exceptions.RequestException = self.mock_request_exception
config = {
'logentries': {
'host': 'https://webhook.logentries.com/noformat/logs/token',
'token': 'token'
}
}
self.hass = mock.MagicMock()
logentries.setup(self.hass, config)
setup_component(self.hass, logentries.DOMAIN, config)
self.handler_method = self.hass.bus.listen.call_args_list[0][0][1]
@mock.patch.object(logentries, 'requests')

View file

@ -3,6 +3,7 @@ import json
import unittest
from unittest.mock import ANY, patch
from homeassistant.bootstrap import setup_component
import homeassistant.components.mqtt_eventstream as eventstream
from homeassistant.const import EVENT_STATE_CHANGED
from homeassistant.core import State
@ -38,7 +39,8 @@ class TestMqttEventStream(unittest.TestCase):
config['subscribe_topic'] = sub_topic
if pub_topic:
config['publish_topic'] = pub_topic
return eventstream.setup(self.hass, {eventstream.DOMAIN: config})
return setup_component(self.hass, eventstream.DOMAIN, {
eventstream.DOMAIN: config})
def test_setup_succeeds(self):
""""Test the success of the setup."""

View file

@ -1,4 +1,5 @@
"""The tests for the persistent notification component."""
from homeassistant.bootstrap import setup_component
import homeassistant.components.persistent_notification as pn
from tests.common import get_test_home_assistant
@ -10,7 +11,7 @@ class TestPersistentNotification:
def setup_method(self, method):
"""Setup things to be run when tests are started."""
self.hass = get_test_home_assistant()
pn.setup(self.hass, {})
setup_component(self.hass, pn.DOMAIN, {})
def teardown_method(self, method):
"""Stop everything that was started."""

View file

@ -2,6 +2,7 @@
import unittest
from unittest import mock
from homeassistant.bootstrap import setup_component
import homeassistant.components.splunk as splunk
from homeassistant.const import STATE_ON, STATE_OFF, EVENT_STATE_CHANGED
@ -16,12 +17,12 @@ class TestSplunk(unittest.TestCase):
'host': 'host',
'port': 123,
'token': 'secret',
'use_ssl': 'False',
'ssl': 'False',
}
}
hass = mock.MagicMock()
self.assertTrue(splunk.setup(hass, config))
self.assertTrue(setup_component(hass, splunk.DOMAIN, config))
self.assertTrue(hass.bus.listen.called)
self.assertEqual(EVENT_STATE_CHANGED,
hass.bus.listen.call_args_list[0][0][0])
@ -36,7 +37,7 @@ class TestSplunk(unittest.TestCase):
}
hass = mock.MagicMock()
self.assertTrue(splunk.setup(hass, config))
self.assertTrue(setup_component(hass, splunk.DOMAIN, config))
self.assertTrue(hass.bus.listen.called)
self.assertEqual(EVENT_STATE_CHANGED,
hass.bus.listen.call_args_list[0][0][0])
@ -55,7 +56,7 @@ class TestSplunk(unittest.TestCase):
}
self.hass = mock.MagicMock()
splunk.setup(self.hass, config)
setup_component(self.hass, splunk.DOMAIN, config)
self.handler_method = self.hass.bus.listen.call_args_list[0][0][1]
@mock.patch.object(splunk, 'requests')

View file

@ -4,6 +4,7 @@ from unittest import mock
import voluptuous as vol
from homeassistant.bootstrap import setup_component
import homeassistant.core as ha
import homeassistant.components.statsd as statsd
from homeassistant.const import (STATE_ON, STATE_OFF, EVENT_STATE_CHANGED)
@ -32,12 +33,12 @@ class TestStatsd(unittest.TestCase):
'statsd': {
'host': 'host',
'port': 123,
'sample_rate': 1,
'rate': 1,
'prefix': 'foo',
}
}
hass = mock.MagicMock()
self.assertTrue(statsd.setup(hass, config))
self.assertTrue(setup_component(hass, statsd.DOMAIN, config))
mock_connection.assert_called_once_with(
host='host',
port=123,
@ -60,7 +61,7 @@ class TestStatsd(unittest.TestCase):
config['statsd'][statsd.CONF_PREFIX] = statsd.DEFAULT_PREFIX
hass = mock.MagicMock()
self.assertTrue(statsd.setup(hass, config))
self.assertTrue(setup_component(hass, statsd.DOMAIN, config))
mock_connection.assert_called_once_with(
host='host',
port=8125,
@ -79,7 +80,7 @@ class TestStatsd(unittest.TestCase):
config['statsd'][statsd.CONF_RATE] = statsd.DEFAULT_RATE
hass = mock.MagicMock()
statsd.setup(hass, config)
setup_component(hass, statsd.DOMAIN, config)
self.assertTrue(hass.bus.listen.called)
handler_method = hass.bus.listen.call_args_list[0][0][1]
@ -120,7 +121,7 @@ class TestStatsd(unittest.TestCase):
config['statsd'][statsd.CONF_RATE] = statsd.DEFAULT_RATE
hass = mock.MagicMock()
statsd.setup(hass, config)
setup_component(hass, statsd.DOMAIN, config)
self.assertTrue(hass.bus.listen.called)
handler_method = hass.bus.listen.call_args_list[0][0][1]