bots: Require bots_details in ExternalBotHandler.
This parameter was defaulting to a dictionary, which is a classic Python pitfall.
This commit is contained in:
parent
ef30261858
commit
8a15452525
|
@ -83,7 +83,7 @@ class StateHandler(object):
|
||||||
return key in self.state_
|
return key in self.state_
|
||||||
|
|
||||||
class ExternalBotHandler(object):
|
class ExternalBotHandler(object):
|
||||||
def __init__(self, client, root_dir, bot_details={}):
|
def __init__(self, client, root_dir, bot_details):
|
||||||
# type: (Client, str, Dict[str, Any]) -> None
|
# type: (Client, str, Dict[str, Any]) -> None
|
||||||
# Only expose a subset of our Client's functionality
|
# Only expose a subset of our Client's functionality
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -44,7 +44,7 @@ class BotTestCaseBase(TestCase):
|
||||||
# Mocking ExternalBotHandler
|
# Mocking ExternalBotHandler
|
||||||
self.patcher = patch('zulip_bots.lib.ExternalBotHandler', autospec=True)
|
self.patcher = patch('zulip_bots.lib.ExternalBotHandler', autospec=True)
|
||||||
self.MockClass = self.patcher.start()
|
self.MockClass = self.patcher.start()
|
||||||
self.mock_bot_handler = self.MockClass(None, None)
|
self.mock_bot_handler = self.MockClass(None, None, None)
|
||||||
self.mock_client = MagicMock()
|
self.mock_client = MagicMock()
|
||||||
self.mock_client.get_storage.return_value = {'result': 'success', 'state': {}}
|
self.mock_client.get_storage.return_value = {'result': 'success', 'state': {}}
|
||||||
self.mock_client.update_storage.return_value = {'result': 'success'}
|
self.mock_client.update_storage.return_value = {'result': 'success'}
|
||||||
|
|
|
@ -54,7 +54,7 @@ def load_bot_handlers():
|
||||||
try:
|
try:
|
||||||
bot_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)),
|
bot_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)),
|
||||||
'bots', bot)
|
'bots', bot)
|
||||||
bot_handlers[bot] = ExternalBotHandler(client, bot_dir)
|
bot_handlers[bot] = ExternalBotHandler(client, bot_dir, bot_details={})
|
||||||
except SystemExit:
|
except SystemExit:
|
||||||
return BadRequest("Cannot fetch user profile for bot {}, make sure you have set up the flaskbotrc "
|
return BadRequest("Cannot fetch user profile for bot {}, make sure you have set up the flaskbotrc "
|
||||||
"file correctly.".format(bot))
|
"file correctly.".format(bot))
|
||||||
|
|
Loading…
Reference in a new issue