Fix calling empty script turn off (#24827)
parent
fafc68673a
commit
2886b217ab
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue