mirror of
https://github.com/home-assistant/core.git
synced 2025-12-24 21:06:19 +00:00
Remove deprecated remote classes (#7011)
* Remove deprecated remote classes * Lint * Fix tests * Lint
This commit is contained in:
@@ -1,9 +1,6 @@
|
||||
"""Test Home Assistant remote methods and classes."""
|
||||
# pylint: disable=protected-access
|
||||
import asyncio
|
||||
import threading
|
||||
import unittest
|
||||
from unittest.mock import patch
|
||||
|
||||
from homeassistant import remote, setup, core as ha
|
||||
import homeassistant.components.http as http
|
||||
@@ -11,18 +8,17 @@ from homeassistant.const import HTTP_HEADER_HA_AUTH, EVENT_STATE_CHANGED
|
||||
import homeassistant.util.dt as dt_util
|
||||
|
||||
from tests.common import (
|
||||
get_test_instance_port, get_test_home_assistant, get_test_config_dir)
|
||||
get_test_instance_port, get_test_home_assistant)
|
||||
|
||||
API_PASSWORD = 'test1234'
|
||||
MASTER_PORT = get_test_instance_port()
|
||||
SLAVE_PORT = get_test_instance_port()
|
||||
BROKEN_PORT = get_test_instance_port()
|
||||
HTTP_BASE_URL = 'http://127.0.0.1:{}'.format(MASTER_PORT)
|
||||
|
||||
HA_HEADERS = {HTTP_HEADER_HA_AUTH: API_PASSWORD}
|
||||
|
||||
broken_api = remote.API('127.0.0.1', "bladybla", port=get_test_instance_port())
|
||||
hass, slave, master_api = None, None, None
|
||||
hass, master_api = None, None
|
||||
|
||||
|
||||
def _url(path=''):
|
||||
@@ -32,8 +28,8 @@ def _url(path=''):
|
||||
|
||||
# pylint: disable=invalid-name
|
||||
def setUpModule():
|
||||
"""Initalization of a Home Assistant server and Slave instance."""
|
||||
global hass, slave, master_api
|
||||
"""Initalization of a Home Assistant server instance."""
|
||||
global hass, master_api
|
||||
|
||||
hass = get_test_home_assistant()
|
||||
|
||||
@@ -51,30 +47,10 @@ def setUpModule():
|
||||
|
||||
master_api = remote.API('127.0.0.1', API_PASSWORD, MASTER_PORT)
|
||||
|
||||
# Start slave
|
||||
loop = asyncio.new_event_loop()
|
||||
|
||||
# FIXME: should not be a daemon
|
||||
threading.Thread(name='SlaveThread', daemon=True,
|
||||
target=loop.run_forever).start()
|
||||
|
||||
slave = remote.HomeAssistant(master_api, loop=loop)
|
||||
slave.async_track_tasks()
|
||||
slave.config.config_dir = get_test_config_dir()
|
||||
slave.config.skip_pip = True
|
||||
setup.setup_component(
|
||||
slave, http.DOMAIN,
|
||||
{http.DOMAIN: {http.CONF_API_PASSWORD: API_PASSWORD,
|
||||
http.CONF_SERVER_PORT: SLAVE_PORT}})
|
||||
|
||||
with patch.object(ha, '_async_create_timer', return_value=None):
|
||||
slave.start()
|
||||
|
||||
|
||||
# pylint: disable=invalid-name
|
||||
def tearDownModule():
|
||||
"""Stop the Home Assistant server and slave."""
|
||||
slave.stop()
|
||||
"""Stop the Home Assistant server."""
|
||||
hass.stop()
|
||||
|
||||
|
||||
@@ -83,7 +59,6 @@ class TestRemoteMethods(unittest.TestCase):
|
||||
|
||||
def tearDown(self):
|
||||
"""Stop everything that was started."""
|
||||
slave.block_till_done()
|
||||
hass.block_till_done()
|
||||
|
||||
def test_validate_api(self):
|
||||
@@ -228,89 +203,3 @@ class TestRemoteMethods(unittest.TestCase):
|
||||
|
||||
now = dt_util.utcnow()
|
||||
self.assertEqual(now.isoformat(), ha_json_enc.default(now))
|
||||
|
||||
|
||||
class TestRemoteClasses(unittest.TestCase):
|
||||
"""Test the homeassistant.remote module."""
|
||||
|
||||
def tearDown(self):
|
||||
"""Stop everything that was started."""
|
||||
slave.block_till_done()
|
||||
hass.block_till_done()
|
||||
|
||||
def test_home_assistant_init(self):
|
||||
"""Test HomeAssistant init."""
|
||||
# Wrong password
|
||||
self.assertRaises(
|
||||
ha.HomeAssistantError, remote.HomeAssistant,
|
||||
remote.API('127.0.0.1', API_PASSWORD + 'A', 8124))
|
||||
|
||||
# Wrong port
|
||||
self.assertRaises(
|
||||
ha.HomeAssistantError, remote.HomeAssistant,
|
||||
remote.API('127.0.0.1', API_PASSWORD, BROKEN_PORT))
|
||||
|
||||
def test_statemachine_init(self):
|
||||
"""Test if remote.StateMachine copies all states on init."""
|
||||
self.assertEqual(sorted(hass.states.all()),
|
||||
sorted(slave.states.all()))
|
||||
|
||||
def test_statemachine_set(self):
|
||||
"""Test if setting the state on a slave is recorded."""
|
||||
slave.states.set("remote.test", "remote.statemachine test")
|
||||
|
||||
# Wait till slave tells master
|
||||
slave.block_till_done()
|
||||
# Wait till master gives updated state
|
||||
hass.block_till_done()
|
||||
|
||||
self.assertEqual("remote.statemachine test",
|
||||
slave.states.get("remote.test").state)
|
||||
|
||||
def test_statemachine_remove_from_master(self):
|
||||
"""Remove statemachine from master."""
|
||||
hass.states.set("remote.master_remove", "remove me!")
|
||||
hass.block_till_done()
|
||||
slave.block_till_done()
|
||||
|
||||
self.assertIn('remote.master_remove', slave.states.entity_ids())
|
||||
|
||||
hass.states.remove("remote.master_remove")
|
||||
hass.block_till_done()
|
||||
slave.block_till_done()
|
||||
|
||||
self.assertNotIn('remote.master_remove', slave.states.entity_ids())
|
||||
|
||||
def test_statemachine_remove_from_slave(self):
|
||||
"""Remove statemachine from slave."""
|
||||
hass.states.set("remote.slave_remove", "remove me!")
|
||||
hass.block_till_done()
|
||||
|
||||
self.assertIn('remote.slave_remove', slave.states.entity_ids())
|
||||
|
||||
self.assertTrue(slave.states.remove("remote.slave_remove"))
|
||||
slave.block_till_done()
|
||||
hass.block_till_done()
|
||||
|
||||
self.assertNotIn('remote.slave_remove', slave.states.entity_ids())
|
||||
|
||||
def test_eventbus_fire(self):
|
||||
"""Test if events fired from the eventbus get fired."""
|
||||
hass_call = []
|
||||
slave_call = []
|
||||
|
||||
hass.bus.listen("test.event_no_data", lambda _: hass_call.append(1))
|
||||
slave.bus.listen("test.event_no_data", lambda _: slave_call.append(1))
|
||||
slave.bus.fire("test.event_no_data")
|
||||
|
||||
# Wait till slave tells master
|
||||
slave.block_till_done()
|
||||
# Wait till master gives updated event
|
||||
hass.block_till_done()
|
||||
|
||||
self.assertEqual(1, len(hass_call))
|
||||
self.assertEqual(1, len(slave_call))
|
||||
|
||||
def test_get_config(self):
|
||||
"""Test the return of the configuration."""
|
||||
self.assertEqual(hass.config.as_dict(), remote.get_config(master_api))
|
||||
|
||||
Reference in New Issue
Block a user