Simplify test_wikipedia.py.

We now use StubBotTestCase.verify_reply().
This commit is contained in:
Steve Howell 2017-12-01 12:42:34 -08:00 committed by showell
parent 16e50e991b
commit fab9d46f93

View file

@ -1,64 +1,43 @@
#!/usr/bin/env python #!/usr/bin/env python
from __future__ import absolute_import from zulip_bots.test_lib import StubBotTestCase
from __future__ import print_function
from zulip_bots.test_lib import BotTestCase class TestWikipediaBot(StubBotTestCase):
class TestWikipediaBot(BotTestCase):
bot_name = "wikipedia" bot_name = "wikipedia"
def test_bot(self): def test_bot(self):
# Single-word query # Single-word query
bot_request = 'happy'
bot_response = "For search term \"happy\", https://en.wikipedia.org/wiki/Happiness" bot_response = "For search term \"happy\", https://en.wikipedia.org/wiki/Happiness"
with self.mock_http_conversation('test_single_word'): with self.mock_http_conversation('test_single_word'):
self.assert_bot_response( self.verify_reply(bot_request, bot_response)
message = {'content': 'happy'},
response = {'content': bot_response},
expected_method='send_reply'
)
# Multi-word query # Multi-word query
bot_request = 'The sky is blue'
bot_response = "For search term \"The sky is blue\", https://en.wikipedia.org/wiki/Sky_blue" bot_response = "For search term \"The sky is blue\", https://en.wikipedia.org/wiki/Sky_blue"
with self.mock_http_conversation('test_multi_word'): with self.mock_http_conversation('test_multi_word'):
self.assert_bot_response( self.verify_reply(bot_request, bot_response)
message = {'content': 'The sky is blue'},
response = {'content': bot_response},
expected_method='send_reply'
)
# Number query # Number query
bot_request = '123'
bot_response = "For search term \"123\", https://en.wikipedia.org/wiki/123" bot_response = "For search term \"123\", https://en.wikipedia.org/wiki/123"
with self.mock_http_conversation('test_number_query'): with self.mock_http_conversation('test_number_query'):
self.assert_bot_response( self.verify_reply(bot_request, bot_response)
message = {'content': '123'},
response = {'content': bot_response},
expected_method='send_reply'
)
# Hash query # Hash query
bot_request = '#'
bot_response = "For search term \"#\", https://en.wikipedia.org/wiki/Number_sign" bot_response = "For search term \"#\", https://en.wikipedia.org/wiki/Number_sign"
with self.mock_http_conversation('test_hash_query'): with self.mock_http_conversation('test_hash_query'):
self.assert_bot_response( self.verify_reply(bot_request, bot_response)
message = {'content': '#'},
response = {'content': bot_response},
expected_method='send_reply'
)
# Incorrect word # Incorrect word
bot_request = 'sssssss kkkkk'
bot_response = "I am sorry. The search term you provided is not found :slightly_frowning_face:" bot_response = "I am sorry. The search term you provided is not found :slightly_frowning_face:"
with self.mock_http_conversation('test_incorrect_query'): with self.mock_http_conversation('test_incorrect_query'):
self.assert_bot_response( self.verify_reply(bot_request, bot_response)
message = {'content': 'sssssss kkkkk'},
response = {'content': bot_response},
expected_method='send_reply'
)
# Empty query, no request made to the Internet. # Empty query, no request made to the Internet.
bot_request = ''
bot_response = "Please enter your message after @mention-bot" bot_response = "Please enter your message after @mention-bot"
self.assert_bot_response( self.verify_reply(bot_request, bot_response)
message = {'content': ''},
response = {'content': bot_response},
expected_method='send_reply'
)