mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Remove alert service helper (#17038)
This commit is contained in:
parent
4d471622f6
commit
c3eff5773b
@ -10,7 +10,6 @@ import logging
|
|||||||
|
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.core import callback
|
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_ENTITY_ID, STATE_IDLE, CONF_NAME, CONF_STATE, STATE_ON, STATE_OFF,
|
CONF_ENTITY_ID, STATE_IDLE, CONF_NAME, CONF_STATE, STATE_ON, STATE_OFF,
|
||||||
SERVICE_TURN_ON, SERVICE_TURN_OFF, SERVICE_TOGGLE, ATTR_ENTITY_ID)
|
SERVICE_TURN_ON, SERVICE_TURN_OFF, SERVICE_TOGGLE, ATTR_ENTITY_ID)
|
||||||
@ -59,45 +58,6 @@ def is_on(hass, entity_id):
|
|||||||
return hass.states.is_state(entity_id, STATE_ON)
|
return hass.states.is_state(entity_id, STATE_ON)
|
||||||
|
|
||||||
|
|
||||||
def turn_on(hass, entity_id):
|
|
||||||
"""Reset the alert."""
|
|
||||||
hass.add_job(async_turn_on, hass, entity_id)
|
|
||||||
|
|
||||||
|
|
||||||
@callback
|
|
||||||
def async_turn_on(hass, entity_id):
|
|
||||||
"""Async reset the alert."""
|
|
||||||
data = {ATTR_ENTITY_ID: entity_id}
|
|
||||||
hass.async_create_task(
|
|
||||||
hass.services.async_call(DOMAIN, SERVICE_TURN_ON, data))
|
|
||||||
|
|
||||||
|
|
||||||
def turn_off(hass, entity_id):
|
|
||||||
"""Acknowledge alert."""
|
|
||||||
hass.add_job(async_turn_off, hass, entity_id)
|
|
||||||
|
|
||||||
|
|
||||||
@callback
|
|
||||||
def async_turn_off(hass, entity_id):
|
|
||||||
"""Async acknowledge the alert."""
|
|
||||||
data = {ATTR_ENTITY_ID: entity_id}
|
|
||||||
hass.async_create_task(
|
|
||||||
hass.services.async_call(DOMAIN, SERVICE_TURN_OFF, data))
|
|
||||||
|
|
||||||
|
|
||||||
def toggle(hass, entity_id):
|
|
||||||
"""Toggle acknowledgement of alert."""
|
|
||||||
hass.add_job(async_toggle, hass, entity_id)
|
|
||||||
|
|
||||||
|
|
||||||
@callback
|
|
||||||
def async_toggle(hass, entity_id):
|
|
||||||
"""Async toggle acknowledgement of alert."""
|
|
||||||
data = {ATTR_ENTITY_ID: entity_id}
|
|
||||||
hass.async_create_task(
|
|
||||||
hass.services.async_call(DOMAIN, SERVICE_TOGGLE, data))
|
|
||||||
|
|
||||||
|
|
||||||
async def async_setup(hass, config):
|
async def async_setup(hass, config):
|
||||||
"""Set up the Alert component."""
|
"""Set up the Alert component."""
|
||||||
alerts = config.get(DOMAIN)
|
alerts = config.get(DOMAIN)
|
||||||
|
@ -5,10 +5,12 @@ import unittest
|
|||||||
|
|
||||||
from homeassistant.setup import setup_component
|
from homeassistant.setup import setup_component
|
||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
|
from homeassistant.components.alert import DOMAIN
|
||||||
import homeassistant.components.alert as alert
|
import homeassistant.components.alert as alert
|
||||||
import homeassistant.components.notify as notify
|
import homeassistant.components.notify as notify
|
||||||
from homeassistant.const import (CONF_ENTITY_ID, STATE_IDLE, CONF_NAME,
|
from homeassistant.const import (
|
||||||
CONF_STATE, STATE_ON, STATE_OFF)
|
ATTR_ENTITY_ID, CONF_ENTITY_ID, STATE_IDLE, CONF_NAME, CONF_STATE,
|
||||||
|
SERVICE_TOGGLE, SERVICE_TURN_OFF, SERVICE_TURN_ON, STATE_ON, STATE_OFF)
|
||||||
|
|
||||||
from tests.common import get_test_home_assistant
|
from tests.common import get_test_home_assistant
|
||||||
|
|
||||||
@ -31,6 +33,63 @@ TEST_NOACK = [NAME, NAME, DONE_MESSAGE, "sensor.test",
|
|||||||
ENTITY_ID = alert.ENTITY_ID_FORMAT.format(NAME)
|
ENTITY_ID = alert.ENTITY_ID_FORMAT.format(NAME)
|
||||||
|
|
||||||
|
|
||||||
|
def turn_on(hass, entity_id):
|
||||||
|
"""Reset the alert.
|
||||||
|
|
||||||
|
This is a legacy helper method. Do not use it for new tests.
|
||||||
|
"""
|
||||||
|
hass.add_job(async_turn_on, hass, entity_id)
|
||||||
|
|
||||||
|
|
||||||
|
@callback
|
||||||
|
def async_turn_on(hass, entity_id):
|
||||||
|
"""Async reset the alert.
|
||||||
|
|
||||||
|
This is a legacy helper method. Do not use it for new tests.
|
||||||
|
"""
|
||||||
|
data = {ATTR_ENTITY_ID: entity_id}
|
||||||
|
hass.async_create_task(
|
||||||
|
hass.services.async_call(DOMAIN, SERVICE_TURN_ON, data))
|
||||||
|
|
||||||
|
|
||||||
|
def turn_off(hass, entity_id):
|
||||||
|
"""Acknowledge alert.
|
||||||
|
|
||||||
|
This is a legacy helper method. Do not use it for new tests.
|
||||||
|
"""
|
||||||
|
hass.add_job(async_turn_off, hass, entity_id)
|
||||||
|
|
||||||
|
|
||||||
|
@callback
|
||||||
|
def async_turn_off(hass, entity_id):
|
||||||
|
"""Async acknowledge the alert.
|
||||||
|
|
||||||
|
This is a legacy helper method. Do not use it for new tests.
|
||||||
|
"""
|
||||||
|
data = {ATTR_ENTITY_ID: entity_id}
|
||||||
|
hass.async_create_task(
|
||||||
|
hass.services.async_call(DOMAIN, SERVICE_TURN_OFF, data))
|
||||||
|
|
||||||
|
|
||||||
|
def toggle(hass, entity_id):
|
||||||
|
"""Toggle acknowledgment of alert.
|
||||||
|
|
||||||
|
This is a legacy helper method. Do not use it for new tests.
|
||||||
|
"""
|
||||||
|
hass.add_job(async_toggle, hass, entity_id)
|
||||||
|
|
||||||
|
|
||||||
|
@callback
|
||||||
|
def async_toggle(hass, entity_id):
|
||||||
|
"""Async toggle acknowledgment of alert.
|
||||||
|
|
||||||
|
This is a legacy helper method. Do not use it for new tests.
|
||||||
|
"""
|
||||||
|
data = {ATTR_ENTITY_ID: entity_id}
|
||||||
|
hass.async_create_task(
|
||||||
|
hass.services.async_call(DOMAIN, SERVICE_TOGGLE, data))
|
||||||
|
|
||||||
|
|
||||||
# pylint: disable=invalid-name
|
# pylint: disable=invalid-name
|
||||||
class TestAlert(unittest.TestCase):
|
class TestAlert(unittest.TestCase):
|
||||||
"""Test the alert module."""
|
"""Test the alert module."""
|
||||||
@ -69,7 +128,7 @@ class TestAlert(unittest.TestCase):
|
|||||||
assert setup_component(self.hass, alert.DOMAIN, TEST_CONFIG)
|
assert setup_component(self.hass, alert.DOMAIN, TEST_CONFIG)
|
||||||
self.hass.states.set("sensor.test", STATE_ON)
|
self.hass.states.set("sensor.test", STATE_ON)
|
||||||
self.hass.block_till_done()
|
self.hass.block_till_done()
|
||||||
alert.turn_off(self.hass, ENTITY_ID)
|
turn_off(self.hass, ENTITY_ID)
|
||||||
self.hass.block_till_done()
|
self.hass.block_till_done()
|
||||||
self.assertEqual(STATE_OFF, self.hass.states.get(ENTITY_ID).state)
|
self.assertEqual(STATE_OFF, self.hass.states.get(ENTITY_ID).state)
|
||||||
|
|
||||||
@ -86,10 +145,10 @@ class TestAlert(unittest.TestCase):
|
|||||||
assert setup_component(self.hass, alert.DOMAIN, TEST_CONFIG)
|
assert setup_component(self.hass, alert.DOMAIN, TEST_CONFIG)
|
||||||
self.hass.states.set("sensor.test", STATE_ON)
|
self.hass.states.set("sensor.test", STATE_ON)
|
||||||
self.hass.block_till_done()
|
self.hass.block_till_done()
|
||||||
alert.turn_off(self.hass, ENTITY_ID)
|
turn_off(self.hass, ENTITY_ID)
|
||||||
self.hass.block_till_done()
|
self.hass.block_till_done()
|
||||||
self.assertEqual(STATE_OFF, self.hass.states.get(ENTITY_ID).state)
|
self.assertEqual(STATE_OFF, self.hass.states.get(ENTITY_ID).state)
|
||||||
alert.turn_on(self.hass, ENTITY_ID)
|
turn_on(self.hass, ENTITY_ID)
|
||||||
self.hass.block_till_done()
|
self.hass.block_till_done()
|
||||||
self.assertEqual(STATE_ON, self.hass.states.get(ENTITY_ID).state)
|
self.assertEqual(STATE_ON, self.hass.states.get(ENTITY_ID).state)
|
||||||
|
|
||||||
@ -99,10 +158,10 @@ class TestAlert(unittest.TestCase):
|
|||||||
self.hass.states.set("sensor.test", STATE_ON)
|
self.hass.states.set("sensor.test", STATE_ON)
|
||||||
self.hass.block_till_done()
|
self.hass.block_till_done()
|
||||||
self.assertEqual(STATE_ON, self.hass.states.get(ENTITY_ID).state)
|
self.assertEqual(STATE_ON, self.hass.states.get(ENTITY_ID).state)
|
||||||
alert.toggle(self.hass, ENTITY_ID)
|
toggle(self.hass, ENTITY_ID)
|
||||||
self.hass.block_till_done()
|
self.hass.block_till_done()
|
||||||
self.assertEqual(STATE_OFF, self.hass.states.get(ENTITY_ID).state)
|
self.assertEqual(STATE_OFF, self.hass.states.get(ENTITY_ID).state)
|
||||||
alert.toggle(self.hass, ENTITY_ID)
|
toggle(self.hass, ENTITY_ID)
|
||||||
self.hass.block_till_done()
|
self.hass.block_till_done()
|
||||||
self.assertEqual(STATE_ON, self.hass.states.get(ENTITY_ID).state)
|
self.assertEqual(STATE_ON, self.hass.states.get(ENTITY_ID).state)
|
||||||
|
|
||||||
@ -117,7 +176,7 @@ class TestAlert(unittest.TestCase):
|
|||||||
hidden = self.hass.states.get(ENTITY_ID).attributes.get('hidden')
|
hidden = self.hass.states.get(ENTITY_ID).attributes.get('hidden')
|
||||||
self.assertFalse(hidden)
|
self.assertFalse(hidden)
|
||||||
|
|
||||||
alert.turn_off(self.hass, ENTITY_ID)
|
turn_off(self.hass, ENTITY_ID)
|
||||||
hidden = self.hass.states.get(ENTITY_ID).attributes.get('hidden')
|
hidden = self.hass.states.get(ENTITY_ID).attributes.get('hidden')
|
||||||
self.assertFalse(hidden)
|
self.assertFalse(hidden)
|
||||||
|
|
||||||
@ -199,7 +258,7 @@ class TestAlert(unittest.TestCase):
|
|||||||
self.assertEqual(True, entity.hidden)
|
self.assertEqual(True, entity.hidden)
|
||||||
|
|
||||||
def test_done_message_state_tracker_reset_on_cancel(self):
|
def test_done_message_state_tracker_reset_on_cancel(self):
|
||||||
"""Test that the done message is reset when cancelled."""
|
"""Test that the done message is reset when canceled."""
|
||||||
entity = alert.Alert(self.hass, *TEST_NOACK)
|
entity = alert.Alert(self.hass, *TEST_NOACK)
|
||||||
entity._cancel = lambda *args: None
|
entity._cancel = lambda *args: None
|
||||||
assert entity._send_done_message is False
|
assert entity._send_done_message is False
|
||||||
|
Loading…
x
Reference in New Issue
Block a user