X Tutup
Skip to content

Commit 77977b9

Browse files
committed
Add tests to custom filename arg python-telegram-bot#56
1 parent ed77afa commit 77977b9

File tree

5 files changed

+83
-5
lines changed

5 files changed

+83
-5
lines changed

telegram/inputfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def __init__(self,
6767

6868
if isinstance(self.input_file, file):
6969
self.input_file_content = self.input_file.read()
70-
if 'filename' in self.data:
70+
if 'filename' in data:
7171
self.filename = self.data.pop('filename')
7272
else:
7373
self.filename = os.path.basename(self.input_file.name)

tests/test_audio.py

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def test_send_audio_all_args(self):
7171

7272
message = self._bot.sendAudio(self._chat_id,
7373
self.audio_file,
74-
self.duration,
74+
duration=self.duration,
7575
performer=self.performer,
7676
title=self.title,
7777
mime_type=self.mime_type,
@@ -107,6 +107,27 @@ def test_send_audio_mp3_file(self):
107107
self.assertEqual(audio.mime_type, self.mime_type)
108108
self.assertEqual(audio.file_size, self.file_size)
109109

110+
def test_send_audio_mp3_file_custom_filename(self):
111+
"""Test telegram.Bot sendAudio method"""
112+
print('Testing bot.sendAudio - MP3 File with custom filename')
113+
114+
message = self._bot.sendAudio(chat_id=self._chat_id,
115+
audio=self.audio_file,
116+
duration=self.duration,
117+
performer=self.performer,
118+
title=self.title,
119+
filename='telegram_custom.mp3')
120+
121+
audio = message.audio
122+
123+
self.assertTrue(isinstance(audio.file_id, str))
124+
self.assertNotEqual(audio.file_id, '')
125+
self.assertEqual(audio.duration, self.duration)
126+
self.assertEqual(audio.performer, self.performer)
127+
self.assertEqual(audio.title, self.title)
128+
self.assertEqual(audio.mime_type, self.mime_type)
129+
self.assertEqual(audio.file_size, self.file_size)
130+
110131
def test_send_audio_resend(self):
111132
"""Test telegram.Bot sendAudio method"""
112133
print('Testing bot.sendAudio - Resend by file_id')
@@ -123,7 +144,7 @@ def test_send_audio_resend(self):
123144
self.assertEqual(audio.duration, self.duration)
124145
self.assertEqual(audio.performer, self.performer)
125146
self.assertEqual(audio.title, self.title)
126-
self.assertEqual(audio.mime_type, '')
147+
self.assertEqual(audio.mime_type, self.mime_type)
127148
self.assertEqual(audio.file_size, self.file_size)
128149

129150
def test_audio_de_json(self):

tests/test_document.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,23 @@ def test_send_document_png_file(self):
6666
self.assertEqual(document.mime_type, self.mime_type)
6767
self.assertEqual(document.file_size, self.file_size)
6868

69+
def test_send_document_png_file_with_custom_file_name(self):
70+
"""Test telegram.Bot sendDocument method"""
71+
print('Testing bot.sendDocument - PNG File with custom filename')
72+
73+
message = self._bot.sendDocument(self._chat_id,
74+
self.document_file,
75+
filename='telegram_custom.png')
76+
77+
document = message.document
78+
79+
self.assertTrue(isinstance(document.file_id, str))
80+
self.assertNotEqual(document.file_id, '')
81+
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
82+
self.assertEqual(document.file_name, 'telegram_custom.png')
83+
self.assertEqual(document.mime_type, self.mime_type)
84+
self.assertEqual(document.file_size, self.file_size)
85+
6986
def test_send_document_url_gif_file(self):
7087
"""Test telegram.Bot sendDocument method"""
7188
print('Testing bot.sendDocument - GIF File by URL')
@@ -93,8 +110,8 @@ def test_send_document_resend(self):
93110

94111
self.assertEqual(document.file_id, self.document_file_id)
95112
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
96-
self.assertEqual(document.file_name, '')
97-
self.assertEqual(document.mime_type, '')
113+
self.assertEqual(document.file_name, self.file_name)
114+
self.assertEqual(document.mime_type, self.mime_type)
98115
self.assertEqual(document.file_size, self.file_size)
99116

100117
def test_document_de_json(self):

tests/test_video.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,29 @@ def test_send_video_mp4_file(self):
115115

116116
self.assertEqual(message.caption, self.caption)
117117

118+
def test_send_video_mp4_file_with_custom_filename(self):
119+
"""Test telegram.Bot sendVideo method"""
120+
print('Testing bot.sendVideo - MP4 File with custom filename')
121+
122+
message = self._bot.sendVideo(chat_id=self._chat_id,
123+
video=self.video_file,
124+
duration=self.duration,
125+
caption=self.caption,
126+
filename='telegram_custom.mp4')
127+
128+
video = message.video
129+
130+
self.assertTrue(isinstance(video.file_id, str))
131+
self.assertNotEqual(video.file_id, '')
132+
self.assertEqual(video.width, 0)
133+
self.assertEqual(video.height, 0)
134+
self.assertEqual(video.duration, self.duration)
135+
self.assertEqual(video.thumb, None)
136+
self.assertEqual(video.mime_type, '')
137+
self.assertEqual(video.file_size, self.file_size)
138+
139+
self.assertEqual(message.caption, self.caption)
140+
118141
def test_send_video_resend(self):
119142
"""Test telegram.Bot sendVideo method"""
120143
print('Testing bot.sendVideo - Resend by file_id')

tests/test_voice.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,23 @@ def test_send_voice_ogg_file(self):
9393
self.assertEqual(voice.mime_type, self.mime_type)
9494
self.assertEqual(voice.file_size, self.file_size)
9595

96+
def test_send_voice_ogg_file_with_custom_filename(self):
97+
"""Test telegram.Bot sendVoice method"""
98+
print('Testing bot.sendVoice - Ogg File with custom filename')
99+
100+
message = self._bot.sendVoice(chat_id=self._chat_id,
101+
voice=self.voice_file,
102+
duration=self.duration,
103+
filename='telegram_custom.ogg')
104+
105+
voice = message.voice
106+
107+
self.assertTrue(isinstance(voice.file_id, str))
108+
self.assertNotEqual(voice.file_id, '')
109+
self.assertEqual(voice.duration, self.duration)
110+
self.assertEqual(voice.mime_type, self.mime_type)
111+
self.assertEqual(voice.file_size, self.file_size)
112+
96113
def test_send_voice_resend(self):
97114
"""Test telegram.Bot sendVoice method"""
98115
print('Testing bot.sendVoice - Resend by file_id')

0 commit comments

Comments
 (0)
X Tutup