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
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

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