64 lines
2.1 KiB
Python
64 lines
2.1 KiB
Python
|
"""Tests for alexa."""
|
||
|
from homeassistant.components import logbook
|
||
|
from homeassistant.components.alexa.const import EVENT_ALEXA_SMART_HOME
|
||
|
import homeassistant.core as ha
|
||
|
from homeassistant.setup import async_setup_component
|
||
|
|
||
|
|
||
|
async def test_humanify_alexa_event(hass):
|
||
|
"""Test humanifying Alexa event."""
|
||
|
await async_setup_component(hass, "alexa", {})
|
||
|
hass.states.async_set("light.kitchen", "on", {"friendly_name": "Kitchen Light"})
|
||
|
|
||
|
results = list(
|
||
|
logbook.humanify(
|
||
|
hass,
|
||
|
[
|
||
|
ha.Event(
|
||
|
EVENT_ALEXA_SMART_HOME,
|
||
|
{"request": {"namespace": "Alexa.Discovery", "name": "Discover"}},
|
||
|
),
|
||
|
ha.Event(
|
||
|
EVENT_ALEXA_SMART_HOME,
|
||
|
{
|
||
|
"request": {
|
||
|
"namespace": "Alexa.PowerController",
|
||
|
"name": "TurnOn",
|
||
|
"entity_id": "light.kitchen",
|
||
|
}
|
||
|
},
|
||
|
),
|
||
|
ha.Event(
|
||
|
EVENT_ALEXA_SMART_HOME,
|
||
|
{
|
||
|
"request": {
|
||
|
"namespace": "Alexa.PowerController",
|
||
|
"name": "TurnOn",
|
||
|
"entity_id": "light.non_existing",
|
||
|
}
|
||
|
},
|
||
|
),
|
||
|
],
|
||
|
)
|
||
|
)
|
||
|
|
||
|
event1, event2, event3 = results
|
||
|
|
||
|
assert event1["name"] == "Amazon Alexa"
|
||
|
assert event1["message"] == "send command Alexa.Discovery/Discover"
|
||
|
assert event1["entity_id"] is None
|
||
|
|
||
|
assert event2["name"] == "Amazon Alexa"
|
||
|
assert (
|
||
|
event2["message"]
|
||
|
== "send command Alexa.PowerController/TurnOn for Kitchen Light"
|
||
|
)
|
||
|
assert event2["entity_id"] == "light.kitchen"
|
||
|
|
||
|
assert event3["name"] == "Amazon Alexa"
|
||
|
assert (
|
||
|
event3["message"]
|
||
|
== "send command Alexa.PowerController/TurnOn for light.non_existing"
|
||
|
)
|
||
|
assert event3["entity_id"] == "light.non_existing"
|