Fix calling empty script turn off (#24827)

pull/24828/head
Paulus Schoutsen 2019-06-28 08:49:33 -07:00
parent fafc68673a
commit 2886b217ab
2 changed files with 16 additions and 1 deletions

View File

@ -79,9 +79,14 @@ async def async_setup(hass, config):
async def turn_off_service(service):
"""Cancel a script."""
# Stopping a script is ok to be done in parallel
scripts = await component.async_extract_from_service(service)
if not scripts:
return
await asyncio.wait([
script.async_turn_off() for script
in await component.async_extract_from_service(service)
in scripts
])
async def toggle_service(service):

View File

@ -322,3 +322,13 @@ async def test_logging_script_error(hass, caplog):
assert err.value.domain == 'non'
assert err.value.service == 'existing'
assert 'Error executing script' in caplog.text
async def test_turning_no_scripts_off(hass):
"""Test it is possible to turn two scripts off."""
assert await async_setup_component(hass, 'script', {})
# Testing it doesn't raise
await hass.services.async_call(
DOMAIN, SERVICE_TURN_OFF, {'entity_id': []}, blocking=True
)