Apply new customize format to Zwave (#5603)
This commit is contained in:
parent
405b2fdfa0
commit
1fb372ffdb
9 changed files with 171 additions and 84 deletions
68
tests/components/test_zwave.py
Normal file
68
tests/components/test_zwave.py
Normal file
|
@ -0,0 +1,68 @@
|
|||
"""The tests for the zwave component."""
|
||||
import unittest
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
from homeassistant.bootstrap import setup_component
|
||||
from homeassistant.components import zwave
|
||||
from tests.common import get_test_home_assistant
|
||||
|
||||
|
||||
class TestComponentZwave(unittest.TestCase):
|
||||
"""Test the Zwave component."""
|
||||
|
||||
def setUp(self):
|
||||
"""Setup things to be run when tests are started."""
|
||||
self.hass = get_test_home_assistant()
|
||||
|
||||
def tearDown(self):
|
||||
"""Stop everything that was started."""
|
||||
self.hass.stop()
|
||||
|
||||
def _validate_config(self, validator, config):
|
||||
libopenzwave = MagicMock()
|
||||
libopenzwave.__file__ = 'test'
|
||||
with patch.dict('sys.modules', {
|
||||
'libopenzwave': libopenzwave,
|
||||
'openzwave.option': MagicMock(),
|
||||
'openzwave.network': MagicMock(),
|
||||
'openzwave.group': MagicMock(),
|
||||
}):
|
||||
validator(setup_component(self.hass, zwave.DOMAIN, {
|
||||
zwave.DOMAIN: config,
|
||||
}))
|
||||
|
||||
def test_empty_config(self):
|
||||
"""Test empty config."""
|
||||
self._validate_config(self.assertTrue, {})
|
||||
|
||||
def test_empty_customize(self):
|
||||
"""Test empty customize."""
|
||||
self._validate_config(self.assertTrue, {'customize': {}})
|
||||
self._validate_config(self.assertTrue, {'customize': []})
|
||||
|
||||
def test_empty_customize_content(self):
|
||||
"""Test empty customize."""
|
||||
self._validate_config(
|
||||
self.assertTrue, {'customize': {'test.test': {}}})
|
||||
|
||||
def test_full_customize_dict(self):
|
||||
"""Test full customize as dict."""
|
||||
self._validate_config(self.assertTrue, {'customize': {'test.test': {
|
||||
zwave.CONF_POLLING_INTENSITY: 10,
|
||||
zwave.CONF_IGNORED: 1,
|
||||
zwave.CONF_REFRESH_VALUE: 1,
|
||||
zwave.CONF_REFRESH_DELAY: 10}}})
|
||||
|
||||
def test_full_customize_list(self):
|
||||
"""Test full customize as list."""
|
||||
self._validate_config(self.assertTrue, {'customize': [{
|
||||
'entity_id': 'test.test',
|
||||
zwave.CONF_POLLING_INTENSITY: 10,
|
||||
zwave.CONF_IGNORED: 1,
|
||||
zwave.CONF_REFRESH_VALUE: 1,
|
||||
zwave.CONF_REFRESH_DELAY: 10}]})
|
||||
|
||||
def test_bad_customize(self):
|
||||
"""Test customize with extra keys."""
|
||||
self._validate_config(
|
||||
self.assertFalse, {'customize': {'test.test': {'extra_key': 10}}})
|
Loading…
Add table
Add a link
Reference in a new issue