mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-12 10:11:52 +00:00
Update pydantic to V2 (#1202)
* Update pydantic, fix errors and warnings (all?) * Fixed typehints * Reformat code, removed unused imports * Fixed typing extensions version compatibility * Fixed coverage * Describe changes * Regen code
This commit is contained in:
parent
066d16b522
commit
461e59bbdd
182 changed files with 385 additions and 485 deletions
|
|
@ -1,7 +1,7 @@
|
|||
import datetime
|
||||
|
||||
from aiogram.methods import Request, SendMessage
|
||||
from aiogram.types import Chat, ForceReply, Message
|
||||
from aiogram.types import Chat, ForceReply, Message, ReplyKeyboardRemove
|
||||
from tests.mocked_bot import MockedBot
|
||||
|
||||
|
||||
|
|
@ -24,5 +24,11 @@ class TestSendMessage:
|
|||
|
||||
async def test_force_reply(self):
|
||||
# https://github.com/aiogram/aiogram/issues/901
|
||||
print("::::", SendMessage.__pydantic_core_schema__)
|
||||
method = SendMessage(text="test", chat_id=42, reply_markup=ForceReply())
|
||||
assert isinstance(method.reply_markup, ForceReply)
|
||||
|
||||
async def test_reply_keyboard_remove(self):
|
||||
# https://github.com/aiogram/aiogram/issues/901
|
||||
method = SendMessage(text="test", chat_id=42, reply_markup=ReplyKeyboardRemove())
|
||||
assert isinstance(method.reply_markup, ReplyKeyboardRemove)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,16 @@ from aiogram.filters.chat_member_updated import (
|
|||
_MemberStatusMarker,
|
||||
_MemberStatusTransition,
|
||||
)
|
||||
from aiogram.types import Chat, ChatMember, ChatMemberUpdated, User
|
||||
from aiogram.types import (
|
||||
Chat,
|
||||
ChatMember,
|
||||
ChatMemberAdministrator,
|
||||
ChatMemberLeft,
|
||||
ChatMemberMember,
|
||||
ChatMemberRestricted,
|
||||
ChatMemberUpdated,
|
||||
User,
|
||||
)
|
||||
|
||||
|
||||
class TestMemberStatusMarker:
|
||||
|
|
@ -267,84 +276,91 @@ class TestMemberStatusTransition:
|
|||
|
||||
|
||||
class TestChatMemberUpdatedStatusFilter:
|
||||
USER = User(id=42, first_name="Test", is_bot=False)
|
||||
PARAMS = {
|
||||
"user": USER,
|
||||
"until_date": datetime.now(),
|
||||
"is_anonymous": True,
|
||||
"custom_title": "title",
|
||||
"can_be_edited": True,
|
||||
"can_manage_chat": True,
|
||||
"can_delete_messages": True,
|
||||
"can_manage_video_chats": True,
|
||||
"can_restrict_members": True,
|
||||
"can_promote_members": True,
|
||||
"can_change_info": True,
|
||||
"can_invite_users": True,
|
||||
"can_post_messages": True,
|
||||
"can_edit_messages": True,
|
||||
"can_pin_messages": True,
|
||||
"can_manage_topics": True,
|
||||
"can_send_messages": True,
|
||||
"can_send_audios": True,
|
||||
"can_send_documents": True,
|
||||
"can_send_photos": True,
|
||||
"can_send_videos": True,
|
||||
"can_send_video_notes": True,
|
||||
"can_send_voice_notes": True,
|
||||
"can_send_polls": True,
|
||||
"can_send_other_messages": True,
|
||||
"can_add_web_page_previews": True,
|
||||
}
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"transition,old,new,result",
|
||||
[
|
||||
[JOIN_TRANSITION, ChatMember(status="left"), ChatMember(status="member"), True],
|
||||
[
|
||||
JOIN_TRANSITION,
|
||||
ChatMember(status="restricted", is_member=True),
|
||||
ChatMember(status="member"),
|
||||
False,
|
||||
],
|
||||
[
|
||||
JOIN_TRANSITION,
|
||||
ChatMember(status="restricted", is_member=False),
|
||||
ChatMember(status="member"),
|
||||
ChatMemberLeft(status="left", **PARAMS),
|
||||
ChatMemberMember(status="member", **PARAMS),
|
||||
True,
|
||||
],
|
||||
[
|
||||
JOIN_TRANSITION,
|
||||
ChatMember(status="member"),
|
||||
ChatMember(status="restricted", is_member=False),
|
||||
ChatMemberRestricted(status="restricted", is_member=True, **PARAMS),
|
||||
ChatMemberMember(status="member", **PARAMS),
|
||||
False,
|
||||
],
|
||||
[
|
||||
JOIN_TRANSITION,
|
||||
ChatMemberRestricted(status="restricted", is_member=False, **PARAMS),
|
||||
ChatMemberMember(status="member", **PARAMS),
|
||||
True,
|
||||
],
|
||||
[
|
||||
JOIN_TRANSITION,
|
||||
ChatMemberMember(status="member", **PARAMS),
|
||||
ChatMemberRestricted(status="restricted", is_member=False, **PARAMS),
|
||||
False,
|
||||
],
|
||||
[
|
||||
LEAVE_TRANSITION,
|
||||
ChatMember(status="member"),
|
||||
ChatMember(status="restricted", is_member=False),
|
||||
ChatMemberMember(status="member", **PARAMS),
|
||||
ChatMemberRestricted(status="restricted", is_member=False, **PARAMS),
|
||||
True,
|
||||
],
|
||||
[
|
||||
ADMINISTRATOR,
|
||||
ChatMember(status="member"),
|
||||
ChatMember(status="administrator"),
|
||||
ChatMemberMember(status="member", **PARAMS),
|
||||
ChatMemberAdministrator(status="administrator", **PARAMS),
|
||||
True,
|
||||
],
|
||||
[
|
||||
IS_MEMBER,
|
||||
ChatMember(status="restricted", is_member=False),
|
||||
ChatMember(status="member"),
|
||||
ChatMemberRestricted(status="restricted", is_member=False, **PARAMS),
|
||||
ChatMemberMember(status="member", **PARAMS),
|
||||
True,
|
||||
],
|
||||
],
|
||||
)
|
||||
async def test_call(self, transition, old, new, result):
|
||||
updated_filter = ChatMemberUpdatedFilter(member_status_changed=transition)
|
||||
user = User(id=42, first_name="Test", is_bot=False)
|
||||
update = {
|
||||
"user": user,
|
||||
"until_date": datetime.now(),
|
||||
"is_anonymous": True,
|
||||
"custom_title": True,
|
||||
"can_be_edited": True,
|
||||
"can_manage_chat": True,
|
||||
"can_delete_messages": True,
|
||||
"can_manage_video_chats": True,
|
||||
"can_restrict_members": True,
|
||||
"can_promote_members": True,
|
||||
"can_change_info": True,
|
||||
"can_invite_users": True,
|
||||
"can_post_messages": True,
|
||||
"can_edit_messages": True,
|
||||
"can_pin_messages": True,
|
||||
"can_manage_topics": True,
|
||||
"can_send_messages": True,
|
||||
"can_send_audios": True,
|
||||
"can_send_documents": True,
|
||||
"can_send_photos": True,
|
||||
"can_send_videos": True,
|
||||
"can_send_video_notes": True,
|
||||
"can_send_voice_notes": True,
|
||||
"can_send_polls": True,
|
||||
"can_send_other_messages": True,
|
||||
"can_add_web_page_previews": True,
|
||||
}
|
||||
|
||||
event = ChatMemberUpdated(
|
||||
chat=Chat(id=42, type="test"),
|
||||
from_user=user,
|
||||
old_chat_member=old.copy(update=update),
|
||||
new_chat_member=new.copy(update=update),
|
||||
from_user=self.USER,
|
||||
old_chat_member=old,
|
||||
new_chat_member=new,
|
||||
date=datetime.now(),
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue