Commit graph

328 commits

Author SHA1 Message Date
Rhea Parekh f276e46890 bots: Add tests for trivia_quiz bot 2018-06-04 05:59:10 -04:00
Steve Howell 9096dd2918 [wip] Create trivia quiz bot. 2018-06-04 05:59:10 -04:00
novokrest 488dcb4219 beeminder: Check auth_token in initialize by idempotent request.
Change checking auth_token in `initialize` method by calling
request to get user's information instead of calling POST request
which modifies progress of user's goal.
2018-06-03 22:17:01 -07:00
novokrest dc83d9e468 beeminder: Remove duplicated try-except in initialize method.
Remove duplicated try-except in `initialize` method because
ConnectionError is already catched in `get_beeminder_response` method.
2018-06-02 12:01:20 +03:00
novokrest f3d2d3a01e beeminder: Add tests for valid messages. 2018-06-02 12:01:20 +03:00
novokrest d68a19f2dc beeminder: Rename test test_normal to test_message_with_value_and_comment. 2018-06-02 11:10:41 +03:00
neiljp (Neil Pilgrim) 2b86b9f488 xkcd bot: Update bot & tests to use bot identity functionality. 2018-05-31 06:10:50 -04:00
neiljp (Neil Pilgrim) f15356c4c8 wikipedia bot: Update bot & tests to use bot identity functionality. 2018-05-31 06:10:50 -04:00
neiljp (Neil Pilgrim) efe5b04374 salesforce: Minor improvements; imports & types. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim) 8f0b9adb70 trello: Remove extra newlines & spaces in code and tests. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim) 4f224b5dbc trello: Simplify message & response handling. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim) 8e1d4f524b baremetrics: Remove extra newlines & spaces in code and tests. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim) b51b6d0361 baremetrics: Simplify response generation. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim) 016011437e baremetrics: Simplify core handler code. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim) ce4404b9db idonethis: Remove extra newlines in code & tests.
Also rename list_steams -> list_teams.
2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim) 9b782e8357 idonethis: Improve typing & note unused function. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim) dbe44a2774 idonethis: Remove unreachable code & simplify response generation.
Also remove unnecessary import.
2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim) 4e19a7716d mypy: Avoid 'Any' for message in bots.
Also remove a few unnecessary typing imports.
2018-05-30 07:11:16 -04:00
Robert Hönig 6249df0ad7 bots: Don't run tests for monkeytestit bot.
The monkeytestit tests fail on Python3.4 because
one of their dependencies only works on Python3.5.
This is a hotfix to make builds pass again. We'll
want to find a proper way of Python version conditional
bot test execution.
2018-05-28 13:43:15 +02:00
Robert Hönig 47c879407c monkeytestit bot tests: Import bot class inside test.
We need to import the bot class inside the tests, so
we are able to temporarily resolve problems with the
bot class by simply skipping the test. It also makes
the code look nicer.
2018-05-28 13:43:15 +02:00
neiljp (Neil Pilgrim) 4364dc7599 chess: Rename to chessbot to avoid naming conflict with engine. 2018-05-26 16:12:25 -07:00
neiljp (Neil Pilgrim) 9e5c929c86 witai: Add __init__.py and fix tests. 2018-05-26 14:36:26 -07:00
neiljp (Neil Pilgrim) 17ad4f61ab twitpost: Add __init__.py and requirements.txt. 2018-05-26 14:36:26 -07:00
neiljp (Neil Pilgrim) 937de114a7 bots: Add 3 missing __init__.py files.
Tests run ok for these bots.
2018-05-26 14:36:26 -07:00
neiljp (Neil Pilgrim) 668a4ed634 game_of_fifteen: Use consistent naming & simplify imports. 2018-05-26 14:36:26 -07:00
dkvasov be5a7a8c4a zulip_bots: Clean gyphy bot code. 2018-05-16 08:15:36 -07:00
novokrest 65ebd6e595 yoda: Pass API query parameters as params dict in requests.get(). 2018-05-15 09:12:40 -07:00
novokrest 5ad5e11587 link_shortener: Allow #% characters for shortening URL. 2018-05-15 09:12:40 -07:00
novokrest bccbda49f2 wikipedia: Pass API query parameters as params dict in requests.get(). 2018-05-15 09:12:40 -07:00
novokrest 8654ce53db weather: Pass API query parameters as params dict in requests.get(). 2018-05-15 09:12:40 -07:00
novokrest 927fcaa521 susi: Pass API query parameters as params dict in requests.get(). 2018-05-15 09:12:40 -07:00
novokrest 86ffbb2b4a stack_overflow: Pass API query parameters as params dict in requests.get(). 2018-05-15 09:12:40 -07:00
novokrest a38917723a idonethis: Pass API query parameters as params dict in requests methods. 2018-05-15 09:12:40 -07:00
novokrest e81942421e link_shortener: Print help when no links found. 2018-05-04 05:09:07 +05:30
novokrest 3db070b99e link_shortener: Migrate from goo.gl to bit.ly service.
Shorten URLs by using bit.ly service instead of goo.gl service.

Fixes #367
2018-05-04 05:09:07 +05:30
neiljp (Neil Pilgrim) 55aff6f64b mypy: Improve typing of bots & API; enforce no_implicit_optional. 2018-04-06 13:45:11 -04:00
Ricky dad7eddcc6 beeminder bot: Add beeminder bot. 2018-04-04 14:23:32 -04:00
Tarun Kumar 8ef9b70191 Add game of fifteen bot. 2018-03-25 12:53:15 -04:00
Tarun Kumar b8d4f0b869 Enforce 'rules' command in existing games.
Add 'rules' command in connect_four.py.
Add 'rules' command in tictactoe.py.
Add 'rules' command in game_handler_bot.py.
2018-03-25 12:53:15 -04:00
Tarun Kumar ee611d935e game_handler: Support single player games and enforce 'rules' command.
Update tests for test_connect_four.py and test_game_handler_bot.py.
2018-03-25 12:53:15 -04:00
Anupam-dagar a9a988f726 Add twitpost bot. 2018-03-22 15:51:40 -04:00
Ricky b6afa030c5 bots/flock: Add flock bot. 2018-03-21 09:08:44 -04:00
Ricky bb4c9c9bdb game_handler: Use avatars instead of emails in messages.
Fixes #336
2018-03-21 08:31:46 -04:00
Ricky 15cc35cb82 connectfour/controller: Prevent list access by negative indexing.
Currently, if a user does 'move 0', he moves to column 6(last column)
in connect_four which is unwanted behaviour and happening due to
list getting accessed through negative index (-1).

Added a check for that in controller.py file.

Fixes #343
2018-03-21 08:30:32 -04:00
Dhruv Thakker 9c5eaa2f1b stack_overflow : Create StackOverflow bot.
(Use stackoverflow APIs to answer queries.)
2018-03-11 14:25:03 -04:00
Ricky fb228f13ff bots/giphy: Support bot response to empty message. 2018-03-10 06:35:31 -05:00
Dhruv Thakker 38d00e9a1e connect_four : Add shorthand moves. 2018-03-10 06:33:43 -05:00
Dhruv Thakker 9fe64b85d0 tic_tac_toe : Add shorthand moves. 2018-03-10 06:33:43 -05:00
Dhruv Thakker 68fcb3c8e1 github_detail_bot: Add tests for bad requests.
(This module now has 100% coverage.)
2018-03-08 08:27:32 -05:00
Dhruv Thakker 8e978a0845 link_shortner bot : Add test for bad requests.
(This module now has 100% coverage.)
2018-03-08 08:27:32 -05:00
Dhruv Thakker 582b16861e baremetrics bot : Add tests for bad requests.
(This module now has 100% coverage.)
2018-03-08 08:27:32 -05:00
Alena Volkova ea8393511a interactive bots: Create Front bot. 2018-03-08 07:38:35 -05:00
amanagr 243f7bbe5d Port merels to game_handler.
Fixes #305
2018-02-27 08:28:40 -05:00
amanagr 5fda59dde0 Susi AI Bot: Create a susi ai bot.
This bot uses SUSI_SERVER API to get response.
2018-02-22 09:36:25 -05:00
Steve Howell 9175c451f6 tests: Test handling of bad moves in connect four.
This commit tests that we throw a BadMoveException if you
try to move into a "full" column in connect four.  This gets
the controller up to 100% coverage.
2018-02-21 08:06:28 -05:00
amanagr 6df10749fb Make game_handler support starting a game with a range of playeres.
Allow a game to start even if `max_players` is not reached.
Adding a new command `play game` to start a game if the
number of players is between max and min no. of players.
Make tests pass with the new change.
2018-02-20 16:08:34 -05:00
Viraat Chandra b7b083f094 interactive bots: Add Trello Interactive Bot. 2018-02-16 09:54:55 -05:00
AmAnAgr 5b0a444ab8 Dropbox Bot: Support sharing, searching and primary file operations. 2018-02-16 09:42:03 -05:00
AmAnAgr 47c6bbe787 virtual_fs : Get test coverage to 100%. 2018-02-15 10:06:43 +01:00
AmAnAgr 03d4bafa26 Improve test_coverage for github-detail bot. 2018-02-15 10:06:43 +01:00
Robert Hönig 192e9e101d bots: Add magic method validate_config().
This method allows bots to validate their config info
in a standardized way. Adding the method to a bot is
optional, but recommended for bots with config options
that can be invalid, like api keys. The giphy bot serves
as an example.
The primary reason behind this is to allow the zulip
backend to validate config data for embedded bots. The
backend does not have a permanent bot class instance, so
validate_config() must be a static method.
2018-02-13 11:02:17 -08:00
Robert Hönig bda4b74c50 mention bot: Add fixture for invalid api key test.
This makes the mention bot tests no longer rely on an
internet connection to succeed.
2018-02-06 15:27:45 +01:00
Robert Hönig 4ed31eb6fd baremetrics bot: Add fixture for invalid api key test.
This makes the baremetrics bot tests no longer rely on an
internet connection to succeed.
2018-02-06 15:27:45 +01:00
AmAnAgr acf45ea4ef converter: Get test coverage to 100%
Fixes #122
2018-02-01 16:13:54 -05:00
Viraat Chandra d9fca54998 bots: Fix test failure for Baremetrics bot. 2018-01-24 11:19:44 +01:00
fredfishgames 3cbb16722d zulip_bots: Migrate tictactoe bot to new game_handler. 2018-01-22 11:30:31 -05:00
fredfishgames 3a438cafa9 zulip_bots: Migrate connect_four bot to new game_handler. 2018-01-22 11:30:31 -05:00
fredfishgames ec5be8fc7e zulip_bots: Consolidate game-playing bots. 2018-01-22 11:30:31 -05:00
Viraat Chandra 2f429fcb86 zulip_bots: Add test for create-plan command of Baremetrics bot. 2018-01-16 12:24:26 -05:00
Viraat Chandra 94f82dfe4c zulip_bots: Add feature create-plan to Baremetrics bot. 2018-01-16 12:24:26 -05:00
Viraat Chandra e32336eb6e Improve test coverage for Yoda bot. 2018-01-12 07:35:38 -05:00
Viraat Chandra fd97ffce77 Improve test coverage for Mention bot. 2018-01-12 07:35:38 -05:00
Viraat Chandra bffb8d0e16 Improve test coverage for Baremetrics bot. 2018-01-12 07:35:38 -05:00
rht da4b830571 bots: Init interrealm bridge bot. 2018-01-12 07:15:23 -05:00
Steve Howell 480c953b98 virtual_fs: Add test_sample_conversation(). 2018-01-10 16:54:05 -05:00
Steve Howell 5be72288db virtual_fs: Make sample_conversation() a list of tuples.
It's nice to see the requests and replies as separate strings
when you're reading the code.
2018-01-10 16:54:05 -05:00
Steve Howell f8d51fc9d1 virtual_fs: Remove help commands from the sample conversation. 2018-01-10 16:54:05 -05:00
Steve Howell 820e949faf virtual_fs: Remove fs_sample_conversation().
We already have "help" for specific commands, so the
fs_sample_conversation() feature was mostly redundant.
2018-01-10 16:54:05 -05:00
Steve Howell 4b9e3d655f virtuals_fs: Add test for sample_conversation. 2018-01-10 16:54:05 -05:00
Steve Howell 88f6ddefb2 virtual_fs: Fix bug with "rmdir" command.
In python3, if you removed a directory that files within it,
you would get an error saying "dictionary changed size
during iteration."

The fix is to list-ify the keys before iterating over them (and
popping keys from the dictionary).
2018-01-09 09:21:30 -05:00
Xavier Cooney 1de704394a interactive bots: Create idonethis bot. 2018-01-08 10:46:52 +01:00
Robert Hönig a4facb4249 Rename followup.config to followup.conf. 2018-01-06 16:58:50 -03:30
Robert Hönig 78d7f9694e zulip_bots: Move six imports. 2018-01-06 16:39:52 +01:00
Robert Hönig b46a079804 zulip_bots: Move from mock to unittest.mock in most files. 2018-01-06 16:39:52 +01:00
Robert Hönig ae76aa8f72 bots: Add requirements not captured by pipreqs. 2018-01-06 16:39:52 +01:00
Robert Hönig fd51735bfc Add requirements.txt for each bot. 2018-01-06 16:39:52 +01:00
Robert Hönig f4ee3d4009 Fix mypy errors. 2018-01-04 17:19:02 +01:00
Robert Hönig eb02e08fb7 yoda bot: Just import the requests module.
This removes the unconventional check for the
existence of the requests module in the yoda
bot to bring it in line with other bots.
2018-01-04 10:34:16 -05:00
Robert Hönig f6f09202ac baremetrics bot: Quit on invalid API key. 2018-01-04 10:34:16 -05:00
Robert Hönig c86e62a06a link_shortener bot: Quit on invalid API key. 2018-01-04 10:34:16 -05:00
Robert Hönig bed2c6c9ea mention bot: Quit on invalid API key. 2018-01-04 10:34:16 -05:00
Robert Hönig 57342072dc salesforce bot: Quit on invalid API key. 2018-01-04 10:34:16 -05:00
Robert Hönig 8417dbf154 weather bot: Quit bot on invalid API key. 2018-01-04 10:34:16 -05:00
Robert Hönig 28120784ff google_translate bot: Add test for invalid api key. 2018-01-04 10:34:16 -05:00
Robert Hönig d11d31d795 google_translate bot: Simplify API key check. 2018-01-04 10:34:16 -05:00
Robert Hönig b19c0f6e29 giphy bot: Update 403 fixture. 2018-01-04 10:34:16 -05:00
Robert Hönig 5d4a352e2c giphy bot: Fix check for invalid API key.
The previous check didn't notice invalid API keys.
This commit also makes giphy quit on any connectivity
issues during initialization.
2018-01-04 10:34:16 -05:00
Robert Hönig ba530e2341 giphy bot: Use bot_handler.quit(). 2018-01-04 10:34:16 -05:00
YJDave 299d04080e doc: Remove markdown includes {!running-bot.md!} from bot docs. 2018-01-03 09:05:54 -05:00
Privisus 08bd395658 interactive bots: Create monkeytest.it bot. 2018-01-02 17:14:13 -03:30