core/tests/helpers/test_init.py

49 lines
1.4 KiB
Python
Raw Normal View History

2016-03-09 09:25:50 +00:00
"""Test component helpers."""
# pylint: disable=protected-access,too-many-public-methods
from collections import OrderedDict
import unittest
from homeassistant import helpers
2015-09-13 05:56:49 +00:00
from tests.common import get_test_home_assistant
class TestHelpers(unittest.TestCase):
2016-03-09 09:25:50 +00:00
"""Tests homeassistant.helpers module."""
def setUp(self): # pylint: disable=invalid-name
2016-03-09 09:25:50 +00:00
"""Init needed objects."""
self.hass = get_test_home_assistant()
def tearDown(self): # pylint: disable=invalid-name
2016-03-09 09:25:50 +00:00
"""Stop everything that was started."""
self.hass.stop()
2015-09-29 06:09:05 +00:00
def test_extract_domain_configs(self):
2016-03-09 09:25:50 +00:00
"""Test the extraction of domain configuration."""
2015-09-29 06:09:05 +00:00
config = {
'zone': None,
'zoner': None,
'zone ': None,
'zone Hallo': None,
'zone 100': None,
}
self.assertEqual(set(['zone', 'zone Hallo', 'zone 100']),
set(helpers.extract_domain_configs(config, 'zone')))
def test_config_per_platform(self):
"""Test config per platform method."""
config = OrderedDict([
('zone', {'platform': 'hello'}),
('zoner', None),
('zone Hallo', [1, {'platform': 'hello 2'}]),
('zone 100', None),
])
assert [
('hello', config['zone']),
(None, 1),
('hello 2', config['zone Hallo'][1]),
] == list(helpers.config_per_platform(config, 'zone'))