From 34e10a145c946eabc8be69050408f5c3e7440dbc Mon Sep 17 00:00:00 2001 From: gcarq Date: Sat, 9 Jun 2018 00:15:04 +0200 Subject: [PATCH] remove Telegram.is_enabled() because RPCManager manages lifecycles --- freqtrade/rpc/telegram.py | 17 ------- freqtrade/tests/rpc/test_rpc_telegram.py | 58 ++---------------------- 2 files changed, 4 insertions(+), 71 deletions(-) diff --git a/freqtrade/rpc/telegram.py b/freqtrade/rpc/telegram.py index 08b45ffe4..701c23a51 100644 --- a/freqtrade/rpc/telegram.py +++ b/freqtrade/rpc/telegram.py @@ -80,12 +80,7 @@ class Telegram(RPC): Initializes this module with the given config, registers all known command handlers and starts polling for message updates - :param config: config to use - :return: None """ - if not self.is_enabled(): - return - self._updater = Updater(token=self._config['telegram']['token'], workers=0) # Register command handler and start telegram message polling @@ -121,21 +116,12 @@ class Telegram(RPC): Stops all running telegram threads. :return: None """ - if not self.is_enabled(): - return - self._updater.stop() def send_msg(self, msg: str) -> None: """ Send a message to telegram channel """ self._send_msg(msg) - def is_enabled(self) -> bool: - """ - Returns True if the telegram module is activated, False otherwise - """ - return bool(self._config.get('telegram', {}).get('enabled', False)) - @authorized_only def _status(self, bot: Bot, update: Update) -> None: """ @@ -418,9 +404,6 @@ class Telegram(RPC): :param parse_mode: telegram parse mode :return: None """ - if not self.is_enabled(): - return - bot = bot or self._updater.bot keyboard = [['/daily', '/profit', '/balance'], diff --git a/freqtrade/tests/rpc/test_rpc_telegram.py b/freqtrade/tests/rpc/test_rpc_telegram.py index 87e884110..68afa7587 100644 --- a/freqtrade/tests/rpc/test_rpc_telegram.py +++ b/freqtrade/tests/rpc/test_rpc_telegram.py @@ -32,6 +32,9 @@ class DummyCls(Telegram): super().__init__(freqtrade) self.state = {'called': False} + def _init(self): + pass + @authorized_only def dummy_handler(self, *args, **kwargs) -> None: """ @@ -78,21 +81,6 @@ def test_init(default_conf, mocker, caplog) -> None: assert log_has(message_str, caplog.record_tuples) -def test_init_disabled(default_conf, mocker, caplog) -> None: - """ - Test _init() method when Telegram is disabled - """ - conf = deepcopy(default_conf) - conf['telegram']['enabled'] = False - Telegram(get_patched_freqtradebot(mocker, conf)) - - message_str = "rpc.telegram is listening for following commands: [['status'], ['profit'], " \ - "['balance'], ['start'], ['stop'], ['forcesell'], ['performance'], ['daily'], " \ - "['count'], ['help'], ['version']]" - - assert not log_has(message_str, caplog.record_tuples) - - def test_cleanup(default_conf, mocker) -> None: """ Test cleanup() method @@ -101,44 +89,11 @@ def test_cleanup(default_conf, mocker) -> None: updater_mock.stop = MagicMock() mocker.patch('freqtrade.rpc.telegram.Updater', updater_mock) - # not enabled - conf = deepcopy(default_conf) - conf['telegram']['enabled'] = False - telegram = Telegram(get_patched_freqtradebot(mocker, conf)) - telegram.cleanup() - assert telegram._updater is None - assert updater_mock.call_count == 0 - assert not hasattr(telegram._updater, 'stop') - assert updater_mock.stop.call_count == 0 - - # enabled - conf['telegram']['enabled'] = True - telegram = Telegram(get_patched_freqtradebot(mocker, conf)) + telegram = Telegram(get_patched_freqtradebot(mocker, default_conf)) telegram.cleanup() assert telegram._updater.stop.call_count == 1 -def test_is_enabled(default_conf, mocker) -> None: - """ - Test is_enabled() method - """ - mocker.patch('freqtrade.rpc.telegram.Updater', MagicMock()) - - telegram = Telegram(get_patched_freqtradebot(mocker, default_conf)) - assert telegram.is_enabled() - - -def test_is_not_enabled(default_conf, mocker) -> None: - """ - Test is_enabled() method - """ - conf = deepcopy(default_conf) - conf['telegram']['enabled'] = False - telegram = Telegram(get_patched_freqtradebot(mocker, conf)) - - assert not telegram.is_enabled() - - def test_authorized_only(default_conf, mocker, caplog) -> None: """ Test authorized_only() method when we are authorized @@ -1087,11 +1042,6 @@ def test_send_msg(default_conf, mocker) -> None: freqtradebot = FreqtradeBot(conf) telegram = Telegram(freqtradebot) - telegram._config['telegram']['enabled'] = False - telegram._send_msg('test', bot) - assert not bot.method_calls - bot.reset_mock() - telegram._config['telegram']['enabled'] = True telegram._send_msg('test', bot) assert len(bot.method_calls) == 1