Skip to content

Commit cedc38d

Browse files
committed
finalising
* Added telegram.jpg to gitignore since we're downloading it now * moved download tests to the right tests to make test_file file_id free
1 parent ac0793c commit cedc38d

File tree

9 files changed

+116
-83
lines changed

9 files changed

+116
-83
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ telegram2.mp4
6969
telegram.ogg
7070
telegram.png
7171
telegram.webp
72+
telegram.jpg
7273

7374
# original files from merges
7475
*.orig

tests/test_audio.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,19 @@ def test_send_audio_all_args(self):
9696
self.assertEqual(audio.mime_type, self.audio.mime_type)
9797
self.assertEqual(audio.file_size, self.audio.file_size)
9898

99+
@flaky(3, 1)
100+
@timeout(10)
101+
def test_get_and_download_audio(self):
102+
new_file = self._bot.getFile(self.audio.file_id)
103+
104+
self.assertEqual(new_file.file_size, self.audio.file_size)
105+
self.assertEqual(new_file.file_id, self.audio.file_id)
106+
self.assertTrue(new_file.file_path.startswith('https://'))
107+
108+
new_file.download('telegram.mp3')
109+
110+
self.assertTrue(os.path.isfile('telegram.mp3'))
111+
99112
@flaky(3, 1)
100113
@timeout(10)
101114
def test_send_audio_mp3_url_file(self):

tests/test_document.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,19 @@ def test_send_document_all_args(self):
8585
self.assertEqual(document.thumb, self.document.thumb)
8686
self.assertEqual(message.caption, self.caption)
8787

88+
@flaky(3, 1)
89+
@timeout(10)
90+
def test_get_and_download_document(self):
91+
new_file = self._bot.getFile(self.document.file_id)
92+
93+
self.assertEqual(new_file.file_size, self.document.file_size)
94+
self.assertEqual(new_file.file_id, self.document.file_id)
95+
self.assertTrue(new_file.file_path.startswith('https://'))
96+
97+
new_file.download('telegram.png')
98+
99+
self.assertTrue(os.path.isfile('telegram.png'))
100+
88101
@flaky(3, 1)
89102
@timeout(10)
90103
def test_send_document_png_file_with_custom_file_name(self):

tests/test_file.py

Lines changed: 22 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -32,101 +32,41 @@ class FileTest(BaseTest, unittest.TestCase):
3232
"""This object represents Tests for Telegram File."""
3333

3434
def setUp(self):
35-
self.audio_file_id = 'BQADAQADDwADHyP1B6PSPq2HjX8kAg'
36-
self.document_file_id = 'BQADAQADpAADHyP1B04ipZxJTe2BAg'
37-
self.sticker_file_id = 'BQADAQADHAADyIsGAAFZfq1bphjqlgI'
38-
self.video_file_id = 'BAADAQADXwADHyP1BwJFTcmY2RYCAg'
39-
self.voice_file_id = 'AwADAQADTgADHyP1B_mbw34svXPHAg'
40-
4135
self.json_dict = {
42-
'file_id': self.audio_file_id,
36+
'file_id': "NOTVALIDDONTMATTER",
4337
'file_path':
4438
'https://api.telegram.org/file/bot133505823:AAHZFMHno3mzVLErU5b5jJvaeG--qUyLyG0/document/file_3',
4539
'file_size': 28232
4640
}
4741

48-
def test_get_and_download_file_audio(self):
49-
newFile = self._bot.getFile(self.audio_file_id)
50-
51-
self.assertEqual(newFile.file_size, 28232)
52-
self.assertEqual(newFile.file_id, self.audio_file_id)
53-
self.assertTrue(newFile.file_path.startswith('https://'))
54-
55-
newFile.download('telegram.mp3')
56-
57-
self.assertTrue(os.path.isfile('telegram.mp3'))
58-
59-
def test_get_and_download_file_document(self):
60-
newFile = self._bot.getFile(self.document_file_id)
61-
62-
self.assertEqual(newFile.file_size, 12948)
63-
self.assertEqual(newFile.file_id, self.document_file_id)
64-
self.assertTrue(newFile.file_path.startswith('https://'))
65-
66-
newFile.download('telegram.png')
67-
68-
self.assertTrue(os.path.isfile('telegram.png'))
69-
70-
def test_get_and_download_file_sticker(self):
71-
newFile = self._bot.getFile(self.sticker_file_id)
72-
73-
self.assertEqual(newFile.file_size, 39518)
74-
self.assertEqual(newFile.file_id, self.sticker_file_id)
75-
self.assertTrue(newFile.file_path.startswith('https://'))
76-
77-
newFile.download('telegram.webp')
78-
79-
self.assertTrue(os.path.isfile('telegram.webp'))
80-
81-
def test_get_and_download_file_video(self):
82-
newFile = self._bot.getFile(self.video_file_id)
83-
84-
self.assertEqual(newFile.file_size, 326534)
85-
self.assertEqual(newFile.file_id, self.video_file_id)
86-
self.assertTrue(newFile.file_path.startswith('https://'))
87-
88-
newFile.download('telegram.mp4')
89-
90-
self.assertTrue(os.path.isfile('telegram.mp4'))
91-
92-
def test_get_and_download_file_voice(self):
93-
newFile = self._bot.getFile(self.voice_file_id)
94-
95-
self.assertEqual(newFile.file_size, 9199)
96-
self.assertEqual(newFile.file_id, self.voice_file_id)
97-
self.assertTrue(newFile.file_path.startswith('https://'))
98-
99-
newFile.download('telegram.ogg')
100-
101-
self.assertTrue(os.path.isfile('telegram.ogg'))
102-
10342
def test_file_de_json(self):
104-
newFile = telegram.File.de_json(self.json_dict, self._bot)
43+
new_file = telegram.File.de_json(self.json_dict, self._bot)
10544

106-
self.assertEqual(newFile.file_id, self.json_dict['file_id'])
107-
self.assertEqual(newFile.file_path, self.json_dict['file_path'])
108-
self.assertEqual(newFile.file_size, self.json_dict['file_size'])
45+
self.assertEqual(new_file.file_id, self.json_dict['file_id'])
46+
self.assertEqual(new_file.file_path, self.json_dict['file_path'])
47+
self.assertEqual(new_file.file_size, self.json_dict['file_size'])
10948

11049
def test_file_to_json(self):
111-
newFile = telegram.File.de_json(self.json_dict, self._bot)
50+
new_file = telegram.File.de_json(self.json_dict, self._bot)
11251

113-
self.assertTrue(self.is_json(newFile.to_json()))
52+
self.assertTrue(self.is_json(new_file.to_json()))
11453

11554
def test_file_to_dict(self):
116-
newFile = telegram.File.de_json(self.json_dict, self._bot)
55+
new_file = telegram.File.de_json(self.json_dict, self._bot).to_dict()
11756

118-
self.assertTrue(self.is_dict(newFile.to_dict()))
119-
self.assertEqual(newFile['file_id'], self.json_dict['file_id'])
120-
self.assertEqual(newFile['file_path'], self.json_dict['file_path'])
121-
self.assertEqual(newFile['file_size'], self.json_dict['file_size'])
57+
self.assertTrue(self.is_dict(new_file))
58+
self.assertEqual(new_file['file_id'], self.json_dict['file_id'])
59+
self.assertEqual(new_file['file_path'], self.json_dict['file_path'])
60+
self.assertEqual(new_file['file_size'], self.json_dict['file_size'])
12261

12362
def test_error_get_empty_file_id(self):
12463
json_dict = self.json_dict
12564
json_dict['file_id'] = ''
12665
del (json_dict['file_path'])
12766
del (json_dict['file_size'])
12867

129-
self.assertRaises(telegram.TelegramError, lambda: self._bot.getFile(**json_dict))
68+
with self.assertRaises(telegram.TelegramError):
69+
self._bot.getFile(**json_dict)
13070

13171
def test_error_file_without_required_args(self):
13272
json_dict = self.json_dict
@@ -135,14 +75,16 @@ def test_error_file_without_required_args(self):
13575
del (json_dict['file_path'])
13676
del (json_dict['file_size'])
13777

138-
self.assertRaises(TypeError, lambda: self._bot.getFile(**json_dict))
78+
with self.assertRaises(TypeError):
79+
self._bot.getFile(**json_dict)
80+
13981

14082
def test_equality(self):
141-
a = telegram.File(self.audio_file_id, self._bot)
142-
b = telegram.File(self.audio_file_id, self._bot)
143-
c = telegram.File(self.audio_file_id, None)
144-
d = telegram.File(self.document_file_id, self._bot)
145-
e = telegram.Voice(self.audio_file_id, 0)
83+
a = telegram.File("DOESNTMATTER", self._bot)
84+
b = telegram.File("DOESNTMATTER", self._bot)
85+
c = telegram.File("DOESNTMATTER", None)
86+
d = telegram.File("DOESNTMATTER2", self._bot)
87+
e = telegram.Voice("DOESNTMATTER", 0)
14688

14789
self.assertEqual(a, b)
14890
self.assertEqual(hash(a), hash(b))

tests/test_photo.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,20 @@ def test_sendphoto_all_args(self):
9494

9595
self.assertEqual(message.caption, self.caption)
9696

97+
@flaky(3, 1)
98+
@timeout(10)
99+
def test_get_and_download_photo(self):
100+
new_file = self._bot.getFile(self.photo.file_id)
101+
102+
self.assertEqual(new_file.file_size, self.photo.file_size)
103+
self.assertEqual(new_file.file_id, self.photo.file_id)
104+
self.assertTrue(new_file.file_path.startswith('https://'))
105+
106+
new_file.download('telegram.jpg')
107+
108+
self.assertTrue(os.path.isfile('telegram.jpg'))
109+
110+
97111
@flaky(3, 1)
98112
@timeout(10)
99113
def test_send_photo_url_jpg_file(self):

tests/test_sticker.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,19 @@ def test_send_sticker_all_args(self):
8282

8383
self.assertEqual(sticker, self.sticker)
8484

85+
@flaky(3, 1)
86+
@timeout(10)
87+
def test_get_and_download_sticker(self):
88+
new_file = self._bot.getFile(self.sticker.file_id)
89+
90+
self.assertEqual(new_file.file_size, self.sticker.file_size)
91+
self.assertEqual(new_file.file_id, self.sticker.file_id)
92+
self.assertTrue(new_file.file_path.startswith('https://'))
93+
94+
new_file.download('telegram.webp')
95+
96+
self.assertTrue(os.path.isfile('telegram.webp'))
97+
8598
@flaky(3, 1)
8699
@timeout(10)
87100
def test_send_sticker_resend(self):
@@ -146,7 +159,7 @@ def test_sticker_to_dict(self):
146159
self.assertEqual(sticker['file_id'], self.sticker.file_id)
147160
self.assertEqual(sticker['width'], self.sticker.width)
148161
self.assertEqual(sticker['height'], self.sticker.height)
149-
self.assertIsInstance(sticker['thumb'], telegram.PhotoSize)
162+
self.assertIsInstance(sticker['thumb'], dict)
150163
self.assertEqual(sticker['file_size'], self.sticker.file_size)
151164

152165
@flaky(3, 1)

tests/test_video.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,19 @@ def test_send_video_all_args(self):
9393

9494
self.assertEqual(message.caption, self.caption)
9595

96+
@flaky(3, 1)
97+
@timeout(10)
98+
def test_get_and_download_video(self):
99+
new_file = self._bot.getFile(self.video.file_id)
100+
101+
self.assertEqual(new_file.file_size, self.video.file_size)
102+
self.assertEqual(new_file.file_id, self.video.file_id)
103+
self.assertTrue(new_file.file_path.startswith('https://'))
104+
105+
new_file.download('telegram.mp4')
106+
107+
self.assertTrue(os.path.isfile('telegram.mp4'))
108+
96109
@flaky(3, 1)
97110
@timeout(10)
98111
def test_send_video_mp4_file_url(self):
@@ -131,8 +144,6 @@ def test_send_video_resend(self):
131144
self.assertEqual(video.thumb, self.video.thumb)
132145
self.assertEqual(video.mime_type, self.video.mime_type)
133146

134-
self.assertEqual(message.caption, self.caption)
135-
136147
def test_video_de_json(self):
137148
video = telegram.Video.de_json(self.json_dict, self._bot)
138149

tests/test_videonote.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,19 @@ def test_send_videonote_all_args(self):
8484
self.assertEqual(videonote.thumb, self.videonote.thumb)
8585
self.assertEqual(videonote.file_size, self.videonote.file_size)
8686

87+
@flaky(3, 1)
88+
@timeout(10)
89+
def test_get_and_download_videonote(self):
90+
new_file = self._bot.getFile(self.videonote.file_id)
91+
92+
self.assertEqual(new_file.file_size, self.videonote.file_size)
93+
self.assertEqual(new_file.file_id, self.videonote.file_id)
94+
self.assertTrue(new_file.file_path.startswith('https://'))
95+
96+
new_file.download('telegram2.mp4')
97+
98+
self.assertTrue(os.path.isfile('telegram2.mp4'))
99+
87100
@flaky(3, 1)
88101
@timeout(10)
89102
def test_send_videonote_resend(self):

tests/test_voice.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,19 @@ def test_send_voice_all_args(self):
9090
self.assertEqual(voice.mime_type, self.voice.mime_type)
9191
self.assertEqual(voice.file_size, self.voice.file_size)
9292

93+
@flaky(3, 1)
94+
@timeout(10)
95+
def test_get_and_download_voice(self):
96+
new_file = self._bot.getFile(self.voice.file_id)
97+
98+
self.assertEqual(new_file.file_size, self.voice.file_size)
99+
self.assertEqual(new_file.file_id, self.voice.file_id)
100+
self.assertTrue(new_file.file_path.startswith('https://'))
101+
102+
new_file.download('telegram.ogg')
103+
104+
self.assertTrue(os.path.isfile('telegram.ogg'))
105+
93106
@flaky(3, 1)
94107
@timeout(10)
95108
def test_send_voice_ogg_url_file(self):

0 commit comments

Comments
 (0)