test_document done

* Changed to new method of non-static file_id
* removed obsolete tests.
This commit is contained in:
Eldin 2017-06-21 17:38:20 +02:00
parent f6a98d7888
commit 281bd67298
2 changed files with 73 additions and 68 deletions

View file

@ -18,56 +18,72 @@
# along with this program. If not, see [http://www.gnu.org/licenses/].
"""This module contains an object that represents Tests for Telegram Document"""
import sys
import unittest
import os
import unittest
from flaky import flaky
sys.path.append('.')
import telegram
from tests.base import BaseTest, timeout
from tests.bots import get_bot
class DocumentTest(BaseTest, unittest.TestCase):
"""This object represents Tests for Telegram Document."""
@classmethod
def setUpClass(cls):
cls.caption = u'DocumentTest - Caption'
cls.document_file_url = 'https://raw.githubusercontent.com/python-telegram-bot/python-telegram-bot/master/tests/data/telegram.gif'
bot_info = get_bot()
cls._chat_id = bot_info['chat_id']
cls._bot = telegram.Bot(bot_info['token'])
document_file = open('tests/data/telegram.png', 'rb')
document = cls._bot.send_document(cls._chat_id, document=document_file, timeout=10).document
cls.document = document
# Make sure file has been uploaded.
# Simple assertions PY2 Only
assert isinstance(cls.document, telegram.Document)
assert isinstance(cls.document.file_id, str)
assert cls.document.file_id is not ''
def setUp(self):
self.document_file = open('tests/data/telegram.png', 'rb')
self.document_file_id = 'BQADAQADpAADHyP1B04ipZxJTe2BAg'
self.document_file_url = 'https://raw.githubusercontent.com/python-telegram-bot/python-telegram-bot/master/tests/data/telegram.gif'
self.thumb = {
'width': 90,
'height': 90,
'file_id': 'BQADAQADoQADHyP1B0mzJMVyzcB0Ag',
'file_size': 2364
}
self.file_name = 'telegram.png'
self.mime_type = 'image/png'
self.file_size = 12948
self.json_dict = {
'file_id': self.document_file_id,
'thumb': self.thumb,
'file_name': self.file_name,
'mime_type': self.mime_type,
'file_size': self.file_size
'file_id': self.document.file_id,
'thumb': self.document.thumb.to_dict(),
'file_name': self.document.file_name,
'mime_type': self.document.mime_type,
'file_size': self.document.file_size
}
def test_expected_values(self):
self.assertEqual(self.document.file_size, 12948)
self.assertEqual(self.document.mime_type, 'image/png')
self.assertEqual(self.document.file_name, 'telegram.png')
self.assertEqual(self.document.thumb.file_size, 2364)
self.assertEqual(self.document.thumb.width, 90)
self.assertEqual(self.document.thumb.height, 90)
@flaky(3, 1)
@timeout(10)
def test_send_document_png_file(self):
message = self._bot.sendDocument(self._chat_id, self.document_file, caption='caption text')
def test_send_document_all_args(self):
message = self._bot.sendDocument(self._chat_id, document=self.document_file, caption=self.caption,
disable_notification=False)
document = message.document
self.assertIsInstance(document, telegram.Document)
self.assertTrue(isinstance(document.file_id, str))
self.assertNotEqual(document.file_id, '')
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
self.assertEqual(document.file_name, self.file_name)
self.assertEqual(document.mime_type, self.mime_type)
self.assertEqual(document.file_size, self.file_size)
self.assertEqual(document.file_name, self.document.file_name)
self.assertEqual(document.mime_type, self.document.mime_type)
self.assertEqual(document.file_size, self.document.file_size)
self.assertEqual(document.thumb, self.document.thumb)
self.assertEqual(message.caption, self.caption)
@flaky(3, 1)
@timeout(10)
@ -77,12 +93,7 @@ class DocumentTest(BaseTest, unittest.TestCase):
document = message.document
self.assertTrue(isinstance(document.file_id, str))
self.assertNotEqual(document.file_id, '')
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
self.assertEqual(document.file_name, 'telegram_custom.png')
self.assertEqual(document.mime_type, self.mime_type)
self.assertEqual(document.file_size, self.file_size)
@flaky(3, 1)
@timeout(10)
@ -91,6 +102,7 @@ class DocumentTest(BaseTest, unittest.TestCase):
document = message.document
self.assertIsInstance(document, telegram.Document)
self.assertTrue(isinstance(document.file_id, str))
self.assertNotEqual(document.file_id, '')
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
@ -101,23 +113,20 @@ class DocumentTest(BaseTest, unittest.TestCase):
@flaky(3, 1)
@timeout(10)
def test_send_document_resend(self):
message = self._bot.sendDocument(chat_id=self._chat_id, document=self.document_file_id)
message = self._bot.sendDocument(chat_id=self._chat_id, document=self.document.file_id)
document = message.document
self.assertEqual(document.file_id, self.document_file_id)
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
self.assertEqual(document.file_name, self.file_name)
self.assertEqual(document.mime_type, self.mime_type)
self.assertEqual(document, self.document)
def test_document_de_json(self):
document = telegram.Document.de_json(self.json_dict, self._bot)
self.assertEqual(document.file_id, self.document_file_id)
self.assertEqual(document.file_id, self.document.file_id)
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
self.assertEqual(document.file_name, self.file_name)
self.assertEqual(document.mime_type, self.mime_type)
self.assertEqual(document.file_size, self.file_size)
self.assertEqual(document.file_name, self.document.file_name)
self.assertEqual(document.mime_type, self.document.mime_type)
self.assertEqual(document.file_size, self.document.file_size)
def test_document_to_json(self):
document = telegram.Document.de_json(self.json_dict, self._bot)
@ -125,14 +134,13 @@ class DocumentTest(BaseTest, unittest.TestCase):
self.assertTrue(self.is_json(document.to_json()))
def test_document_to_dict(self):
document = telegram.Document.de_json(self.json_dict, self._bot)
document = telegram.Document.de_json(self.json_dict, self._bot).to_dict()
self.assertTrue(self.is_dict(document.to_dict()))
self.assertEqual(document['file_id'], self.document_file_id)
self.assertTrue(isinstance(document['thumb'], telegram.PhotoSize))
self.assertEqual(document['file_name'], self.file_name)
self.assertEqual(document['mime_type'], self.mime_type)
self.assertEqual(document['file_size'], self.file_size)
self.assertTrue(self.is_dict(document))
self.assertEqual(document['file_id'], self.document.file_id)
self.assertEqual(document['file_name'], self.document.file_name)
self.assertEqual(document['mime_type'], self.document.mime_type)
self.assertEqual(document['file_size'], self.document.file_size)
@flaky(3, 1)
@timeout(10)
@ -142,9 +150,8 @@ class DocumentTest(BaseTest, unittest.TestCase):
del (json_dict['file_id'])
json_dict['document'] = open(os.devnull, 'rb')
self.assertRaises(telegram.TelegramError,
lambda: self._bot.sendDocument(chat_id=self._chat_id,
**json_dict))
with self.assertRaises(telegram.TelegramError):
self._bot.sendDocument(chat_id=self._chat_id, **json_dict)
@flaky(3, 1)
@timeout(10)
@ -154,9 +161,8 @@ class DocumentTest(BaseTest, unittest.TestCase):
del (json_dict['file_id'])
json_dict['document'] = ''
self.assertRaises(telegram.TelegramError,
lambda: self._bot.sendDocument(chat_id=self._chat_id,
**json_dict))
with self.assertRaises(telegram.TelegramError):
self._bot.sendDocument(chat_id=self._chat_id, **json_dict)
@flaky(3, 1)
@timeout(10)
@ -165,9 +171,7 @@ class DocumentTest(BaseTest, unittest.TestCase):
del (json_dict['file_id'])
self.assertRaises(TypeError,
lambda: self._bot.sendDocument(chat_id=self._chat_id,
**json_dict))
with self.assertRaises(TypeError): self._bot.sendDocument(chat_id=self._chat_id, **json_dict)
@flaky(3, 1)
@timeout(10)
@ -176,13 +180,18 @@ class DocumentTest(BaseTest, unittest.TestCase):
message = self._bot.sendMessage(self._chat_id, '.')
message = message.reply_document(self.document_file)
self.assertNotEqual(message.document.file_id, '')
document = message.document
self.assertIsInstance(document, telegram.Document)
self.assertTrue(isinstance(document.file_id, str))
self.assertNotEqual(document.file_id, '')
self.assertTrue(isinstance(document.thumb, telegram.PhotoSize))
def test_equality(self):
a = telegram.Document(self.document_file_id)
b = telegram.Document(self.document_file_id)
a = telegram.Document(self.document.file_id)
b = telegram.Document(self.document.file_id)
d = telegram.Document("")
e = telegram.Voice(self.document_file_id, 0)
e = telegram.Voice(self.document.file_id, 0)
self.assertEqual(a, b)
self.assertEqual(hash(a), hash(b))

View file

@ -18,19 +18,15 @@
# along with this program. If not, see [http://www.gnu.org/licenses/].
"""This module contains an object that represents Tests for Telegram Photo"""
from io import BytesIO
import sys
import unittest
import os
import unittest
from io import BytesIO
from flaky import flaky
from tests.bots import get_bot
sys.path.append('.')
import telegram
from tests.base import BaseTest, timeout
from tests.bots import get_bot
class PhotoTest(BaseTest, unittest.TestCase):