mirror of https://github.com/home-assistant/core
Convert kira tests to pytest (#79747)
This commit is contained in:
parent
90d39a414c
commit
9a81b65815
|
@ -1,42 +1,32 @@
|
|||
"""The tests for Kira sensor platform."""
|
||||
import unittest
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
from homeassistant.components.kira import remote as kira
|
||||
|
||||
from tests.common import get_test_home_assistant
|
||||
|
||||
SERVICE_SEND_COMMAND = "send_command"
|
||||
|
||||
TEST_CONFIG = {kira.DOMAIN: {"devices": [{"host": "127.0.0.1", "port": 17324}]}}
|
||||
|
||||
DISCOVERY_INFO = {"name": "kira", "device": "kira"}
|
||||
|
||||
DEVICES = []
|
||||
|
||||
class TestKiraSensor(unittest.TestCase):
|
||||
"""Tests the Kira Sensor platform."""
|
||||
|
||||
# pylint: disable=invalid-name
|
||||
DEVICES = []
|
||||
|
||||
def add_entities(self, devices):
|
||||
def add_entities(devices):
|
||||
"""Mock add devices."""
|
||||
for device in devices:
|
||||
self.DEVICES.append(device)
|
||||
DEVICES.append(device)
|
||||
|
||||
def setUp(self):
|
||||
"""Initialize values for this testcase class."""
|
||||
self.hass = get_test_home_assistant()
|
||||
self.mock_kira = MagicMock()
|
||||
self.hass.data[kira.DOMAIN] = {kira.CONF_REMOTE: {}}
|
||||
self.hass.data[kira.DOMAIN][kira.CONF_REMOTE]["kira"] = self.mock_kira
|
||||
self.addCleanup(self.hass.stop)
|
||||
|
||||
def test_service_call(self):
|
||||
def test_service_call(hass):
|
||||
"""Test Kira's ability to send commands."""
|
||||
kira.setup_platform(self.hass, TEST_CONFIG, self.add_entities, DISCOVERY_INFO)
|
||||
assert len(self.DEVICES) == 1
|
||||
remote = self.DEVICES[0]
|
||||
mock_kira = MagicMock()
|
||||
hass.data[kira.DOMAIN] = {kira.CONF_REMOTE: {}}
|
||||
hass.data[kira.DOMAIN][kira.CONF_REMOTE]["kira"] = mock_kira
|
||||
|
||||
kira.setup_platform(hass, TEST_CONFIG, add_entities, DISCOVERY_INFO)
|
||||
assert len(DEVICES) == 1
|
||||
remote = DEVICES[0]
|
||||
|
||||
assert remote.name == "kira"
|
||||
|
||||
|
@ -45,4 +35,4 @@ class TestKiraSensor(unittest.TestCase):
|
|||
commandTuple = (command[0], device)
|
||||
remote.send_command(device=device, command=command)
|
||||
|
||||
self.mock_kira.sendCode.assert_called_with(commandTuple)
|
||||
mock_kira.sendCode.assert_called_with(commandTuple)
|
||||
|
|
|
@ -1,50 +1,42 @@
|
|||
"""The tests for Kira sensor platform."""
|
||||
import unittest
|
||||
from unittest.mock import MagicMock
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
from homeassistant.components.kira import sensor 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"}
|
||||
|
||||
DEVICES = []
|
||||
|
||||
class TestKiraSensor(unittest.TestCase):
|
||||
"""Tests the Kira Sensor platform."""
|
||||
|
||||
# pylint: disable=invalid-name
|
||||
DEVICES = []
|
||||
|
||||
def add_entities(self, devices):
|
||||
def add_entities(devices):
|
||||
"""Mock add devices."""
|
||||
for device in devices:
|
||||
self.DEVICES.append(device)
|
||||
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
|
||||
self.addCleanup(self.hass.stop)
|
||||
|
||||
# pylint: disable=protected-access
|
||||
def test_kira_sensor_callback(self):
|
||||
@patch("homeassistant.components.kira.sensor.KiraReceiver.schedule_update_ha_state")
|
||||
def test_kira_sensor_callback(mock_schedule_update_ha_state, hass):
|
||||
"""Ensure Kira sensor properly updates its attributes from callback."""
|
||||
kira.setup_platform(self.hass, TEST_CONFIG, self.add_entities, DISCOVERY_INFO)
|
||||
assert len(self.DEVICES) == 1
|
||||
sensor = self.DEVICES[0]
|
||||
mock_kira = MagicMock()
|
||||
hass.data[kira.DOMAIN] = {kira.CONF_SENSOR: {}}
|
||||
hass.data[kira.DOMAIN][kira.CONF_SENSOR]["kira"] = mock_kira
|
||||
|
||||
kira.setup_platform(hass, TEST_CONFIG, add_entities, DISCOVERY_INFO)
|
||||
assert len(DEVICES) == 1
|
||||
sensor = DEVICES[0]
|
||||
|
||||
assert sensor.name == "kira"
|
||||
|
||||
sensor.hass = self.hass
|
||||
sensor.hass = hass
|
||||
|
||||
codeName = "FAKE_CODE"
|
||||
deviceName = "FAKE_DEVICE"
|
||||
codeTuple = (codeName, deviceName)
|
||||
sensor._update_callback(codeTuple)
|
||||
|
||||
mock_schedule_update_ha_state.assert_called
|
||||
|
||||
assert sensor.state == codeName
|
||||
assert sensor.extra_state_attributes == {kira.CONF_DEVICE: deviceName}
|
||||
|
|
Loading…
Reference in New Issue