2015-07-07 22:04:42 +02:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# encoding: utf-8
|
|
|
|
|
|
|
|
import os
|
|
|
|
import telegram
|
|
|
|
import unittest
|
|
|
|
|
|
|
|
|
2015-07-07 22:33:59 +02:00
|
|
|
@unittest.skipIf(not os.environ.get('TOKEN'), "No tokens provided")
|
2015-07-07 22:04:42 +02:00
|
|
|
class BotTest(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
|
|
bot = telegram.Bot(token=os.environ.get('TOKEN'))
|
|
|
|
self._bot = bot
|
|
|
|
print 'Testing the Bot API class'
|
|
|
|
|
|
|
|
def testGetMe(self):
|
|
|
|
'''Test the telegram.Bot getMe method'''
|
|
|
|
print 'Testing getMe'
|
|
|
|
user = self._bot.getMe()
|
|
|
|
self.assertEqual(120405045, user.id)
|
|
|
|
self.assertEqual('Toledo\'s Palace Bot', user.first_name)
|
|
|
|
self.assertEqual(None, user.last_name)
|
|
|
|
self.assertEqual('ToledosPalaceBot', user.username)
|
|
|
|
|
|
|
|
def testSendMessage(self):
|
|
|
|
'''Test the telegram.Bot sendMessage method'''
|
|
|
|
print 'Testing sendMessage'
|
|
|
|
message = self._bot.sendMessage(chat_id=12173560,
|
|
|
|
text=u'Моё судно на воздушной подушке полно угрей'.encode('utf8'))
|
|
|
|
self.assertEqual(u'Моё судно на воздушной подушке полно угрей', message.text)
|
|
|
|
|
|
|
|
def testGetUpdates(self):
|
|
|
|
'''Test the telegram.Bot getUpdates method'''
|
|
|
|
print 'Testing getUpdates'
|
|
|
|
updates = self._bot.getUpdates()
|
2015-07-08 14:17:18 +02:00
|
|
|
self.assertEqual(129566520, updates[0].update_id)
|
2015-07-07 22:04:42 +02:00
|
|
|
|
|
|
|
def testForwardMessage(self):
|
|
|
|
'''Test the telegram.Bot forwardMessage method'''
|
|
|
|
print 'Testing forwardMessage'
|
|
|
|
message = self._bot.forwardMessage(chat_id=12173560,
|
|
|
|
from_chat_id=12173560,
|
|
|
|
message_id=138)
|
|
|
|
self.assertEqual(u'Oi', message.text)
|
|
|
|
self.assertEqual(u'leandrotoledo', message.forward_from.username)
|
|
|
|
|
2015-07-07 23:46:32 +02:00
|
|
|
def testSendPhoto(self):
|
|
|
|
'''Test the telegram.Bot sendPhoto method'''
|
2015-07-08 00:06:17 +02:00
|
|
|
print 'Testing sendPhoto - File'
|
2015-07-07 23:46:32 +02:00
|
|
|
message = self._bot.sendPhoto(photo=open('tests/telegram.png', 'rb'),
|
|
|
|
chat_id=12173560)
|
2015-07-08 01:52:57 +02:00
|
|
|
self.assertEqual(12948, message.photo[2].file_size)
|
2015-07-08 00:06:17 +02:00
|
|
|
|
2015-07-08 01:10:43 +02:00
|
|
|
def testResendPhoto(self):
|
2015-07-08 00:06:17 +02:00
|
|
|
'''Test the telegram.Bot sendPhoto method'''
|
|
|
|
print 'Testing sendPhoto - Resend'
|
|
|
|
message = self._bot.sendPhoto(photo=str('AgAD_v___6-nMRs1PC0HuqtHTCQ9qx0AFAI'),
|
|
|
|
chat_id=12173560)
|
2015-07-08 01:52:57 +02:00
|
|
|
self.assertEqual(u'AgAD_v___6-nMRs1PC0HuqtHTCQ9qx0AFAI', message.photo[2].file_id)
|
2015-07-08 01:10:43 +02:00
|
|
|
|
|
|
|
def testSendAudio(self):
|
|
|
|
'''Test the telegram.Bot sendAudio method'''
|
|
|
|
print 'Testing sendAudio - File'
|
|
|
|
message = self._bot.sendAudio(audio=open('tests/telegram.ogg', 'rb'),
|
|
|
|
chat_id=12173560)
|
2015-07-08 01:52:57 +02:00
|
|
|
self.assertEqual(9199, message.audio.file_size)
|
2015-07-08 01:10:43 +02:00
|
|
|
|
|
|
|
def testResendAudio(self):
|
|
|
|
'''Test the telegram.Bot sendAudio method'''
|
2015-07-08 02:12:51 +02:00
|
|
|
print 'Testing sendAudio - Resend'
|
2015-07-08 01:10:43 +02:00
|
|
|
message = self._bot.sendAudio(audio=str('AwADAQADIQEAAvjAuQABSAXg_GhkhZcC'),
|
|
|
|
chat_id=12173560)
|
2015-07-08 01:52:57 +02:00
|
|
|
self.assertEqual(u'AwADAQADIQEAAvjAuQABSAXg_GhkhZcC', message.audio.file_id)
|
2015-07-08 02:12:51 +02:00
|
|
|
|
|
|
|
def testSendDocument(self):
|
|
|
|
'''Test the telegram.Bot sendDocument method'''
|
|
|
|
print 'Testing sendDocument - File'
|
|
|
|
message = self._bot.sendDocument(document=open('tests/telegram.png', 'rb'),
|
|
|
|
chat_id=12173560)
|
|
|
|
self.assertEqual(12948, message.document.file_size)
|
|
|
|
|
|
|
|
def testResendDocument(self):
|
|
|
|
'''Test the telegram.Bot sendDocument method'''
|
|
|
|
print 'Testing sendDocument - Resend'
|
|
|
|
message = self._bot.sendDocument(document=str('BQADAQADHAADNTwtBxZxUGKyxYbYAg'),
|
|
|
|
chat_id=12173560)
|
|
|
|
self.assertEqual(u'BQADAQADHAADNTwtBxZxUGKyxYbYAg', message.document.file_id)
|
2015-07-08 04:52:12 +02:00
|
|
|
|
2015-07-08 14:17:18 +02:00
|
|
|
def testResendSticker(self):
|
2015-07-08 04:52:12 +02:00
|
|
|
'''Test the telegram.Bot sendSticker method'''
|
2015-07-08 14:17:18 +02:00
|
|
|
print 'Testing sendSticker - Resend'
|
2015-07-08 04:52:12 +02:00
|
|
|
message = self._bot.sendSticker(sticker=str('BQADAQADHAADyIsGAAFZfq1bphjqlgI'),
|
|
|
|
chat_id=12173560)
|
|
|
|
self.assertEqual(39518, message.sticker.file_size)
|
2015-07-08 14:17:18 +02:00
|
|
|
|
|
|
|
def testResendVideo(self):
|
|
|
|
'''Test the telegram.Bot sendVideo method'''
|
|
|
|
print 'Testing sendVideo - Resend'
|
|
|
|
message = self._bot.sendVideo(video=str('BAADAQADIgEAAvjAuQABOuTB937fPTgC'),
|
2015-07-08 14:37:25 +02:00
|
|
|
chat_id=12173560)
|
2015-07-08 14:17:18 +02:00
|
|
|
self.assertEqual(4, message.video.duration)
|
2015-07-08 14:37:25 +02:00
|
|
|
|
|
|
|
def testSendLocation(self):
|
|
|
|
'''Test the telegram.Bot sendLocation method'''
|
|
|
|
print 'Testing sendLocation'
|
|
|
|
message = self._bot.sendLocation(latitude=-23.558873,
|
|
|
|
longitude=-46.659732,
|
|
|
|
chat_id=12173560)
|
|
|
|
self.assertEqual(-23.558873, message.location.latitude)
|
|
|
|
self.assertEqual(-46.659732, message.location.longitude)
|
2015-07-08 14:55:06 +02:00
|
|
|
|
|
|
|
def testSendChatAction(self):
|
|
|
|
'''Test the telegram.Bot sendChatAction method'''
|
|
|
|
print 'Testing sendChatAction - ChatAction.TYPING'
|
|
|
|
message = self._bot.sendChatAction(action=telegram.ChatAction.TYPING,
|
|
|
|
chat_id=12173560)
|
|
|
|
# TODO: return json
|
2015-07-08 15:10:08 +02:00
|
|
|
|
|
|
|
def testGetUserProfilePhotos(self):
|
|
|
|
'''Test the telegram.Bot getUserProfilePhotos method'''
|
|
|
|
print 'Testing getUserProfilePhotos'
|
|
|
|
upf = self._bot.getUserProfilePhotos(user_id=12173560)
|
|
|
|
self.assertEqual(8314, upf.photos[0][0].file_size)
|