bots: Add tests for followup bot.
'followup' bot has different message handling behavior for different messages. For usual messages it calls 'send_message' function of 'BotHandlerApi' class. For empty messages it calls 'send_reply' function of 'BotHandlerApi' class.
This commit is contained in:
parent
e857a97427
commit
ff077bf7f0
39
bots/followup/test_followup.py
Normal file
39
bots/followup/test_followup.py
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
from __future__ import absolute_import
|
||||||
|
from __future__ import print_function
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
our_dir = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
sys.path.insert(0, os.path.normpath(os.path.join(our_dir)))
|
||||||
|
# For dev setups, we can find the API in the repo itself.
|
||||||
|
if os.path.exists(os.path.join(our_dir, '..')):
|
||||||
|
sys.path.insert(0, '..')
|
||||||
|
from bots_test_lib import BotTestCase
|
||||||
|
|
||||||
|
class TestFollowUpBot(BotTestCase):
|
||||||
|
bot_name = "followup"
|
||||||
|
|
||||||
|
def test_bot(self):
|
||||||
|
expected_send_reply = {
|
||||||
|
"": 'Please specify the message you want to send to followup stream after @mention-bot'
|
||||||
|
}
|
||||||
|
self.check_expected_responses(expected_send_reply, expected_method='send_reply')
|
||||||
|
|
||||||
|
expected_send_message = {
|
||||||
|
"foo": {
|
||||||
|
'type': 'stream',
|
||||||
|
'to': 'followup',
|
||||||
|
'subject': 'foo_sender@zulip.com',
|
||||||
|
'content': 'from foo_sender@zulip.com: foo',
|
||||||
|
},
|
||||||
|
"I have completed my task": {
|
||||||
|
'type': 'stream',
|
||||||
|
'to': 'followup',
|
||||||
|
'subject': 'foo_sender@zulip.com',
|
||||||
|
'content': 'from foo_sender@zulip.com: I have completed my task',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
self.check_expected_responses(expected_send_message, expected_method='send_message')
|
Loading…
Reference in a new issue