def sending_message() -> SendingMessage: return SendingMessage( text="text", file=File.from_string(b"data", filename="file.txt"), credentials=SendingCredentials( sync_id=uuid.uuid4(), bot_id=uuid.uuid4(), host="host", ), markup=MessageMarkup( bubbles=[[BubbleElement(command="")]], keyboard=[[KeyboardElement(command="")]], ), options=MessageOptions( recipients=[uuid.uuid4()], mentions=[ Mention(mention_data=UserMention(user_huid=uuid.uuid4())), Mention( mention_data=UserMention(user_huid=uuid.uuid4()), mention_type=MentionTypes.contact, ), Mention( mention_data=ChatMention(group_chat_id=uuid.uuid4()), mention_type=MentionTypes.chat, ), ], notifications=NotificationOptions(send=False, force_dnd=True), ), )
async def test_adding_file(bot, client, message): sending_file = File.from_string("some content", "file.txt") await bot.send_message( "some text", message.credentials, file=sending_file.file, ) command_result = client.notifications[0] assert command_result.file == sending_file
async def test_answer_message_with_file_is_notification(bot, client, message): file = File.from_string("some content", "file.txt") await bot.answer_message( "some text", message, file=file, ) message = client.notifications[0] assert message.result.body == "some text" assert message.file == file
def test_creating_file_from_string(file_data): assert File.from_string(file_data, filename="test.txt") == File( file_name="test.txt", data="data:text/plain;base64,dGVzdA==", )
def sending_file(): return File.from_string("some content", "file.txt")
def test_retrieving_file_data_in_base64(): assert File.from_string(b"test", filename="test.txt").data_in_base64 == "dGVzdA=="
def test_retrieving_file_data_in_bytes(): assert File.from_string(b"test", filename="test.txt").data_in_bytes == b"test"
def test_retrieving_file_size(): assert File.from_string(b"file\ncontents", filename="test.txt").size_in_bytes == 13
def test_retrieving_png_media_type(): assert File.from_string(b"test", filename="test.png").media_type == "image/png"
def test_retrieving_txt_media_type(): assert File.from_string(b"test", filename="test.txt").media_type == "text/plain"
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_setting_new_file_from_io(): file = File.from_string("some data", "name.txt") builder = MessageBuilder() builder.file = file.file assert builder.file == file