8000 Fix "notify.events" trim() issue + add initial tests by spacegaier · Pull Request #48928 · home-assistant/core · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Fix "notify.events" trim() issue + add initial tests #48928

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 9, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions homeassistant/components/notify_events/notify.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,12 +116,9 @@ def prepare_message(self, message, data) -> Message:

def send_message(self, message, **kwargs):
"""Send a message."""
token = self.token
data = kwargs.get(ATTR_DATA) or {}
token = data.get(ATTR_TOKEN, self.token)

msg = self.prepare_message(message, data)

if data.get(ATTR_TOKEN, "").trim():
token = data[ATTR_TOKEN]

msg.send(token)
3 changes: 3 additions & 0 deletions requirements_test_all.txt
Original file line number Diff line number Diff line change
Expand Up @@ -532,6 +532,9 @@ netdisco==2.8.2
# homeassistant.components.nexia
nexia==0.9.5

# homeassistant.components.notify_events
notify-events==1.0.4

# homeassistant.components.nsw_fuel_station
nsw-fuel-api-client==1.0.10

Expand Down
1 change: 1 addition & 0 deletions tests/components/notify_events/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Tests for the notify_events integration."""
12 changes: 12 additions & 0 deletions tests/components/notify_events/test_init.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
"""The tests for notify_events."""
from homeassistant.components.notify_events.const import DOMAIN
from homeassistant.setup import async_setup_component


async def test_setup(hass):
"""Test setup of the integration."""
config = {"notify_events": {"token": "ABC"}}
assert await async_setup_component(hass, DOMAIN, config)
await hass.async_block_till_done()

assert DOMAIN in hass.data
38 changes: 38 additions & 0 deletions tests/components/notify_events/test_notify.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
"""The tests for notify_events."""
from homeassistant.components.notify import ATTR_DATA, ATTR_MESSAGE, DOMAIN
from homeassistant.components.notify_events.notify import (
ATTR_LEVEL,
ATTR_PRIORITY,
ATTR_TOKEN,
)

from tests.common import async_mock_service


async def test_send_msg(hass):
"""Test notify.events service."""
notify_calls = async_mock_service(hass, DOMAIN, "events")

await hass.services.async_call(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just testing the mock service we registered above. We're not testing the integration.

DOMAIN,
"events",
{
ATTR_MESSAGE: "message content",
ATTR_DATA: {
ATTR_TOKEN: "XYZ",
ATTR_LEVEL: "warning",
ATTR_PRIORITY: "high",
},
},
blocking=True,
)

assert len(notify_calls) == 1
call = notify_calls[-1]

assert call.domain == DOMAIN
assert call.service == "events"
assert call.data.get(ATTR_MESSAGE) == "message content"
assert call.data.get(ATTR_DATA).get(ATTR_TOKEN) == "XYZ"
assert call.data.get(ATTR_DATA).get(ATTR_LEVEL) == "warning"
assert call.data.get(ATTR_DATA).get(ATTR_PRIORITY) == "high"
0