mirror of https://github.com/home-assistant/core
47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
"""Discord notification test helpers."""
|
|
|
|
from http import HTTPStatus
|
|
|
|
import pytest
|
|
|
|
from homeassistant.components.discord.notify import DiscordNotificationService
|
|
from homeassistant.core import HomeAssistant
|
|
|
|
from tests.test_util.aiohttp import AiohttpClientMocker
|
|
|
|
MESSAGE = "Testing Discord Messenger platform"
|
|
CONTENT = b"TestContent"
|
|
URL_ATTACHMENT = "http://127.0.0.1:8080/image.jpg"
|
|
TARGET = "1234567890"
|
|
|
|
|
|
@pytest.fixture
|
|
def discord_notification_service(hass: HomeAssistant) -> DiscordNotificationService:
|
|
"""Set up discord notification service."""
|
|
hass.config.allowlist_external_urls.add(URL_ATTACHMENT)
|
|
return DiscordNotificationService(hass, "token")
|
|
|
|
|
|
@pytest.fixture
|
|
def discord_aiohttp_mock_factory(
|
|
aioclient_mock: AiohttpClientMocker,
|
|
) -> AiohttpClientMocker:
|
|
"""Create Discord service mock from factory."""
|
|
|
|
def _discord_aiohttp_mock_factory(
|
|
headers: dict[str, str] | None = None,
|
|
) -> AiohttpClientMocker:
|
|
if headers is not None:
|
|
aioclient_mock.get(
|
|
URL_ATTACHMENT, status=HTTPStatus.OK, content=CONTENT, headers=headers
|
|
)
|
|
else:
|
|
aioclient_mock.get(
|
|
URL_ATTACHMENT,
|
|
status=HTTPStatus.OK,
|
|
content=CONTENT,
|
|
)
|
|
return aioclient_mock
|
|
|
|
return _discord_aiohttp_mock_factory
|