Add notify demo data test

pull/2776/head
Paulus Schoutsen 2016-08-09 20:23:57 -07:00
parent 492ade7b1a
commit 6bb6a6ebe9
3 changed files with 24 additions and 7 deletions

View File

@ -44,16 +44,19 @@ NOTIFY_SERVICE_SCHEMA = vol.Schema({
_LOGGER = logging.getLogger(__name__)
def send_message(hass, message, title=None):
def send_message(hass, message, title=None, data=None):
"""Send a notification message."""
data = {
info = {
ATTR_MESSAGE: message
}
if title is not None:
data[ATTR_TITLE] = title
info[ATTR_TITLE] = title
hass.services.call(DOMAIN, SERVICE_NOTIFY, data)
if data is not None:
info[ATTR_DATA] = data
hass.services.call(DOMAIN, SERVICE_NOTIFY, info)
def setup(hass, config):

View File

@ -4,7 +4,7 @@ Demo notification service.
For more details about this platform, please refer to the documentation
https://home-assistant.io/components/demo/
"""
from homeassistant.components.notify import ATTR_TITLE, BaseNotificationService
from homeassistant.components.notify import BaseNotificationService
EVENT_NOTIFY = "notify"
@ -24,5 +24,5 @@ class DemoNotificationService(BaseNotificationService):
def send_message(self, message="", **kwargs):
"""Send a message to a user."""
title = kwargs.get(ATTR_TITLE)
self.hass.bus.fire(EVENT_NOTIFY, {"title": title, "message": message})
kwargs['message'] = message
self.hass.bus.fire(EVENT_NOTIFY, kwargs)

View File

@ -45,3 +45,17 @@ class TestNotifyDemo(unittest.TestCase):
last_event = self.events[-1]
self.assertEqual(last_event.data[notify.ATTR_TITLE], 'temperature')
self.assertEqual(last_event.data[notify.ATTR_MESSAGE], '10')
def test_method_forwards_correct_data(self):
"""Test that all data from the service gets forwarded to service."""
notify.send_message(self.hass, 'my message', 'my title',
{'hello': 'world'})
self.hass.pool.block_till_done()
self.assertTrue(len(self.events) == 1)
data = self.events[0].data
assert {
'message': 'my message',
'target': None,
'title': 'my title',
'data': {'hello': 'world'}
} == data