Fix telegram_bot tests for Python 3.13 (#127293)

This commit is contained in:
Marc Mueller
2024-10-02 14:15:01 +02:00
committed by GitHub
parent 2fdde24024
commit ea115e0481

View File

@ -6,7 +6,7 @@ from typing import Any
from unittest.mock import patch from unittest.mock import patch
import pytest import pytest
from telegram import Chat, Message, User from telegram import Bot, Chat, Message, User
from telegram.constants import ChatType from telegram.constants import ChatType
from homeassistant.components.telegram_bot import ( from homeassistant.components.telegram_bot import (
@ -89,23 +89,22 @@ def mock_external_calls() -> Generator[None]:
date=datetime.now(), date=datetime.now(),
chat=Chat(id=123456, type=ChatType.PRIVATE), chat=Chat(id=123456, type=ChatType.PRIVATE),
) )
class BotMock(Bot):
"""Mock bot class."""
__slots__ = ()
def __init__(self, *args: Any, **kwargs: Any) -> None:
"""Initialize BotMock instance."""
super().__init__(*args, **kwargs)
self._bot_user = test_user
with ( with (
patch( patch("homeassistant.components.telegram_bot.Bot", BotMock),
"telegram.Bot.get_me", patch.object(BotMock, "get_me", return_value=test_user),
return_value=test_user, patch.object(BotMock, "bot", test_user),
), patch.object(BotMock, "send_message", return_value=message),
patch(
"telegram.Bot._bot_user",
test_user,
),
patch(
"telegram.Bot.bot",
test_user,
),
patch(
"telegram.Bot.send_message",
return_value=message,
),
patch("telegram.ext.Updater._bootstrap"), patch("telegram.ext.Updater._bootstrap"),
): ):
yield yield