Skip to content

Commit c92ebc4

Browse files
committed
test_audio done
* Changed to new method of non-static file_id * removed obsolete tests. * changed some tests in all file
1 parent 281bd67 commit c92ebc4

File tree

6 files changed

+114
-204
lines changed

6 files changed

+114
-204
lines changed

tests/test_audio.py

Lines changed: 80 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -18,210 +18,152 @@
1818
# along with this program. If not, see [http://www.gnu.org/licenses/].
1919
"""This module contains an object that represents Tests for Telegram Audio"""
2020

21-
import sys
22-
import unittest
2321
import os
22+
import unittest
2423

2524
from flaky import flaky
2625

27-
sys.path.append('.')
28-
2926
import telegram
3027
from tests.base import BaseTest, timeout
28+
from tests.bots import get_bot
3129

3230

3331
class AudioTest(BaseTest, unittest.TestCase):
3432
"""This object represents Tests for Telegram Audio."""
3533

34+
@classmethod
35+
def setUpClass(cls):
36+
cls.caption = "Test audio"
37+
cls.performer = 'Leandro Toledo'
38+
cls.title = 'Teste'
39+
cls.audio_file_url = 'https://raw.githubusercontent.com/python-telegram-bot/python-telegram-bot/master/tests/data/telegram.mp3'
40+
41+
bot_info = get_bot()
42+
cls._chat_id = bot_info['chat_id']
43+
cls._bot = telegram.Bot(bot_info['token'])
44+
45+
audio_file = open('tests/data/telegram.mp3', 'rb')
46+
audio = cls._bot.send_audio(cls._chat_id, audio=audio_file, timeout=10).audio
47+
cls.audio = audio
48+
49+
# Make sure file has been uploaded.
50+
# Simple assertions PY2 Only
51+
assert isinstance(cls.audio, telegram.Audio)
52+
assert isinstance(cls.audio.file_id, str)
53+
assert cls.audio.file_id is not ''
54+
3655
def setUp(self):
3756
self.audio_file = open('tests/data/telegram.mp3', 'rb')
38-
self.audio_file_id = 'CQADAQADDwADHyP1B6PSPq2HjX8kAg'
39-
self.audio_file_url = 'https://raw.githubusercontent.com/python-telegram-bot/python-telegram-bot/master/tests/data/telegram.mp3'
40-
self.duration = 4
41-
self.performer = 'Leandro Toledo'
42-
self.title = 'Teste'
43-
self.caption = "Test audio"
44-
self.mime_type = 'audio/mpeg'
45-
self.file_size = 28232
46-
4757
self.json_dict = {
48-
'file_id': self.audio_file_id,
49-
'duration': self.duration,
58+
'file_id': self.audio.file_id,
59+
'duration': self.audio.duration,
5060
'performer': self.performer,
5161
'title': self.title,
5262
'caption': self.caption,
53-
'mime_type': self.mime_type,
54-
'file_size': self.file_size
63+
'mime_type': self.audio.mime_type,
64+
'file_size': self.audio.file_size
5565
}
5666

57-
@flaky(3, 1)
58-
@timeout(10)
59-
def test_send_audio_required_args_only(self):
60-
message = self._bot.sendAudio(self._chat_id, self.audio_file)
61-
62-
self.assertEqual(message.caption, None)
63-
64-
audio = message.audio
65-
66-
self.assertTrue(isinstance(audio.file_id, str))
67-
self.assertNotEqual(audio.file_id, None)
68-
# self.assertEqual(audio.duration, 4)
69-
self.assertEqual(audio.performer, None)
70-
self.assertEqual(audio.title, None)
71-
self.assertEqual(audio.mime_type, self.mime_type)
72-
self.assertEqual(audio.file_size, self.file_size)
67+
def test_expected_values(self):
68+
self.assertEqual(self.audio.duration, 4)
69+
self.assertEqual(self.audio.performer, None)
70+
self.assertEqual(self.audio.title, None)
71+
self.assertEqual(self.audio.mime_type, 'audio/ogg')
72+
self.assertEqual(self.audio.file_size, 28232)
7373

7474
@flaky(3, 1)
7575
@timeout(10)
7676
def test_send_audio_all_args(self):
7777
message = self._bot.sendAudio(
7878
self._chat_id,
7979
self.audio_file,
80-
duration=self.duration,
81-
performer=self.performer,
82-
title=self.title,
8380
caption=self.caption,
84-
mime_type=self.mime_type,
85-
file_size=self.file_size)
86-
87-
self.assertEqual(message.caption, self.caption)
88-
89-
audio = message.audio
90-
91-
self.assertTrue(isinstance(audio.file_id, str))
92-
self.assertNotEqual(audio.file_id, None)
93-
self.assertEqual(audio.duration, self.duration)
94-
self.assertEqual(audio.performer, self.performer)
95-
self.assertEqual(audio.title, self.title)
96-
self.assertEqual(audio.mime_type, self.mime_type)
97-
self.assertEqual(audio.file_size, self.file_size)
98-
99-
@flaky(3, 1)
100-
@timeout(10)
101-
def test_send_audio_mp3_file(self):
102-
message = self._bot.sendAudio(
103-
chat_id=self._chat_id,
104-
audio=self.audio_file,
105-
duration=self.duration,
81+
duration=self.audio.duration,
10682
performer=self.performer,
10783
title=self.title,
108-
caption=self.caption)
84+
disable_notification=False)
10985

11086
self.assertEqual(message.caption, self.caption)
11187

11288
audio = message.audio
11389

114-
self.assertTrue(isinstance(audio.file_id, str))
90+
self.assertIsInstance(audio, telegram.Audio)
91+
self.assertIsInstance(audio.file_id, str)
11592
self.assertNotEqual(audio.file_id, None)
116-
self.assertEqual(audio.duration, self.duration)
93+
self.assertEqual(audio.duration, self.audio.duration)
11794
self.assertEqual(audio.performer, self.performer)
11895
self.assertEqual(audio.title, self.title)
119-
self.assertEqual(audio.mime_type, self.mime_type)
120-
self.assertEqual(audio.file_size, self.file_size)
121-
122-
@flaky(3, 1)
123-
@timeout(10)
124-
def test_send_audio_mp3_file_custom_filename(self):
125-
message = self._bot.sendAudio(
126-
chat_id=self._chat_id,
127-
audio=self.audio_file,
128-
duration=self.duration,
129-
performer=self.performer,
130-
title=self.title,
131-
caption=self.caption,
132-
filename='telegram_custom.mp3')
133-
134-
self.assertEqual(message.caption, self.caption)
135-
136-
audio = message.audio
137-
138-
self.assertTrue(isinstance(audio.file_id, str))
139-
self.assertNotEqual(audio.file_id, None)
140-
self.assertEqual(audio.duration, self.duration)
141-
self.assertEqual(audio.performer, self.performer)
142-
self.assertEqual(audio.title, self.title)
143-
self.assertEqual(audio.mime_type, self.mime_type)
144-
self.assertEqual(audio.file_size, self.file_size)
96+
self.assertEqual(audio.mime_type, self.audio.mime_type)
97+
self.assertEqual(audio.file_size, self.audio.file_size)
14598

14699
@flaky(3, 1)
147100
@timeout(10)
148101
def test_send_audio_mp3_url_file(self):
149-
message = self._bot.sendAudio(
150-
chat_id=self._chat_id, audio=self.audio_file_url, duration=self.duration)
102+
message = self._bot.sendAudio(chat_id=self._chat_id, audio=self.audio_file_url)
151103

152104
audio = message.audio
153105

154-
self.assertTrue(isinstance(audio.file_id, str))
106+
self.assertIsInstance(audio, telegram.Audio)
107+
self.assertIsInstance(audio.file_id, str)
155108
self.assertNotEqual(audio.file_id, None)
156-
self.assertEqual(audio.duration, self.duration)
157-
self.assertEqual(audio.mime_type, self.mime_type)
158-
self.assertEqual(audio.file_size, self.file_size)
109+
self.assertEqual(audio.duration, self.audio.duration)
110+
self.assertEqual(audio.mime_type, self.audio.mime_type)
111+
self.assertEqual(audio.file_size, self.audio.file_size)
159112

160113
@flaky(3, 1)
161114
@timeout(10)
162115
def test_send_audio_mp3_url_file_with_caption(self):
163116
message = self._bot.sendAudio(
164117
chat_id=self._chat_id,
165118
audio=self.audio_file_url,
166-
duration=self.duration,
167119
caption=self.caption)
168120

169121
self.assertEqual(message.caption, self.caption)
170122

171123
audio = message.audio
172124

173-
self.assertTrue(isinstance(audio.file_id, str))
125+
self.assertIsInstance(audio, telegram.Audio)
126+
self.assertIsInstance(audio.file_id, str)
174127
self.assertNotEqual(audio.file_id, None)
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)
128+
self.assertEqual(audio.duration, self.audio.duration)
129+
self.assertEqual(audio.mime_type, self.audio.mime_type)
130+
self.assertEqual(audio.file_size, self.audio.file_size)
178131

179132
@flaky(3, 1)
180133
@timeout(10)
181134
def test_send_audio_resend(self):
182135
message = self._bot.sendAudio(
183136
chat_id=self._chat_id,
184-
audio=self.audio_file_id,
185-
duration=self.duration,
186-
performer=self.performer,
187-
title=self.title,
188-
caption=self.caption)
189-
190-
self.assertEqual(message.caption, self.caption)
137+
audio=self.audio.file_id)
191138

192139
audio = message.audio
193140

194-
self.assertEqual(audio.file_id, self.audio_file_id)
195-
self.assertEqual(audio.duration, self.duration)
196-
self.assertEqual(audio.performer, self.performer)
197-
self.assertEqual(audio.title, self.title)
198-
self.assertEqual(audio.mime_type, self.mime_type)
141+
self.assertEqual(audio, self.audio)
199142

200143
def test_audio_de_json(self):
201144
audio = telegram.Audio.de_json(self.json_dict, self._bot)
202145

203-
self.assertEqual(audio.file_id, self.audio_file_id)
204-
self.assertEqual(audio.duration, self.duration)
146+
self.assertIsInstance(audio, telegram.Audio)
147+
self.assertEqual(audio.file_id, self.audio.file_id)
148+
self.assertEqual(audio.duration, self.audio.duration)
205149
self.assertEqual(audio.performer, self.performer)
206150
self.assertEqual(audio.title, self.title)
207-
self.assertEqual(audio.mime_type, self.mime_type)
208-
self.assertEqual(audio.file_size, self.file_size)
151+
self.assertEqual(audio.mime_type, self.audio.mime_type)
152+
self.assertEqual(audio.file_size, self.audio.file_size)
209153

210154
def test_audio_to_json(self):
211-
audio = telegram.Audio.de_json(self.json_dict, self._bot)
212-
213-
self.assertTrue(self.is_json(audio.to_json()))
155+
self.assertTrue(self.is_json(self.audio.to_json()))
214156

215157
def test_audio_to_dict(self):
216-
audio = telegram.Audio.de_json(self.json_dict, self._bot)
158+
audio = self.audio.to_dict()
217159

218-
self.assertTrue(self.is_dict(audio.to_dict()))
219-
self.assertEqual(audio['file_id'], self.audio_file_id)
220-
self.assertEqual(audio['duration'], self.duration)
160+
self.assertTrue(self.is_dict(audio))
161+
self.assertEqual(audio['file_id'], self.audio.file_id)
162+
self.assertEqual(audio['duration'], self.audio.duration)
221163
self.assertEqual(audio['performer'], self.performer)
222164
self.assertEqual(audio['title'], self.title)
223-
self.assertEqual(audio['mime_type'], self.mime_type)
224-
self.assertEqual(audio['file_size'], self.file_size)
165+
self.assertEqual(audio['mime_type'], self.audio.mime_type)
166+
self.assertEqual(audio['file_size'], self.audio.file_size)
225167

226168
@flaky(3, 1)
227169
@timeout(10)
@@ -231,9 +173,8 @@ def test_error_send_audio_empty_file(self):
231173
del (json_dict['file_id'])
232174
json_dict['audio'] = open(os.devnull, 'rb')
233175

234-
self.assertRaises(
235-
telegram.TelegramError,
236-
lambda: self._bot.sendAudio(chat_id=self._chat_id, **json_dict))
176+
with self.assertRaises(telegram.TelegramError):
177+
self._bot.sendAudio(chat_id=self._chat_id, **json_dict)
237178

238179
@flaky(3, 1)
239180
@timeout(10)
@@ -243,9 +184,8 @@ def test_error_send_audio_empty_file_id(self):
243184
del (json_dict['file_id'])
244185
json_dict['audio'] = ''
245186

246-
self.assertRaises(
247-
telegram.TelegramError,
248-
lambda: self._bot.sendAudio(chat_id=self._chat_id, **json_dict))
187+
with self.assertRaises(telegram.TelegramError):
188+
self._bot.sendAudio(chat_id=self._chat_id, **json_dict)
249189

250190
@flaky(3, 1)
251191
@timeout(10)
@@ -255,25 +195,26 @@ def test_error_audio_without_required_args(self):
255195
del (json_dict['file_id'])
256196
del (json_dict['duration'])
257197

258-
self.assertRaises(
259-
TypeError,
260-
lambda: self._bot.sendAudio(chat_id=self._chat_id, **json_dict))
198+
with self.assertRaises(TypeError):
199+
self._bot.sendAudio(chat_id=self._chat_id, **json_dict)
261200

262201
@flaky(3, 1)
263202
@timeout(10)
264203
def test_reply_audio(self):
265204
"""Test for Message.reply_audio"""
266205
message = self._bot.sendMessage(self._chat_id, '.')
267-
message = message.reply_audio(self.audio_file)
206+
audio = message.reply_audio(self.audio_file).audio
268207

269-
self.assertNotEqual(message.audio.file_id, None)
208+
self.assertIsInstance(audio, telegram.Audio)
209+
self.assertIsInstance(audio.file_id, str)
210+
self.assertNotEqual(audio.file_id, None)
270211

271212
def test_equality(self):
272-
a = telegram.Audio(self.audio_file_id, self.duration)
273-
b = telegram.Audio(self.audio_file_id, self.duration)
274-
c = telegram.Audio(self.audio_file_id, 0)
275-
d = telegram.Audio("", self.duration)
276-
e = telegram.Voice(self.audio_file_id, self.duration)
213+
a = telegram.Audio(self.audio.file_id, self.audio.duration)
214+
b = telegram.Audio(self.audio.file_id, self.audio.duration)
215+
c = telegram.Audio(self.audio.file_id, 0)
216+
d = telegram.Audio("", self.audio.duration)
217+
e = telegram.Voice(self.audio.file_id, self.audio.duration)
277218

278219
self.assertEqual(a, b)
279220
self.assertEqual(hash(a), hash(b))

tests/test_document.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -122,19 +122,13 @@ def test_send_document_resend(self):
122122
def test_document_de_json(self):
123123
document = telegram.Document.de_json(self.json_dict, self._bot)
124124

125-
self.assertEqual(document.file_id, self.document.file_id)
126-
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
127-
self.assertEqual(document.file_name, self.document.file_name)
128-
self.assertEqual(document.mime_type, self.document.mime_type)
129-
self.assertEqual(document.file_size, self.document.file_size)
125+
self.assertEqual(document, self.document)
130126

131127
def test_document_to_json(self):
132-
document = telegram.Document.de_json(self.json_dict, self._bot)
133-
134-
self.assertTrue(self.is_json(document.to_json()))
128+
self.assertTrue(self.is_json(self.document.to_json()))
135129

136130
def test_document_to_dict(self):
137-
document = telegram.Document.de_json(self.json_dict, self._bot).to_dict()
131+
document = self.document.to_dict()
138132

139133
self.assertTrue(self.is_dict(document))
140134
self.assertEqual(document['file_id'], self.document.file_id)

0 commit comments

Comments
 (0)