mirror of https://github.com/home-assistant/core
67 lines
2.1 KiB
Python
67 lines
2.1 KiB
Python
"""Tests for alexa."""
|
|
|
|
from homeassistant.components.alexa.const import EVENT_ALEXA_SMART_HOME
|
|
from homeassistant.core import HomeAssistant
|
|
from homeassistant.setup import async_setup_component
|
|
|
|
from tests.components.logbook.common import MockRow, mock_humanify
|
|
|
|
|
|
async def test_humanify_alexa_event(hass: HomeAssistant) -> None:
|
|
"""Test humanifying Alexa event."""
|
|
hass.config.components.add("recorder")
|
|
await async_setup_component(hass, "alexa", {})
|
|
await async_setup_component(hass, "logbook", {})
|
|
await hass.async_block_till_done()
|
|
hass.states.async_set("light.kitchen", "on", {"friendly_name": "Kitchen Light"})
|
|
|
|
results = mock_humanify(
|
|
hass,
|
|
[
|
|
MockRow(
|
|
EVENT_ALEXA_SMART_HOME,
|
|
{"request": {"namespace": "Alexa.Discovery", "name": "Discover"}},
|
|
),
|
|
MockRow(
|
|
EVENT_ALEXA_SMART_HOME,
|
|
{
|
|
"request": {
|
|
"namespace": "Alexa.PowerController",
|
|
"name": "TurnOn",
|
|
"entity_id": "light.kitchen",
|
|
}
|
|
},
|
|
),
|
|
MockRow(
|
|
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"] == "sent command Alexa.Discovery/Discover"
|
|
assert event1["entity_id"] is None
|
|
|
|
assert event2["name"] == "Amazon Alexa"
|
|
assert (
|
|
event2["message"]
|
|
== "sent command Alexa.PowerController/TurnOn for Kitchen Light"
|
|
)
|
|
assert event2["entity_id"] == "light.kitchen"
|
|
|
|
assert event3["name"] == "Amazon Alexa"
|
|
assert (
|
|
event3["message"]
|
|
== "sent command Alexa.PowerController/TurnOn for light.non_existing"
|
|
)
|
|
assert event3["entity_id"] == "light.non_existing"
|