Commit graph

2238 commits

Author SHA1 Message Date
Robert Hönig 762118bbea Rename flaskbotrc to botserverrc. 2018-05-29 10:19:50 +02:00
Robert Hönig 3859bef05f botserver: Make handle_bot logic more concise. 2018-05-29 10:05:32 +02:00
Robert Hönig e6ef34a964 botserver: Strip messages like we do in zulip-run-bot.
Previously, messages weren't stripped at all. This
caused most bots to break and send replies similar to
"I didn't understand your command". Nobody noticed,
because the tests were only validating that replies
were sent, but not the content in them. Thus, this
commit also adds tests to avoid further regressions.
2018-05-29 10:05:19 +02:00
Robert Hönig f1bcf3b9a4 botserver: Remove redundant message check.
Previously, the botserver `handle_bot` routine did two checks
on an incoming message:
* First, it checked if the bot email matches
an email in the flaskbotrc.
* Second, it checked if the bot name that corresponds to an email
has a lib module loaded. However, this must be the case, because
all lib modules for all emails are loaded on initialization. Thus,
this commit removes the second check.
2018-05-29 09:52:14 +02:00
Robert Hönig 5c062cee0d botserver: Verify bot response.
This allows for more realistic testing.
2018-05-28 11:13:56 -07:00
Robert Hönig 4285cef29c assert_bot_server_response: Mock ExternalBotHandler. 2018-05-28 11:13:56 -07:00
Robert Hönig 27938a926b Rename assert_bot_server_response param message to event.
It's an event, not a message.
2018-05-28 11:13:56 -07:00
Robert Hönig 48f2c2ae36 Remove default value from assert_bot_server_response message parameter.
This is the first step in validating the bot responses for the
botserver. The default value for `message` was nonsense and
wouldn't trigger a bot in real life. Additionally, we'll want
each test to use a proper message tailored to the test. Thus,
this commit removes a 'default' message alltogether.
2018-05-28 11:13:55 -07:00
Robert Hönig 6a8cb2965c zulip_botserver: Handle all requests from the root / endpoint.
Previously, the Botserver determined which bot to run by dispatching on
a unique URL endpoint /bots/<botname> for each bot.
Now, instead, the Botserver determines which bot to run by the section
header of the bot in the flaskbotrc.
2018-05-28 15:09:39 +02: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
Robert Hönig a8045a8fa9 mypy: Fix paths to chessbot files. 2018-05-28 13:43:15 +02:00
neiljp (Neil Pilgrim) a178f93087 test-bots: Detect absent __init__.py & optionally exit. 2018-05-26 17:28:25 -07:00
neiljp (Neil Pilgrim) bda678344f test-bots: Extract common filter out of conditional. 2018-05-26 17:28:25 -07:00
neiljp (Neil Pilgrim) 210caa4a60 test-bots: Extract test discovery out of conditional.
This (re?)-enables exclusion of bot names from eg. `test-bots`.
2018-05-26 17:22:03 -07:00
neiljp (Neil Pilgrim) a5307b3771 test-bots: Use unused available_bots to discover tests. 2018-05-26 17:22:03 -07:00
neiljp (Neil Pilgrim) 76b2befb9b test-bots: Remove unused function parameter. 2018-05-26 17:22:03 -07:00
neiljp (Neil Pilgrim) 1d60794f1c test-bots: Simplify and unify test discovery. 2018-05-26 17:21:54 -07: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
Tim Abbott efcdc712bf matrix: Edit matrix.org README further.
The README is still pretty rough, but this cleans it up a bit.
2018-05-22 14:01:24 -07:00
Rhea Parekh 4c9134815c Matrix: Make minor changes to README.md and config. 2018-05-22 14:01:24 -07:00
Rhea Parekh afb964b65a Matrix: Add command line flag to ignore join/leave events.
Add command line flag 'no_noise' (which is true by default)
to ignore join/leave events. User can enable those events
by pass 'no_noise' as false.
2018-05-22 14:01:24 -07:00
Rhea Parekh 8e1274f555 Matrix: Change naming convention. 2018-05-22 14:01:24 -07:00
Eeshan Garg 00f22e175c pypi: Release 0.4.7. 2018-05-21 20:02:43 -02:30
Sivagiri Visakan 4183f4c0c5 zulip-terminal: Add bot's directory to sys.path. 2018-05-20 07:07:43 -04:00
dkvasov 79899dba30 zulip_botserver: More test cases. 2018-05-17 09:43:00 -07:00
dkvasov fe801d08eb zulip_botserver: Add test for config parsing. 2018-05-17 09:42:52 -07:00
dkvasov 40785d3116 zulip_botserver: Add test for default input parameters. 2018-05-17 09:40:44 -07:00
dkvasov 0040182ec4 zulip_bots: Obey pep8, python3 type annotations. 2018-05-17 17:49:16 +03:00
dkvasov a06fb98f21 zulip_bots and zulip_botserver: Extract common function. 2018-05-17 17:35:09 +03:00
dkvasov 4244a82b03 git: Add ignoring pycharm-specific dependencies. 2018-05-17 16:57:16 +03:00
dkvasov 85c6b5a1c7 zulip_bots: Use python3 type annotations. 2018-05-17 16:57:16 +03:00
Rhea Parekh bb39ce981d Matrix: Refactor function 'matrix_to_zulip' 2018-05-16 11:12:00 -07:00
Rhea Parekh c467b5fd03 Matrix: Handle login and joining room errors. 2018-05-16 11:12:00 -07:00
Rhea Parekh 9362755039 Matrix: Add more messages events and handle errors. 2018-05-16 11:12:00 -07:00
Rhea Parekh 979c0e50d6 Matrix: Update documentation and add requirements.txt. 2018-05-16 11:12:00 -07:00
dkvasov 86ab26d2ba zulip_botserver: Get rid of last global variable. 2018-05-16 10:58:09 -07:00
dkvasov a5d6286d85 zulip_botserver: Better message for single bot mode. 2018-05-16 10:58:09 -07:00
dkvasov b119d67182 tools/provision: Use python3 because python2 doesn't work. 2018-05-16 10:50:43 -07:00
dkvasov b06ebdecef zulip_botserver: Add option to test third party configs 2018-05-16 10:50:43 -07:00
dkvasov d3b99959c6 zulip_botserver: Add test to check two bots working together. 2018-05-16 10:50:43 -07:00
dkvasov 2de862cdcd zulip_botserver/tests: Reformat input to make them more readable. 2018-05-16 10:50:43 -07:00
dkvasov 7bbc81edbd zulip_botserver: Get rid of unused input parameter: use load_lib_modules func for loading modules in tests. 2018-05-16 10:50:43 -07:00
dkvasov f6b981b8d5 zulip_bots: Python3 style for types, obey pep8. 2018-05-16 10:50:43 -07:00
dkvasov ce95f9f4d5 zulip_bots and zulip_botserver: Remove unused imports. 2018-05-16 10:50:43 -07:00
dkvasov a8665aaac8 zulip_botserver: Add option to set third party configs for bots. 2018-05-16 10:50:43 -07:00