def setUpModule(): # pylint: disable=invalid-name """ Initalizes a Home Assistant server and Slave instance. """ global hass, slave, master_api, broken_api hass = ha.HomeAssistant() hass.bus.listen('test_event', lambda _: _) hass.states.set('test.test', 'a_state') http.setup( hass, { http.DOMAIN: { http.CONF_API_PASSWORD: API_PASSWORD, http.CONF_SERVER_PORT: 8122 } }) hass.start() master_api = remote.API("127.0.0.1", API_PASSWORD, 8122) # Start slave slave = remote.HomeAssistant(master_api) slave.start() # Setup API pointing at nothing broken_api = remote.API("127.0.0.1", "", 8125)
def setUpModule(): # pylint: disable=invalid-name """ Initalizes a Home Assistant server and Slave instance. """ global hass, slave, master_api hass = get_test_home_assistant() hass.bus.listen('test_event', lambda _: _) hass.states.set('test.test', 'a_state') bootstrap.setup_component( hass, http.DOMAIN, { http.DOMAIN: { http.CONF_API_PASSWORD: API_PASSWORD, http.CONF_SERVER_PORT: MASTER_PORT } }) bootstrap.setup_component(hass, 'api') hass.start() master_api = remote.API("127.0.0.1", API_PASSWORD, MASTER_PORT) # Start slave slave = remote.HomeAssistant(master_api) bootstrap.setup_component( slave, http.DOMAIN, { http.DOMAIN: { http.CONF_API_PASSWORD: API_PASSWORD, http.CONF_SERVER_PORT: SLAVE_PORT } }) slave.start()
def setUpModule(): # pylint: disable=invalid-name """Initalization of a Home Assistant server and Slave instance.""" global hass, slave, master_api hass = get_test_home_assistant() hass.bus.listen('test_event', lambda _: _) hass.states.set('test.test', 'a_state') bootstrap.setup_component( hass, http.DOMAIN, { http.DOMAIN: { http.CONF_API_PASSWORD: API_PASSWORD, http.CONF_SERVER_PORT: MASTER_PORT } }) bootstrap.setup_component(hass, 'api') hass.start() time.sleep(0.05) 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.config.config_dir = get_test_config_dir() slave.config.skip_pip = True bootstrap.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()
def ensure_slave_started(): """ Ensure a home assistant slave is started. """ ensure_homeassistant_started() if not HAHelper.slave: local_api = remote.API("127.0.0.1", API_PASSWORD, 8124) remote_api = remote.API("127.0.0.1", API_PASSWORD) slave = remote.HomeAssistant(remote_api, local_api) http.setup(slave, {http.DOMAIN: {http.CONF_API_PASSWORD: API_PASSWORD, http.CONF_SERVER_PORT: 8124}}) slave.start() # Give objects time to startup time.sleep(1) HAHelper.slave = slave return HAHelper.slave