Skip to content

Commit 53a574b

Browse files
committed
Improve unitests coverage
1 parent 5b8efe0 commit 53a574b

File tree

4 files changed

+48
-16
lines changed

4 files changed

+48
-16
lines changed

telegram/bot.py

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,14 @@ class Bot(TelegramObject):
5151
def __init__(self, token, base_url=None, base_file_url=None, request=None):
5252
self.token = self._validate_token(token)
5353

54-
if not base_url:
55-
self.base_url = 'https://api.telegram.org/bot{0}'.format(self.token)
56-
else:
57-
self.base_url = base_url + self.token
54+
if base_url is None:
55+
base_url = 'https://api.telegram.org/bot'
5856

59-
if not base_file_url:
60-
self.base_file_url = 'https://api.telegram.org/file/bot{0}'.format(self.token)
61-
else:
62-
self.base_file_url = base_file_url + self.token
57+
if base_file_url is None:
58+
base_file_url = 'https://api.telegram.org/file/bot'
6359

60+
self.base_url = str(base_url) + str(self.token)
61+
self.base_file_url = str(base_file_url) + str(self.token)
6462
self.bot = None
6563
self._request = request or Request()
6664
self.logger = logging.getLogger(__name__)
@@ -782,11 +780,6 @@ def sendGame(self,
782780

783781
data = {'chat_id': chat_id, 'game_short_name': game_short_name}
784782

785-
if parse_mode is not None:
786-
data['parse_mode'] = parse_mode
787-
if disable_web_page_preview is not None:
788-
data['disable_web_page_preview'] = disable_web_page_preview
789-
790783
return url, data
791784

792785
@log

tests/test_bot.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,17 @@ def testSilentSendMessage(self):
6767
self.assertEqual(message.text, u'Моё судно на воздушной подушке полно угрей')
6868
self.assertTrue(isinstance(message.date, datetime))
6969

70+
@flaky(3, 1)
71+
@timeout(10)
72+
def test_sendMessage_no_web_page_preview(self):
73+
message = self._bot.sendMessage(
74+
chat_id=self._chat_id,
75+
text='Моё судно на воздушной подушке полно угрей',
76+
disable_web_page_preview=True)
77+
78+
self.assertTrue(self.is_json(message.to_json()))
79+
self.assertEqual(message.text, u'Моё судно на воздушной подушке полно угрей')
80+
7081
@flaky(3, 1)
7182
@timeout(10)
7283
def testGetUpdates(self):
@@ -183,6 +194,13 @@ def testGetUserProfilePhotos(self):
183194
self.assertTrue(self.is_json(upf.to_json()))
184195
self.assertEqual(upf.photos[0][0].file_size, 12421)
185196

197+
@flaky(3, 1)
198+
@timeout(10)
199+
def test_get_one_user_profile_photo(self):
200+
upf = self._bot.getUserProfilePhotos(user_id=self._chat_id, offset=0)
201+
self.assertTrue(self.is_json(upf.to_json()))
202+
self.assertEqual(upf.photos[0][0].file_size, 12421)
203+
186204
def _test_invalid_token(self, token):
187205
self.assertRaisesRegexp(telegram.error.InvalidToken, 'Invalid token', telegram.Bot, token)
188206

@@ -304,6 +322,27 @@ def _testUserEqualsBot(self, user):
304322
self.assertEqual(user.username, 'PythonTelegramBot')
305323
self.assertEqual(user.name, '@PythonTelegramBot')
306324

325+
@flaky(3, 1)
326+
@timeout(10)
327+
def test_info(self):
328+
# tests the Bot.info decorator and associated funcs
329+
self.assertEqual(self._bot.id, 133505823)
330+
self.assertEqual(self._bot.first_name, 'PythonTelegramBot')
331+
self.assertEqual(self._bot.last_name, '')
332+
self.assertEqual(self._bot.username, 'PythonTelegramBot')
333+
self.assertEqual(self._bot.name, '@PythonTelegramBot')
334+
335+
@flaky(3, 1)
336+
@timeout(10)
337+
def test_send_contact(self):
338+
phone = '+3-54-5445445'
339+
name = 'name'
340+
last = 'last'
341+
message = self._bot.send_contact(self._chat_id, phone, name, last)
342+
self.assertEqual(phone.replace('-', ''), message.contact.phone_number)
343+
self.assertEqual(name, message.contact.first_name)
344+
self.assertEqual(last, message.contact.last_name)
345+
307346

308347
if __name__ == '__main__':
309348
unittest.main()

tests/test_document.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def setUp(self):
5858
@flaky(3, 1)
5959
@timeout(10)
6060
def test_send_document_png_file(self):
61-
message = self._bot.sendDocument(self._chat_id, self.document_file)
61+
message = self._bot.sendDocument(self._chat_id, self.document_file, caption='caption text')
6262

6363
document = message.document
6464

tests/test_venue.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ def setUp(self):
4545
'foursquare_id': self.foursquare_id
4646
}
4747

48-
def test_sticker_de_json(self):
48+
def test_venue_de_json(self):
4949
sticker = telegram.Venue.de_json(self.json_dict, self._bot)
5050

5151
self.assertTrue(isinstance(sticker.location, telegram.Location))
5252
self.assertEqual(sticker.title, self.title)
5353
self.assertEqual(sticker.address, self._address)
5454
self.assertEqual(sticker.foursquare_id, self.foursquare_id)
5555

56-
def test_sticker_to_json(self):
56+
def test_venue_to_json(self):
5757
sticker = telegram.Venue.de_json(self.json_dict, self._bot)
5858

5959
self.assertTrue(self.is_json(sticker.to_json()))

0 commit comments

Comments
 (0)