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