mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-12 18:19:34 +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
|
.PHONY: test
|
||||||
test:
|
test:
|
||||||
$(py) pytest --cov=aiogram --cov-config .coveragerc
|
$(py) pytest --cov=aiogram --cov-config .coveragerc -p no:warnings tests/
|
||||||
|
|
||||||
.PHONY: test-coverage
|
.PHONY: test-coverage
|
||||||
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 len(observer.handlers) == index + 1
|
||||||
assert isinstance(registered_handler, HandlerObject)
|
assert isinstance(registered_handler, HandlerObject)
|
||||||
assert registered_handler.callback == wrapped_handler
|
assert registered_handler.callback == wrapped_handler
|
||||||
assert registered_handler.awaitable
|
|
||||||
assert len(registered_handler.filters) == len(filters)
|
assert len(registered_handler.filters) == len(filters)
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
|
@ -69,7 +68,6 @@ class TestEventObserver:
|
||||||
assert len(observer.handlers) == index + 1
|
assert len(observer.handlers) == index + 1
|
||||||
assert isinstance(registered_handler, HandlerObject)
|
assert isinstance(registered_handler, HandlerObject)
|
||||||
assert registered_handler.callback == wrapped_handler
|
assert registered_handler.callback == wrapped_handler
|
||||||
assert registered_handler.awaitable
|
|
||||||
assert len(registered_handler.filters) == len(filters)
|
assert len(registered_handler.filters) == len(filters)
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue