mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
ps - strip entity IDs in service call
This commit is contained in:
parent
825c91f0c3
commit
12b5caed70
@ -30,7 +30,8 @@ def call_from_config(hass, config, blocking=False):
|
|||||||
|
|
||||||
entity_id = config.get(CONF_SERVICE_ENTITY_ID)
|
entity_id = config.get(CONF_SERVICE_ENTITY_ID)
|
||||||
if isinstance(entity_id, str):
|
if isinstance(entity_id, str):
|
||||||
service_data[ATTR_ENTITY_ID] = entity_id.split(",")
|
service_data[ATTR_ENTITY_ID] = [ent.strip() for ent in
|
||||||
|
entity_id.split(",")]
|
||||||
elif entity_id is not None:
|
elif entity_id is not None:
|
||||||
service_data[ATTR_ENTITY_ID] = entity_id
|
service_data[ATTR_ENTITY_ID] = entity_id
|
||||||
|
|
||||||
|
39
tests/helpers/test_service.py
Normal file
39
tests/helpers/test_service.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
"""
|
||||||
|
tests.helpers.test_service
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Test service helpers.
|
||||||
|
"""
|
||||||
|
from datetime import timedelta
|
||||||
|
import unittest
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
import homeassistant.core as ha
|
||||||
|
from homeassistant.const import SERVICE_TURN_ON
|
||||||
|
from homeassistant.helpers import service
|
||||||
|
|
||||||
|
from tests.common import get_test_home_assistant, mock_service
|
||||||
|
|
||||||
|
|
||||||
|
class TestServiceHelpers(unittest.TestCase):
|
||||||
|
"""
|
||||||
|
Tests the Home Assistant service helpers.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setUp(self): # pylint: disable=invalid-name
|
||||||
|
""" things to be run when tests are started. """
|
||||||
|
self.hass = get_test_home_assistant()
|
||||||
|
self.calls = mock_service(self.hass, 'test_domain', 'test_service')
|
||||||
|
|
||||||
|
def tearDown(self): # pylint: disable=invalid-name
|
||||||
|
""" Stop down stuff we started. """
|
||||||
|
self.hass.stop()
|
||||||
|
|
||||||
|
def test_split_entity_string(self):
|
||||||
|
service.call_from_config(self.hass, {
|
||||||
|
'service': 'test_domain.test_service',
|
||||||
|
'entity_id': 'hello.world, sensor.beer'
|
||||||
|
})
|
||||||
|
self.hass.pool.block_till_done()
|
||||||
|
self.assertEqual(['hello.world', 'sensor.beer'],
|
||||||
|
self.calls[-1].data.get('entity_id'))
|
Loading…
x
Reference in New Issue
Block a user