Skip to content

Commit 281bd67

Browse files
committed
test_document done
* Changed to new method of non-static file_id * removed obsolete tests.
1 parent f6a98d7 commit 281bd67

File tree

2 files changed

+73
-68
lines changed

2 files changed

+73
-68
lines changed

tests/test_document.py

Lines changed: 70 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -18,56 +18,72 @@
1818
# along with this program. If not, see [http://www.gnu.org/licenses/].
1919
"""This module contains an object that represents Tests for Telegram Document"""
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
31-
28+
from tests.bots import get_bot
3229

3330
class DocumentTest(BaseTest, unittest.TestCase):
3431
"""This object represents Tests for Telegram Document."""
3532

33+
@classmethod
34+
def setUpClass(cls):
35+
cls.caption = u'DocumentTest - Caption'
36+
cls.document_file_url = 'https://raw.githubusercontent.com/python-telegram-bot/python-telegram-bot/master/tests/data/telegram.gif'
37+
38+
bot_info = get_bot()
39+
cls._chat_id = bot_info['chat_id']
40+
cls._bot = telegram.Bot(bot_info['token'])
41+
42+
document_file = open('tests/data/telegram.png', 'rb')
43+
document = cls._bot.send_document(cls._chat_id, document=document_file, timeout=10).document
44+
cls.document = document
45+
46+
# Make sure file has been uploaded.
47+
# Simple assertions PY2 Only
48+
assert isinstance(cls.document, telegram.Document)
49+
assert isinstance(cls.document.file_id, str)
50+
assert cls.document.file_id is not ''
51+
3652
def setUp(self):
3753
self.document_file = open('tests/data/telegram.png', 'rb')
38-
self.document_file_id = 'BQADAQADpAADHyP1B04ipZxJTe2BAg'
39-
self.document_file_url = 'https://raw.githubusercontent.com/python-telegram-bot/python-telegram-bot/master/tests/data/telegram.gif'
40-
self.thumb = {
41-
'width': 90,
42-
'height': 90,
43-
'file_id': 'BQADAQADoQADHyP1B0mzJMVyzcB0Ag',
44-
'file_size': 2364
45-
}
46-
self.file_name = 'telegram.png'
47-
self.mime_type = 'image/png'
48-
self.file_size = 12948
49-
5054
self.json_dict = {
51-
'file_id': self.document_file_id,
52-
'thumb': self.thumb,
53-
'file_name': self.file_name,
54-
'mime_type': self.mime_type,
55-
'file_size': self.file_size
55+
'file_id': self.document.file_id,
56+
'thumb': self.document.thumb.to_dict(),
57+
'file_name': self.document.file_name,
58+
'mime_type': self.document.mime_type,
59+
'file_size': self.document.file_size
5660
}
5761

62+
def test_expected_values(self):
63+
self.assertEqual(self.document.file_size, 12948)
64+
self.assertEqual(self.document.mime_type, 'image/png')
65+
self.assertEqual(self.document.file_name, 'telegram.png')
66+
self.assertEqual(self.document.thumb.file_size, 2364)
67+
self.assertEqual(self.document.thumb.width, 90)
68+
self.assertEqual(self.document.thumb.height, 90)
69+
5870
@flaky(3, 1)
5971
@timeout(10)
60-
def test_send_document_png_file(self):
61-
message = self._bot.sendDocument(self._chat_id, self.document_file, caption='caption text')
72+
def test_send_document_all_args(self):
73+
message = self._bot.sendDocument(self._chat_id, document=self.document_file, caption=self.caption,
74+
disable_notification=False)
6275

6376
document = message.document
6477

78+
self.assertIsInstance(document, telegram.Document)
6579
self.assertTrue(isinstance(document.file_id, str))
6680
self.assertNotEqual(document.file_id, '')
6781
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
68-
self.assertEqual(document.file_name, self.file_name)
69-
self.assertEqual(document.mime_type, self.mime_type)
70-
self.assertEqual(document.file_size, self.file_size)
82+
self.assertEqual(document.file_name, self.document.file_name)
83+
self.assertEqual(document.mime_type, self.document.mime_type)
84+
self.assertEqual(document.file_size, self.document.file_size)
85+
self.assertEqual(document.thumb, self.document.thumb)
86+
self.assertEqual(message.caption, self.caption)
7187

7288
@flaky(3, 1)
7389
@timeout(10)
@@ -77,12 +93,7 @@ def test_send_document_png_file_with_custom_file_name(self):
7793

7894
document = message.document
7995

80-
self.assertTrue(isinstance(document.file_id, str))
81-
self.assertNotEqual(document.file_id, '')
82-
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
8396
self.assertEqual(document.file_name, 'telegram_custom.png')
84-
self.assertEqual(document.mime_type, self.mime_type)
85-
self.assertEqual(document.file_size, self.file_size)
8697

8798
@flaky(3, 1)
8899
@timeout(10)
@@ -91,6 +102,7 @@ def test_send_document_url_gif_file(self):
91102

92103
document = message.document
93104

105+
self.assertIsInstance(document, telegram.Document)
94106
self.assertTrue(isinstance(document.file_id, str))
95107
self.assertNotEqual(document.file_id, '')
96108
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
@@ -101,38 +113,34 @@ def test_send_document_url_gif_file(self):
101113
@flaky(3, 1)
102114
@timeout(10)
103115
def test_send_document_resend(self):
104-
message = self._bot.sendDocument(chat_id=self._chat_id, document=self.document_file_id)
116+
message = self._bot.sendDocument(chat_id=self._chat_id, document=self.document.file_id)
105117

106118
document = message.document
107119

108-
self.assertEqual(document.file_id, self.document_file_id)
109-
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
110-
self.assertEqual(document.file_name, self.file_name)
111-
self.assertEqual(document.mime_type, self.mime_type)
120+
self.assertEqual(document, self.document)
112121

113122
def test_document_de_json(self):
114123
document = telegram.Document.de_json(self.json_dict, self._bot)
115124

116-
self.assertEqual(document.file_id, self.document_file_id)
125+
self.assertEqual(document.file_id, self.document.file_id)
117126
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
118-
self.assertEqual(document.file_name, self.file_name)
119-
self.assertEqual(document.mime_type, self.mime_type)
120-
self.assertEqual(document.file_size, self.file_size)
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)
121130

122131
def test_document_to_json(self):
123132
document = telegram.Document.de_json(self.json_dict, self._bot)
124133

125134
self.assertTrue(self.is_json(document.to_json()))
126135

127136
def test_document_to_dict(self):
128-
document = telegram.Document.de_json(self.json_dict, self._bot)
137+
document = telegram.Document.de_json(self.json_dict, self._bot).to_dict()
129138

130-
self.assertTrue(self.is_dict(document.to_dict()))
131-
self.assertEqual(document['file_id'], self.document_file_id)
132-
self.assertTrue(isinstance(document['thumb'], telegram.PhotoSize))
133-
self.assertEqual(document['file_name'], self.file_name)
134-
self.assertEqual(document['mime_type'], self.mime_type)
135-
self.assertEqual(document['file_size'], self.file_size)
139+
self.assertTrue(self.is_dict(document))
140+
self.assertEqual(document['file_id'], self.document.file_id)
141+
self.assertEqual(document['file_name'], self.document.file_name)
142+
self.assertEqual(document['mime_type'], self.document.mime_type)
143+
self.assertEqual(document['file_size'], self.document.file_size)
136144

137145
@flaky(3, 1)
138146
@timeout(10)
@@ -142,9 +150,8 @@ def test_error_send_document_empty_file(self):
142150
del (json_dict['file_id'])
143151
json_dict['document'] = open(os.devnull, 'rb')
144152

145-
self.assertRaises(telegram.TelegramError,
146-
lambda: self._bot.sendDocument(chat_id=self._chat_id,
147-
**json_dict))
153+
with self.assertRaises(telegram.TelegramError):
154+
self._bot.sendDocument(chat_id=self._chat_id, **json_dict)
148155

149156
@flaky(3, 1)
150157
@timeout(10)
@@ -154,9 +161,8 @@ def test_error_send_document_empty_file_id(self):
154161
del (json_dict['file_id'])
155162
json_dict['document'] = ''
156163

157-
self.assertRaises(telegram.TelegramError,
158-
lambda: self._bot.sendDocument(chat_id=self._chat_id,
159-
**json_dict))
164+
with self.assertRaises(telegram.TelegramError):
165+
self._bot.sendDocument(chat_id=self._chat_id, **json_dict)
160166

161167
@flaky(3, 1)
162168
@timeout(10)
@@ -165,9 +171,7 @@ def test_error_document_without_required_args(self):
165171

166172
del (json_dict['file_id'])
167173

168-
self.assertRaises(TypeError,
169-
lambda: self._bot.sendDocument(chat_id=self._chat_id,
170-
**json_dict))
174+
with self.assertRaises(TypeError): self._bot.sendDocument(chat_id=self._chat_id, **json_dict)
171175

172176
@flaky(3, 1)
173177
@timeout(10)
@@ -176,13 +180,18 @@ def test_reply_document(self):
176180
message = self._bot.sendMessage(self._chat_id, '.')
177181
message = message.reply_document(self.document_file)
178182

179-
self.assertNotEqual(message.document.file_id, '')
183+
document = message.document
184+
185+
self.assertIsInstance(document, telegram.Document)
186+
self.assertTrue(isinstance(document.file_id, str))
187+
self.assertNotEqual(document.file_id, '')
188+
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
180189

181190
def test_equality(self):
182-
a = telegram.Document(self.document_file_id)
183-
b = telegram.Document(self.document_file_id)
191+
a = telegram.Document(self.document.file_id)
192+
b = telegram.Document(self.document.file_id)
184193
d = telegram.Document("")
185-
e = telegram.Voice(self.document_file_id, 0)
194+
e = telegram.Voice(self.document.file_id, 0)
186195

187196
self.assertEqual(a, b)
188197
self.assertEqual(hash(a), hash(b))

tests/test_photo.py

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

21-
from io import BytesIO
22-
import sys
23-
import unittest
2421
import os
22+
import unittest
23+
from io import BytesIO
2524

2625
from flaky import flaky
2726

28-
from tests.bots import get_bot
29-
30-
sys.path.append('.')
31-
3227
import telegram
3328
from tests.base import BaseTest, timeout
29+
from tests.bots import get_bot
3430

3531

3632
class PhotoTest(BaseTest, unittest.TestCase):

0 commit comments

Comments
 (0)