diff --git a/tests/base.py b/tests/base.py index 910d3c7c5..22209d719 100644 --- a/tests/base.py +++ b/tests/base.py @@ -24,6 +24,8 @@ import sys from nose.tools import make_decorator +from tests.bots import get_bot + sys.path.append('.') import json @@ -33,19 +35,20 @@ import telegram class BaseTest(object): """This object represents a Base test and its sets of functions.""" - def __init__(self, *args, **kwargs): - super(BaseTest, self).__init__(*args, **kwargs) + _group_id = None + _channel_id = None + _bot = None + _chat_id = None + _payment_provider_token = None - bot = telegram.Bot( - os.environ.get('TOKEN', '133505823:AAHZFMHno3mzVLErU5b5jJvaeG--qUyLyG0')) - chat_id = os.environ.get('CHAT_ID', '12173560') - - self._group_id = os.environ.get('GROUP_ID', '-49740850') - self._channel_id = os.environ.get('CHANNEL_ID', '@pythontelegrambottests') - self._bot = bot - self._chat_id = chat_id - self._payment_provider_token = os.environ.get('PAYMENT_PROVIDER_TOKEN', - '284685063:TEST:ZGJlMmQxZDI3ZTc3') + @classmethod + def setUpClass(cls): + bot_info = get_bot() + cls._chat_id = bot_info['chat_id'] + cls._bot = telegram.Bot(bot_info['token']) + cls._group_id = bot_info['group_id'] + cls._channel_id = bot_info['channel_id'] + cls._payment_provider_token = bot_info['payment_provider_token'] @staticmethod def is_json(string): diff --git a/tests/test_audio.py b/tests/test_audio.py index a8cd5e129..b6db1b1ee 100644 --- a/tests/test_audio.py +++ b/tests/test_audio.py @@ -25,7 +25,6 @@ from flaky import flaky import telegram from tests.base import BaseTest, timeout -from tests.bots import get_bot class AudioTest(BaseTest, unittest.TestCase): @@ -33,6 +32,8 @@ class AudioTest(BaseTest, unittest.TestCase): @classmethod def setUpClass(cls): + super(AudioTest, cls).setUpClass() + cls.caption = "Test audio" cls.performer = 'Leandro Toledo' cls.title = 'Teste' @@ -40,10 +41,6 @@ class AudioTest(BaseTest, unittest.TestCase): # Shortened link, the above one is cached with the wrong duration. cls.audio_file_url = "https://goo.gl/3En24v" - bot_info = get_bot() - cls._chat_id = bot_info['chat_id'] - cls._bot = telegram.Bot(bot_info['token']) - audio_file = open('tests/data/telegram.mp3', 'rb') audio = cls._bot.send_audio(cls._chat_id, audio=audio_file, timeout=10).audio cls.audio = audio diff --git a/tests/test_document.py b/tests/test_document.py index ccef244ad..edcbc4401 100644 --- a/tests/test_document.py +++ b/tests/test_document.py @@ -25,20 +25,18 @@ from flaky import flaky 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): + super(DocumentTest, cls).setUpClass() + cls.caption = u'DocumentTest - Caption' cls.document_file_url = 'https://python-telegram-bot.org/static/testfiles/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 diff --git a/tests/test_photo.py b/tests/test_photo.py index c7a2dbddb..e29400ff6 100644 --- a/tests/test_photo.py +++ b/tests/test_photo.py @@ -26,7 +26,6 @@ from flaky import flaky import telegram from tests.base import BaseTest, timeout -from tests.bots import get_bot class PhotoTest(BaseTest, unittest.TestCase): @@ -34,13 +33,11 @@ class PhotoTest(BaseTest, unittest.TestCase): @classmethod def setUpClass(cls): + super(PhotoTest, cls).setUpClass() + cls.caption = u'PhotoTest - Caption' cls.photo_file_url = 'https://python-telegram-bot.org/static/testfiles/telegram.jpg' - bot_info = get_bot() - cls._chat_id = bot_info['chat_id'] - cls._bot = telegram.Bot(bot_info['token']) - photo_file = open('tests/data/telegram.jpg', 'rb') photo = cls._bot.send_photo(cls._chat_id, photo=photo_file, timeout=10).photo cls.thumb, cls.photo = photo diff --git a/tests/test_sticker.py b/tests/test_sticker.py index 5e62d9421..12ad37cc1 100644 --- a/tests/test_sticker.py +++ b/tests/test_sticker.py @@ -27,7 +27,6 @@ from future.utils import PY2 import telegram from tests.base import BaseTest, timeout -from tests.bots import get_bot class StickerTest(BaseTest, unittest.TestCase): @@ -35,15 +34,13 @@ class StickerTest(BaseTest, unittest.TestCase): @classmethod def setUpClass(cls): + super(StickerTest, cls).setUpClass() + cls.emoji = '💪' # cls.sticker_file_url = "https://python-telegram-bot.org/static/testfiles/telegram.webp" # Serving sticker from gh since our server sends wrong content_type cls.sticker_file_url = "https://github.com/python-telegram-bot/python-telegram-bot/blob/master/tests/data/telegram.webp?raw=true" # noqa - bot_info = get_bot() - cls._chat_id = bot_info['chat_id'] - cls._bot = telegram.Bot(bot_info['token']) - sticker_file = open('tests/data/telegram.webp', 'rb') sticker = cls._bot.send_sticker(cls._chat_id, sticker=sticker_file, timeout=10).sticker cls.sticker = sticker diff --git a/tests/test_video.py b/tests/test_video.py index 9ce77d97f..936e58362 100644 --- a/tests/test_video.py +++ b/tests/test_video.py @@ -25,7 +25,6 @@ from flaky import flaky import telegram from tests.base import BaseTest, timeout -from tests.bots import get_bot class VideoTest(BaseTest, unittest.TestCase): @@ -33,13 +32,11 @@ class VideoTest(BaseTest, unittest.TestCase): @classmethod def setUpClass(cls): + super(VideoTest, cls).setUpClass() + cls.caption = u'VideoTest - Caption' cls.video_file_url = 'https://python-telegram-bot.org/static/testfiles/telegram.mp4' - bot_info = get_bot() - cls._chat_id = bot_info['chat_id'] - cls._bot = telegram.Bot(bot_info['token']) - video_file = open('tests/data/telegram.mp4', 'rb') video = cls._bot.send_video(cls._chat_id, video=video_file, timeout=10).video cls.video = video diff --git a/tests/test_videonote.py b/tests/test_videonote.py index 8c99a5404..bd9a89609 100644 --- a/tests/test_videonote.py +++ b/tests/test_videonote.py @@ -24,7 +24,6 @@ from flaky import flaky import telegram from tests.base import BaseTest, timeout -from tests.bots import get_bot class VideoNoteTest(BaseTest, unittest.TestCase): @@ -32,9 +31,7 @@ class VideoNoteTest(BaseTest, unittest.TestCase): @classmethod def setUpClass(cls): - bot_info = get_bot() - cls._chat_id = bot_info['chat_id'] - cls._bot = telegram.Bot(bot_info['token']) + super(VideoNoteTest, cls).setUpClass() videonote_file = open('tests/data/telegram2.mp4', 'rb') video_note = cls._bot.send_video_note(cls._chat_id, video_note=videonote_file, timeout=10).video_note diff --git a/tests/test_voice.py b/tests/test_voice.py index caa99bc3f..6308cb712 100644 --- a/tests/test_voice.py +++ b/tests/test_voice.py @@ -25,7 +25,6 @@ from flaky import flaky import telegram from tests.base import BaseTest, timeout -from tests.bots import get_bot class VoiceTest(BaseTest, unittest.TestCase): @@ -33,13 +32,12 @@ class VoiceTest(BaseTest, unittest.TestCase): @classmethod def setUpClass(cls): + super(VoiceTest, cls).setUpClass() + cls.voice_file_url = 'https://python-telegram-bot.org/static/testfiles/telegram.ogg' cls.caption = u"Test voice" voice_file = open('tests/data/telegram.ogg', 'rb') - bot_info = get_bot() - cls._chat_id = bot_info['chat_id'] - cls._bot = telegram.Bot(bot_info['token']) voice = cls._bot.send_voice(cls._chat_id, voice=voice_file).voice cls.voice = voice