Add Kira component to sensor and remote platforms (#7479)
* Add Kira component to sensor and remote platforms * Test cases for Kira component and platforms
This commit is contained in:
parent
4cdf0b4969
commit
9c4bc2a47f
10 changed files with 509 additions and 2 deletions
59
tests/components/sensor/test_kira.py
Normal file
59
tests/components/sensor/test_kira.py
Normal file
|
@ -0,0 +1,59 @@
|
|||
"""The tests for Kira sensor platform."""
|
||||
import unittest
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
from homeassistant.components.sensor import kira as kira
|
||||
|
||||
from tests.common import get_test_home_assistant
|
||||
|
||||
TEST_CONFIG = {kira.DOMAIN: {
|
||||
'sensors': [{'host': '127.0.0.1',
|
||||
'port': 17324}]}}
|
||||
|
||||
DISCOVERY_INFO = {
|
||||
'name': 'kira',
|
||||
'device': 'kira'
|
||||
}
|
||||
|
||||
|
||||
class TestKiraSensor(unittest.TestCase):
|
||||
"""Tests the Kira Sensor platform."""
|
||||
|
||||
# pylint: disable=invalid-name
|
||||
DEVICES = []
|
||||
|
||||
def add_devices(self, devices):
|
||||
"""Mock add devices."""
|
||||
for device in devices:
|
||||
self.DEVICES.append(device)
|
||||
|
||||
def setUp(self):
|
||||
"""Initialize values for this testcase class."""
|
||||
self.hass = get_test_home_assistant()
|
||||
mock_kira = MagicMock()
|
||||
self.hass.data[kira.DOMAIN] = {kira.CONF_SENSOR: {}}
|
||||
self.hass.data[kira.DOMAIN][kira.CONF_SENSOR]['kira'] = mock_kira
|
||||
|
||||
def tearDown(self):
|
||||
"""Stop everything that was started."""
|
||||
self.hass.stop()
|
||||
|
||||
# pylint: disable=protected-access
|
||||
def test_kira_sensor_callback(self):
|
||||
"""Ensure Kira sensor properly updates its attributes from callback."""
|
||||
kira.setup_platform(self.hass, TEST_CONFIG, self.add_devices,
|
||||
DISCOVERY_INFO)
|
||||
assert len(self.DEVICES) == 1
|
||||
sensor = self.DEVICES[0]
|
||||
|
||||
assert sensor.name == 'kira'
|
||||
|
||||
sensor.hass = self.hass
|
||||
|
||||
codeName = 'FAKE_CODE'
|
||||
deviceName = 'FAKE_DEVICE'
|
||||
codeTuple = (codeName, deviceName)
|
||||
sensor._update_callback(codeTuple)
|
||||
|
||||
assert sensor.state == codeName
|
||||
assert sensor.device_state_attributes == {kira.CONF_DEVICE: deviceName}
|
Loading…
Add table
Add a link
Reference in a new issue