mirror of
https://github.com/python-telegram-bot/python-telegram-bot.git
synced 2025-03-27 08:50:38 +01:00
test_document done
* Changed to new method of non-static file_id * removed obsolete tests.
This commit is contained in:
parent
f6a98d7888
commit
281bd67298
2 changed files with 73 additions and 68 deletions
|
@ -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))
|
||||
|
|
|
@ -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):
|
||||
|
|
Loading…
Add table
Reference in a new issue