def chat_created_message(host, bot_id): builder = MessageBuilder() builder.bot_id = bot_id builder.command_data = ChatCreatedEvent( group_chat_id=builder.user.group_chat_id, chat_type=builder.user.chat_type, name="chat", creator=builder.user.user_huid, members=[ UserInChatCreated( huid=builder.user.user_huid, user_kind=UserKinds.user, name=builder.user.username, admin=True, ), UserInChatCreated( huid=builder.bot_id, user_kind=UserKinds.bot, name="bot", admin=False, ), ], ) builder.user.user_huid = None builder.user.ad_login = None builder.user.ad_domain = None builder.user.username = None builder.body = "system:chat_created" builder.system_command = True return builder.message
async def test_hello_format(bot: Bot, builder: MessageBuilder, client: TestClient) -> None: builder.body = "/hello" await client.send_command(builder.message) command_result = client.command_results[0] assert command_result.result.body == f"Hello, {builder.user.username}"
def test_error_when_chat_validation_not_passed(include_param): user_params = {"user_huid", "ad_login", "ad_domain", "username"} builder = MessageBuilder() builder.body = "system:chat_created" builder.user = builder.user.copy( update={param: None for param in user_params - {include_param}}, ) builder.command_data = { "group_chat_id": uuid.uuid4(), "chat_type": "group_chat", "name": "", "creator": uuid.uuid4(), "members": [], } with pytest.raises(ValidationError): builder.system_command = True
def test_file_transfer_event(): builder = MessageBuilder() builder.file = File.from_string("some data", "name.txt") builder.body = "file_transfer" builder.system_command = True
def test_error_when_file_validation_not_passed(): builder = MessageBuilder() builder.body = "file_transfer" with pytest.raises(ValidationError): builder.system_command = True