X Tutup
Skip to content

Commit 6b77885

Browse files
committed
Add tests for captions in audio and voice
1 parent 1f9d316 commit 6b77885

File tree

4 files changed

+83
-5
lines changed

4 files changed

+83
-5
lines changed

tests/test_audio.py

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def setUp(self):
4040
self.duration = 4
4141
self.performer = 'Leandro Toledo'
4242
self.title = 'Teste'
43+
self.caption = "Test audio"
4344
self.mime_type = 'audio/mpeg'
4445
self.file_size = 28232
4546

@@ -48,6 +49,7 @@ def setUp(self):
4849
'duration': self.duration,
4950
'performer': self.performer,
5051
'title': self.title,
52+
'caption': self.caption,
5153
'mime_type': self.mime_type,
5254
'file_size': self.file_size
5355
}
@@ -57,6 +59,8 @@ def setUp(self):
5759
def test_send_audio_required_args_only(self):
5860
message = self._bot.sendAudio(self._chat_id, self.audio_file)
5961

62+
self.assertEqual(message.caption, '')
63+
6064
audio = message.audio
6165

6266
self.assertTrue(isinstance(audio.file_id, str))
@@ -76,9 +80,12 @@ def test_send_audio_all_args(self):
7680
duration=self.duration,
7781
performer=self.performer,
7882
title=self.title,
83+
caption=self.caption,
7984
mime_type=self.mime_type,
8085
file_size=self.file_size)
8186

87+
self.assertEqual(message.caption, self.caption)
88+
8289
audio = message.audio
8390

8491
self.assertTrue(isinstance(audio.file_id, str))
@@ -97,7 +104,10 @@ def test_send_audio_mp3_file(self):
97104
audio=self.audio_file,
98105
duration=self.duration,
99106
performer=self.performer,
100-
title=self.title)
107+
title=self.title,
108+
caption=self.caption)
109+
110+
self.assertEqual(message.caption, self.caption)
101111

102112
audio = message.audio
103113

@@ -118,8 +128,11 @@ def test_send_audio_mp3_file_custom_filename(self):
118128
duration=self.duration,
119129
performer=self.performer,
120130
title=self.title,
131+
caption=self.caption,
121132
filename='telegram_custom.mp3')
122133

134+
self.assertEqual(message.caption, self.caption)
135+
123136
audio = message.audio
124137

125138
self.assertTrue(isinstance(audio.file_id, str))
@@ -144,6 +157,25 @@ def test_send_audio_mp3_url_file(self):
144157
self.assertEqual(audio.mime_type, self.mime_type)
145158
self.assertEqual(audio.file_size, self.file_size)
146159

160+
@flaky(3, 1)
161+
@timeout(10)
162+
def test_send_audio_mp3_url_file_with_caption(self):
163+
message = self._bot.sendAudio(
164+
chat_id=self._chat_id,
165+
audio=self.audio_file_url,
166+
duration=self.duration,
167+
caption=self.caption)
168+
169+
self.assertEqual(message.caption, self.caption)
170+
171+
audio = message.audio
172+
173+
self.assertTrue(isinstance(audio.file_id, str))
174+
self.assertNotEqual(audio.file_id, '')
175+
self.assertEqual(audio.duration, self.duration)
176+
self.assertEqual(audio.mime_type, self.mime_type)
177+
self.assertEqual(audio.file_size, self.file_size)
178+
147179
@flaky(3, 1)
148180
@timeout(10)
149181
def test_send_audio_resend(self):
@@ -152,7 +184,10 @@ def test_send_audio_resend(self):
152184
audio=self.audio_file_id,
153185
duration=self.duration,
154186
performer=self.performer,
155-
title=self.title)
187+
title=self.title,
188+
caption=self.caption)
189+
190+
self.assertEqual(message.caption, self.caption)
156191

157192
audio = message.audio
158193

tests/test_inlinequeryresultaudio.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ def setUp(self):
3838
self.title = 'title'
3939
self.performer = 'performer'
4040
self.audio_duration = 'audio_duration'
41+
self.caption = 'caption'
4142
self.input_message_content = telegram.InputTextMessageContent('input_message_content')
4243
self.reply_markup = telegram.InlineKeyboardMarkup([[
4344
telegram.InlineKeyboardButton('reply_markup')
@@ -50,6 +51,7 @@ def setUp(self):
5051
'title': self.title,
5152
'performer': self.performer,
5253
'audio_duration': self.audio_duration,
54+
'caption': self.caption,
5355
'input_message_content': self.input_message_content.to_dict(),
5456
'reply_markup': self.reply_markup.to_dict(),
5557
}
@@ -63,6 +65,7 @@ def test_audio_de_json(self):
6365
self.assertEqual(audio.title, self.title)
6466
self.assertEqual(audio.performer, self.performer)
6567
self.assertEqual(audio.audio_duration, self.audio_duration)
68+
self.assertEqual(audio.caption, self.caption)
6669
self.assertDictEqual(audio.input_message_content.to_dict(),
6770
self.input_message_content.to_dict())
6871
self.assertDictEqual(audio.reply_markup.to_dict(), self.reply_markup.to_dict())

tests/test_inlinequeryresultcachedaudio.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ def setUp(self):
3636
self.id = 'id'
3737
self.type = 'audio'
3838
self.audio_file_id = 'audio file id'
39+
self.caption = 'caption'
3940
self.input_message_content = telegram.InputTextMessageContent('input_message_content')
4041
self.reply_markup = telegram.InlineKeyboardMarkup([[
4142
telegram.InlineKeyboardButton('reply_markup')
@@ -45,6 +46,7 @@ def setUp(self):
4546
'type': self.type,
4647
'id': self.id,
4748
'audio_file_id': self.audio_file_id,
49+
'caption': self.caption,
4850
'input_message_content': self.input_message_content.to_dict(),
4951
'reply_markup': self.reply_markup.to_dict(),
5052
}
@@ -55,6 +57,7 @@ def test_audio_de_json(self):
5557
self.assertEqual(audio.type, self.type)
5658
self.assertEqual(audio.id, self.id)
5759
self.assertEqual(audio.audio_file_id, self.audio_file_id)
60+
self.assertEqual(audio.caption, self.caption)
5861
self.assertDictEqual(audio.input_message_content.to_dict(),
5962
self.input_message_content.to_dict())
6063
self.assertDictEqual(audio.reply_markup.to_dict(), self.reply_markup.to_dict())

tests/test_voice.py

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,14 @@ def setUp(self):
3838
self.voice_file_id = 'AwADAQADTgADHyP1B_mbw34svXPHAg'
3939
self.voice_file_url = 'https://raw.githubusercontent.com/python-telegram-bot/python-telegram-bot/master/tests/data/telegram.ogg'
4040
self.duration = 3
41+
self.caption = "Test voice"
4142
self.mime_type = 'audio/ogg'
4243
self.file_size = 9199
4344

4445
self.json_dict = {
4546
'file_id': self.voice_file_id,
4647
'duration': self.duration,
48+
'caption': self.caption,
4749
'mime_type': self.mime_type,
4850
'file_size': self.file_size
4951
}
@@ -67,10 +69,13 @@ def test_send_voice_all_args(self):
6769
message = self._bot.sendVoice(
6870
self._chat_id,
6971
self.voice_file,
70-
self.duration,
72+
duration=self.duration,
73+
caption=self.caption,
7174
mime_type=self.mime_type,
7275
file_size=self.file_size)
7376

77+
self.assertEqual(message.caption, self.caption)
78+
7479
voice = message.voice
7580

7681
self.assertTrue(isinstance(voice.file_id, str))
@@ -83,7 +88,12 @@ def test_send_voice_all_args(self):
8388
@timeout(10)
8489
def test_send_voice_ogg_file(self):
8590
message = self._bot.sendVoice(
86-
chat_id=self._chat_id, voice=self.voice_file, duration=self.duration)
91+
chat_id=self._chat_id,
92+
voice=self.voice_file,
93+
duration=self.duration,
94+
caption=self.caption)
95+
96+
self.assertEqual(message.caption, self.caption)
8797

8898
voice = message.voice
8999

@@ -100,8 +110,11 @@ def test_send_voice_ogg_file_with_custom_filename(self):
100110
chat_id=self._chat_id,
101111
voice=self.voice_file,
102112
duration=self.duration,
113+
caption=self.caption,
103114
filename='telegram_custom.ogg')
104115

116+
self.assertEqual(message.caption, self.caption)
117+
105118
voice = message.voice
106119

107120
self.assertTrue(isinstance(voice.file_id, str))
@@ -124,11 +137,35 @@ def test_send_voice_ogg_url_file(self):
124137
self.assertEqual(voice.mime_type, self.mime_type)
125138
self.assertEqual(voice.file_size, self.file_size)
126139

140+
@flaky(3, 1)
141+
@timeout(10)
142+
def test_send_voice_ogg_url_file_with_caption(self):
143+
message = self._bot.sendVoice(
144+
chat_id=self._chat_id,
145+
voice=self.voice_file_url,
146+
duration=self.duration,
147+
caption=self.caption)
148+
149+
self.assertEqual(message.caption, self.caption)
150+
151+
voice = message.voice
152+
153+
self.assertTrue(isinstance(voice.file_id, str))
154+
self.assertNotEqual(voice.file_id, '')
155+
self.assertEqual(voice.duration, self.duration)
156+
self.assertEqual(voice.mime_type, self.mime_type)
157+
self.assertEqual(voice.file_size, self.file_size)
158+
127159
@flaky(3, 1)
128160
@timeout(10)
129161
def test_send_voice_resend(self):
130162
message = self._bot.sendVoice(
131-
chat_id=self._chat_id, voice=self.voice_file_id, duration=self.duration)
163+
chat_id=self._chat_id,
164+
voice=self.voice_file_id,
165+
duration=self.duration,
166+
caption=self.caption)
167+
168+
self.assertEqual(message.caption, self.caption)
132169

133170
voice = message.voice
134171

0 commit comments

Comments
 (0)
X Tutup