Add service schema tests for notify entity platform (#115457)
* Add service schema tests for notify entity platform * Use correct entity * Assert on exception value
This commit is contained in:
parent
f3a3e6821b
commit
a213de3db5
1 changed files with 22 additions and 0 deletions
|
@ -7,6 +7,7 @@ from typing import Any
|
||||||
from unittest.mock import MagicMock, Mock, patch
|
from unittest.mock import MagicMock, Mock, patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import voluptuous as vol
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
from homeassistant import config as hass_config
|
from homeassistant import config as hass_config
|
||||||
|
@ -120,6 +121,27 @@ async def test_send_message_service(
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
entity.send_message_mock_calls.assert_called_once()
|
entity.send_message_mock_calls.assert_called_once()
|
||||||
|
entity.send_message_mock_calls.reset_mock()
|
||||||
|
|
||||||
|
# Test schema: `None` message fails
|
||||||
|
with pytest.raises(vol.Invalid) as exc:
|
||||||
|
await hass.services.async_call(
|
||||||
|
notify.DOMAIN,
|
||||||
|
notify.SERVICE_SEND_MESSAGE,
|
||||||
|
{"entity_id": "notify.test", notify.ATTR_MESSAGE: None},
|
||||||
|
)
|
||||||
|
assert (
|
||||||
|
str(exc.value) == "string value is None for dictionary value @ data['message']"
|
||||||
|
)
|
||||||
|
entity.send_message_mock_calls.assert_not_called()
|
||||||
|
|
||||||
|
# Test schema: No message fails
|
||||||
|
with pytest.raises(vol.Invalid) as exc:
|
||||||
|
await hass.services.async_call(
|
||||||
|
notify.DOMAIN, notify.SERVICE_SEND_MESSAGE, {"entity_id": "notify.test"}
|
||||||
|
)
|
||||||
|
assert str(exc.value) == "required key not provided @ data['message']"
|
||||||
|
entity.send_message_mock_calls.assert_not_called()
|
||||||
|
|
||||||
# Test unloading the entry succeeds
|
# Test unloading the entry succeeds
|
||||||
assert await hass.config_entries.async_unload(config_entry.entry_id)
|
assert await hass.config_entries.async_unload(config_entry.entry_id)
|
||||||
|
|
Loading…
Add table
Reference in a new issue