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
2321import os
22+ import unittest
2423
2524from flaky import flaky
2625
27- sys .path .append ('.' )
28-
2926import telegram
3027from tests .base import BaseTest , timeout
31-
28+ from tests . bots import get_bot
3229
3330class 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 ))
0 commit comments