neiljp (Neil Pilgrim)
31853cfa80
Add test_bot_responds_to_empty_message to StubBotTestCase.
2017-12-09 15:06:41 -08:00
Sivagiri Visakan
6f9d010ed3
bots: Refactor Youtube bot.
2017-12-09 03:56:33 -08:00
Ivche1337
f947ff44f8
wikipedia bot: Return up to three links from wikipedia for keyword.
...
This change includes updates to the docs and tests as well.
2017-12-08 16:40:16 -08:00
Ivche1337
2597de87ef
wikipedia bot: Fix page-not-found error.
2017-12-08 16:40:16 -08:00
fredfishgames
ab9128d939
mypy: Add annotations for weather.
2017-12-08 14:55:35 -08:00
fredfishgames
f7f54d159f
mypy: Add annotations for virtual_fs.
2017-12-08 14:55:35 -08:00
fredfishgames
a7f9c6e743
Fixed giphy warning message in bot tests
2017-12-08 14:52:44 -08:00
fredfishgames
a026c48278
Added more googlesearch tests
2017-12-08 14:52:44 -08:00
fredfishgames
841efcde80
Added too many argument test for googletranslate bot.
2017-12-08 14:52:44 -08:00
neiljp (Neil Pilgrim)
d4284f88f9
XKCD: Adjust tests to use loops, inline responses, remove comments.
2017-12-08 11:21:02 -08:00
neiljp (Neil Pilgrim)
d97401df86
XKCD: Migrate tests to use verify_reply.
2017-12-08 11:21:02 -08:00
neiljp (Neil Pilgrim)
6c7a03e37a
XKCD: Split single test into multiple tests.
2017-12-08 11:21:02 -08:00
fredfishgames
9492495f4b
Removed self: Any from googlesearch
2017-12-08 10:48:42 -08:00
Steve Howell
cb849611c8
bot tests: Add sender_full_name to verify_dialog.
2017-12-08 08:51:57 -08:00
fredfishgames
4c4a60d90f
Remove self: Any
mypy annotations
2017-12-08 08:46:21 -08:00
Steve Howell
5f70e17259
bots: Simplify test_github_details.py.
2017-12-07 20:15:33 -08:00
Steve Howell
f421e90a64
bots: Simplify test_encrpyt.py.
2017-12-07 20:15:33 -08:00
Steve Howell
7285affbc4
bots: Simplify test_define.py.
2017-12-07 20:15:33 -08:00
Steve Howell
2c42b0e42e
minor: Clean up test_converter.py.
...
This removes some imports and uses StubBotTestCase
and verify_dialog.
2017-12-07 20:15:33 -08:00
Steve Howell
6f0d5239e8
test_googlesearch: Remove self: Any
annotations.
...
We can avoid `Any` annotations for `self`, since it is more
noise than signal and since the type of self is already
implicit from how Python classes work.
2017-12-07 19:40:32 -08:00
Steve Howell
011095018b
Simplify TestGoogleSearchBot.
...
We use verify_reply() for all the tests and de-duplicate
help_message by just having a single test validate both
the '' and 'help' inputs.
2017-12-07 19:40:32 -08:00
Steve Howell
c01fbe02e1
Remove unneeded imports in test_googlesearch.py.
2017-12-07 19:40:32 -08:00
fredfishgames
9d5fbc2b5b
mypy: Add annotations for help.
2017-12-07 19:12:39 -08:00
fredfishgames
40c09b4b16
mypy: Add annotations for googlesearch.
2017-12-07 19:12:39 -08:00
fredfishgames
b7dbe7af41
mypy: Add annotations for github_detail.
2017-12-07 19:12:39 -08:00
fredfishgames
1b16b54780
interactive bots: Create googletranslate bot.
2017-12-07 06:18:01 -08:00
Steve Howell
7a963916f2
bot tests: Use StubBotTestCase in test_giphy.py.
...
For three of the tests we use the simpler verify_reply()
API. For the 403 test, we don't need to rely on setUp
any more to simulate everything for us, and we do more
surgical patching.
2017-12-06 20:29:36 -08:00
Steve Howell
87662da139
bot tests: Add StubBotTestCase.mock_config_info().
...
We now auto-initialize bots in verify_reply() and have
a mock_config_info() helper that can override the new
StubBotHandler.get_config_info().
2017-12-06 20:29:36 -08:00
Steve Howell
be9570c9c4
minor: Remove unused imports in test_giphy.py.
2017-12-06 20:29:36 -08:00
Jerry Zhang
77e9be0783
bots/giphy: Use Python 3 type mypy annotations.
2017-12-07 00:22:57 -03:30
Jerry Zhang
95b8ea4751
bots/followup: Use Python 3 type mypy annotations.
2017-12-07 00:22:57 -03:30
Robert Hönig
1102057e35
zulip_bots: Make typing import work in Python 3.5.
...
See https://github.com/python/mypy/issues/1838 .
2017-12-06 12:49:46 +01:00
Skunk
29e22c2c0a
bots: Create Link Shortener Bot.
...
Create Link Shortener Bot using the goo.gl Link Shortening API.
Link Shortener Bot can be mentioned in a conversation, and it will
respond with shortened, goo.gl links for every URL in the message.
For example,
> @link_shortener_bot @johnsmith Check out this file:
> https://github.com/zulip/python-zulip-api/blob/master/zulip_bots/
and Link Shortener Bot would respond
> https://github.com/zulip/python-zulip-api/blob/master/zulip_bots/ :
> https://goo.gl/Mt5z3c
In order to use Link Shortener Bot, an API key for goo.gl must be set
in `link_shortener.conf` in the `link_shortener` folder.
2017-12-05 06:08:30 -08:00
Rohitt Vashishtha
8cd310493a
mypy: Annotate helloworld bot.
2017-12-04 07:27:20 -08:00
fredfishgames
b157b817ae
interactive bots: Improve googlesearch bot.
2017-12-03 14:03:47 -08:00
Skunk
c2c79cf989
tests: Refactor mock_http_conversation
with deduplicating.
...
Move `get_response` inside of `mock_http_conversation`, as it is not
used anywhere else. Also create `assert_called_with_fields`.
`assert_called_with_fields` calls the `assert_called_with` method of a
mock object by using an HTTP request and a list of fields to look for.
2017-12-03 10:26:42 -08:00
Skunk
bd0462f7b5
tests: Extend mock_http_conversation
to support POST requests.
2017-12-03 10:26:42 -08:00
Steve Howell
fab9d46f93
Simplify test_wikipedia.py.
...
We now use StubBotTestCase.verify_reply().
2017-12-01 13:42:59 -08:00
Steve Howell
16e50e991b
bot tests: Add StubBotTestCase.verify_reply().
2017-12-01 13:42:59 -08:00
Steve Howell
db08586df6
Promote mock_http_conversations to its superclass.
2017-12-01 13:42:59 -08:00
Steve Howell
3f79136dd7
bot tests: Introduce transcript
in StubBotHandler
.
...
This sets us up to validate more aspects of the conversation,
and it also introduces the more rigorously checked
`unique_response` helper.
(This also fixes a minor copy/paste error from a prior commit
that was harmless.)
2017-12-01 13:42:59 -08:00
Steve Howell
c02e141f7f
bot tests: Use StubBotTestCase for helloworld bot.
2017-12-01 07:00:20 -08:00
Steve Howell
4ede1a5564
bot tests: Use StubBotTestCase for help bot.
2017-12-01 07:00:20 -08:00
Steve Howell
6087cf95e2
bot tests: Use StubBotTestCase in tictactoe.
...
Note that we now only have one conversation, since the case
of sending to streams has the same mechanics as sending PMs.
We'll eventually want a separate test to drive out differences
in the actual mechanics of the reply.
2017-12-01 07:00:20 -08:00
Steve Howell
77dbe92ad8
minor: Remove some dead code in BotTestCaseBase.
2017-12-01 07:00:20 -08:00
Steve Howell
c0ceb9857f
Rewrite incrementor bot tests.
...
Using StubBotHandler makes it fairly easy to verify the key
feature of the incrementor bot, which is that it updates
messages sequentially.
2017-12-01 07:00:20 -08:00
Steve Howell
fc251460fa
bot tests: Eliminate BotTestCaseBase.
...
We now just put `test_bot_usage` in StubBotTestCase and have
BotTestCase inherit from that.
2017-12-01 07:00:20 -08:00
Steve Howell
205f7c16c7
Add StubBotTestCase and StubBotHandler.
...
We will start to use these for some of our bot test code.
2017-12-01 07:00:20 -08:00
Steve Howell
fe662ed145
bot tests: Split up mock_http_conversation().
...
This method had two pretty easy-to-separate concerns:
* find the fixture data using our directory conventions
* use the fixture data to simulate a real HTTP request
Part of the goal here is to make the extracted functions a
bit easier to use in other TestCase-based classes without
needing to subclass from BotTestCaseBase, which is kind of
complex with its setUp/tearDown.
2017-12-01 07:00:20 -08:00
Steve Howell
0a477b0736
Extract get_bot_message_handler().
2017-12-01 07:00:20 -08:00