From fb116259d0889d774a1057c08cb87aaecfb25c13 Mon Sep 17 00:00:00 2001 From: derAnfaenger Date: Tue, 7 Nov 2017 13:17:32 +0100 Subject: [PATCH] zulip_botserver: Make tests more realistic. Specifically, this invokes server.load_lib_modules() and server.load_bot_handlers() to generate the modules and handlers, instead of hardcoding them. --- zulip_botserver/tests/server_test_lib.py | 13 +++---------- zulip_botserver/tests/test_server.py | 23 +++++++---------------- 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/zulip_botserver/tests/server_test_lib.py b/zulip_botserver/tests/server_test_lib.py index 08b993b..c1a3380 100644 --- a/zulip_botserver/tests/server_test_lib.py +++ b/zulip_botserver/tests/server_test_lib.py @@ -15,23 +15,16 @@ class BotServerTestCase(TestCase): bots_config=None, bots_lib_module=None, bot_handlers=None, - payload_url="/bots/testbot", + payload_url="/bots/helloworld", message=dict(message={'key': "test message"}), check_success=False, ): # type: (List[str], Dict[str, Any], Dict[str, Any], Dict[str, Any], str, Dict[str, Dict[str, Any]], bool) -> None - if available_bots is not None: zulip_botserver.server.available_bots = available_bots - - if bots_config is not None: zulip_botserver.server.bots_config = bots_config - - if bots_lib_module is not None: - zulip_botserver.server.bots_lib_module = bots_lib_module - - if bot_handlers is not None: - zulip_botserver.server.bot_handlers = bot_handlers + zulip_botserver.server.load_lib_modules() + zulip_botserver.server.load_bot_handlers() response = self.app.post(payload_url, data=json.dumps(message)) diff --git a/zulip_botserver/tests/test_server.py b/zulip_botserver/tests/test_server.py index ed035b6..d44a0bf 100644 --- a/zulip_botserver/tests/test_server.py +++ b/zulip_botserver/tests/test_server.py @@ -2,7 +2,6 @@ from __future__ import absolute_import import mock import unittest from typing import Any -from werkzeug.exceptions import BadRequest from zulip_botserver import server from .server_test_lib import BotServerTestCase @@ -20,39 +19,31 @@ class BotServerTests(BotServerTestCase): @mock.patch('zulip_botserver.server.ExternalBotHandler') def test_successful_request(self, mock_ExternalBotHandler): # type: (mock.Mock) -> None - available_bots = ['testbot'] + available_bots = ['helloworld'] bots_config = { - 'testbot': { - 'email': 'testbot-bot@zulip.com', + 'helloworld': { + 'email': 'helloworld-bot@zulip.com', 'key': '123456789qwertyuiop', 'site': 'http://localhost', } } - bots_lib_module = { - 'testbot': BotServerTests.MockLibModule() - } - bot_handlers = { - 'testbot': mock_ExternalBotHandler() - } self.assert_bot_server_response(available_bots=available_bots, bots_config=bots_config, - bots_lib_module=bots_lib_module, - bot_handlers=bot_handlers, check_success=True) def test_bot_module_not_exists(self): # type: () -> None - self.assert_bot_server_response(bots_lib_module={}, + self.assert_bot_server_response(available_bots=[], payload_url="/bots/not_supported_bot", check_success=False) @mock.patch('logging.error') def test_wrong_bot_credentials(self, mock_LoggingError): # type: (mock.Mock) -> None - available_bots = ['testbot'] + available_bots = ['helloworld'] bots_config = { - 'testbot': { - 'email': 'testbot-bot@zulip.com', + 'helloworld': { + 'email': 'helloworld-bot@zulip.com', 'key': '123456789qwertyuiop', 'site': 'http://localhost', }