mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-12 10:11:52 +00:00
Remove awaitable checks from TestObserver
This commit is contained in:
parent
fd6e78ddf7
commit
55f6c29ba6
3 changed files with 54 additions and 3 deletions
2
Makefile
2
Makefile
|
|
@ -98,7 +98,7 @@ lint: isort black flake8 mypy
|
|||
|
||||
.PHONY: test
|
||||
test:
|
||||
$(py) pytest --cov=aiogram --cov-config .coveragerc
|
||||
$(py) pytest --cov=aiogram --cov-config .coveragerc -p no:warnings tests/
|
||||
|
||||
.PHONY: test-coverage
|
||||
test-coverage:
|
||||
|
|
|
|||
53
experiment.py
Normal file
53
experiment.py
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
import asyncio
|
||||
import os
|
||||
from typing import Any, Dict, Union
|
||||
|
||||
from aiogram import Bot, types
|
||||
from aiogram.api.types import Update
|
||||
from aiogram.dispatcher.dispatcher import Dispatcher
|
||||
from aiogram.dispatcher.filters.base import BaseFilter
|
||||
from aiogram.dispatcher.router import Router
|
||||
|
||||
TELEGRAM_TOKEN = os.getenv("TELEGRAM_TOKEN")
|
||||
|
||||
|
||||
class Text(BaseFilter):
|
||||
text: str
|
||||
|
||||
async def __call__(self, obj: types.Message) -> Union[bool, Dict[str, Any]]:
|
||||
if obj.text == self.text:
|
||||
return {"text": self.text}
|
||||
|
||||
|
||||
dp = Dispatcher()
|
||||
router2 = Router()
|
||||
router3 = Router()
|
||||
dp.include_router(router2)
|
||||
router2.include_router(router3)
|
||||
dp.message_handler.bind_filter(Text)
|
||||
|
||||
|
||||
@dp.message_handler(text="1")
|
||||
async def message_handler_1(message: types.Message, bot: Bot):
|
||||
await bot.send_message(chat_id=message.from_user.id, text="PASS: 1")
|
||||
|
||||
|
||||
@router2.message_handler(text="2")
|
||||
async def message_handler_2(message: types.Message, bot: Bot, text: str):
|
||||
await bot.send_message(chat_id=message.from_user.id, text=f"PASS: {text}")
|
||||
|
||||
|
||||
@router3.message_handler(text="3")
|
||||
async def message_handler_3(message: types.Message, event_update: Update, bot: Bot):
|
||||
await bot.send_message(
|
||||
chat_id=message.from_user.id, text=event_update.json(skip_defaults=True, by_alias=True)
|
||||
)
|
||||
|
||||
|
||||
async def main():
|
||||
async with Bot(TELEGRAM_TOKEN) as bot:
|
||||
await dp.polling(bot=bot)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
|
|
@ -43,7 +43,6 @@ class TestEventObserver:
|
|||
assert len(observer.handlers) == index + 1
|
||||
assert isinstance(registered_handler, HandlerObject)
|
||||
assert registered_handler.callback == wrapped_handler
|
||||
assert registered_handler.awaitable
|
||||
assert len(registered_handler.filters) == len(filters)
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
|
|
@ -69,7 +68,6 @@ class TestEventObserver:
|
|||
assert len(observer.handlers) == index + 1
|
||||
assert isinstance(registered_handler, HandlerObject)
|
||||
assert registered_handler.callback == wrapped_handler
|
||||
assert registered_handler.awaitable
|
||||
assert len(registered_handler.filters) == len(filters)
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue