Commit graph

1091 commits

Author SHA1 Message Date
neiljp (Neil Pilgrim)
e619c19b36 bots: Set user-agent for individual bots automatically.
Fixes #28.
2017-07-25 19:35:15 -07:00
neiljp (Neil Pilgrim)
b314c70da7 weather bot: Amend temperature formatting. 2017-07-25 18:05:14 -07:00
derAnfaenger
5dd359fd4d testing: Properly exclude files for linting in Windows.
For files to be excluded in Windows, their paths have to
be normalized, so that the string matching works.
2017-07-25 10:55:49 -07:00
derAnfaenger
428ded449e testing: Add custom linter rules. 2017-07-25 10:55:49 -07:00
Tim Abbott
142d10f546 lint: Fix existing lint error in codebase. 2017-07-25 10:55:49 -07:00
Eeshan Garg
a50cf906a6 bots/xkcd: Fix wrong package name passed to mock.patch. 2017-07-25 10:50:33 -07:00
Eeshan Garg
d181d0192e zulip_bots: Use relative paths to find zulip_bots/bots/*. 2017-07-25 10:50:33 -07:00
Eeshan Garg
472c869efa test-bots: Load and discover unit tests from specific modules.
Instead of discovering unit tests using loader.discover() by passing
it a set of starting and top level directories, we now discover
unit tests by loading them from specific test module objects. This
makes it easier to include and exclude specific bots from testing.
2017-07-25 10:50:33 -07:00
Eeshan Garg
bc8282b980 zulip_bots/run: Add --provision command-line option. 2017-07-25 10:50:33 -07:00
Eeshan Garg
e85be28119 zulip_bots/run.py: Use argparse instead of optparse.
The optparse module is deprecated.
2017-07-25 10:50:33 -07:00
Eeshan Garg
e255c73fc3 zulip_bots/provision: Improve logging. 2017-07-25 10:50:32 -07:00
Eeshan Garg
44f63992da zulip_bots/run: Support importing bot modules by path.
The zulip-run-bot script now supports passing in a --path-to-bot
option. This allows users to specify the path to the source file
for their own custom bots, the first step towards being able to
support out-of-tree bots.

To run an existing bot in the zulip_bots package, just passing in
the name of the bot should suffice.
2017-07-25 10:49:21 -07:00
Abhijeet Kaur
0625c26c9a bots: Correct 'http.bot_handler' to 'http.client' in googlesearch bot.
There is no library as 'http.bot_handler'.
'http.client' is what the author of this bots initially wrote.
Searching through the git history shows that someone mistakenly
replaced 'client' with 'bot_handler' here.
2017-07-25 10:46:22 -07:00
neiljp (Neil Pilgrim)
3234096cea bot tests: Add preliminary tests for tictactoe bot, including state. 2017-07-25 10:45:00 -07:00
neiljp (Neil Pilgrim)
6421a6fd49 bot tests: Support optional provided state between test calls. 2017-07-25 10:45:00 -07:00
neiljp (Neil Pilgrim)
45527c4cf4 bots: Switch TicTacToe to use state_handler.state() contextmanager. 2017-07-24 17:22:17 -07:00
neiljp (Neil Pilgrim)
5ca9ec0771 bots: Switch VirtualFS to use state_handler.state() contextmanager. 2017-07-24 17:22:17 -07:00
neiljp (Neil Pilgrim)
7a8b41b63e bots: Switch Incrementor to use state_handler.state() contextmanager. 2017-07-24 17:22:17 -07:00
neiljp (Neil Pilgrim)
101dd60829 bot lib: Add optional StateHandler contextmanager.
State can still be handled with get_state/set_state, and flushed
before the end of a 'with' block using set_state.
2017-07-24 17:22:17 -07:00
Abhijeet Kaur
d9ac5ad88c bots: Add complete tests for offline testing of weather bot.
Also, added new lines in between different bot fixture files in
MANIFEST.in for better readability
2017-07-24 02:35:52 +05:30
Abhijeet Kaur
e23444b757 bots: Fix errors to get info from config file to run bots.
get_config_info function in 'ExternalBotHandler' class was
using 2 undefined variables, which wasn't allowing bots to
access information from config file.
Fixed it, bots with api key working now.
2017-07-24 02:15:20 +05:30
Abhijeet Kaur
367d0b7986 bots: Add complete tests for offline testing of xkcd bot.
Add patch method to mock 'randint' method to check when
xkcd bot is called with 'random' command.
2017-07-23 07:00:00 +05:30
Abhijeet Kaur
35353f6d7f bots: Add complete tests for offline testing of wikipedia bot. 2017-07-23 06:52:24 +05:30
Abhijeet Kaur
f955eb0c8d bots: Add complete tests for offline testing of define bot. 2017-07-22 14:22:29 -07:00
Abhijeet Kaur
2e48392884 bots: Modify howdoi/readme.md to correctly call 'howdoi' bot.
Update images with new commands screenshots for better understanding.
2017-07-20 16:02:47 -07:00
Abhijeet Kaur
d9a6fec1a0 bots: Remove common send-reply function.
Previously, the annotation for the (now removed)send-reply
function was also wrong, as "send-message" function of
EmbeddedBotHandler class does not return any value, contrary
to "Dict[str, Any]" as specified by the funtion.

This is done as a follow up for zulip/zulip#5842.
2017-07-20 10:25:54 -07:00
Eeshan Garg
b08a37fe9c travis: Update Travis config to install and test all packages. 2017-07-18 02:25:29 -02:30
Eeshan Garg
3d0f7955b6 api: Move the API package to a dedicated subdirectory.
In order to keep all three packages (zulip, zulip_bots,
zulip_botserver) in the same repo, all package files must now
be nested one level deeper.

For instance, python-zulip-api/zulip_bots/zulip_bots/bots/, instead
of python-zulip-api/zulip_bots/bots/.
2017-07-18 02:20:32 -02:30
Eeshan Garg
879f44ab3a bots: Move all bots and the bots API to separate package. 2017-07-18 02:20:27 -02:30
Eeshan Garg
928d5ca16d flask_server: Move the server to its own package. 2017-07-18 01:31:54 -02:30
Rohitt Vashishtha
9d1253ff0d lint: Make zulip/__init__.py complaint with E261. 2017-07-06 19:58:50 -04:00
Rohitt Vashishtha
1c8d359546 tools: Add pep8 linter.
This commit adds the tools/lint script to run the pep8 linter
as well as modifies .travis.yml to run the linter in Travis.
2017-07-06 19:58:50 -04:00
Rohitt Vashishtha
c1275fded6 tools: Add README.md file to explain this directory.
tools/server_lib contains files copied as-is, or with minor
modifications, from the zulip/zulip repository when the api
code was split into this separate repository.
2017-07-06 19:58:50 -04:00
Rohitt Vashishtha
677ff7f0ae tools: Modify pep8.py from zulip server. 2017-07-06 19:58:50 -04:00
Rohitt Vashishtha
35bcabd157 tools: Copy lister.py from zulip server. 2017-07-06 19:58:50 -04:00
Rohitt Vashishtha
5a2412a60b tools: Copy printer.py from zulip server. 2017-07-06 19:58:50 -04:00
Rohitt Vashishtha
56259ae146 tools: Add basic .travis.yml to run tests. 2017-07-06 19:58:50 -04:00
Rohitt Vashishtha
4109ba9eee dependencies: Add requirements file for define bot. 2017-07-06 13:09:08 -07:00
Rohitt Vashishtha
71b43e4d3e tools: Add .gitignore. 2017-07-06 13:09:08 -07:00
neiljp (Neil Pilgrim)
7910d8767a Bots: Adjust Incrementor bot to use StateHandler 2017-07-03 09:50:14 -07:00
Rohitt Vashishtha
2645c97276 bots: Add dependencies management.
Adds the file api/bots_api/provision.py that installs dependencies
for bots using pip. This file is also used by run.py when running
a bot. However, for testing, you need to separately provision the bots.
2017-06-28 12:00:13 -04:00
Daria Phoebe Brashear
bafbd3689b zephyr_mirror.py: update zulip server url for zephyr documentation
zulipchat.com hosts the documentation (as well as the server); make the
url reflect it
2017-06-26 14:07:28 -07:00
Shane Kearns
c3d99f6613 integrations/perforce: Skip messages for missing streams.
For a large perforce server with many users, this allows projects
to opt-in to zulip notifications by creating the stream for the
branch to be monitored.

Commits to paths for which a stream mapping yields a result,
but no stream exists in Zulip, are simply dropped silently.

This behaviour is opt-in, by setting the configuration key
ZULIP_IGNORE_MISSING_STREAM = True
in the zulip_perforce_config.py file.
2017-06-22 14:27:13 -04:00
Shane Kearns
99b87dd78d integrations/perforce: Display changelist ID as a p4web link.
The general regex-based linkify in zulip does not allow '@' as the
prefix. In any case we know here that it is definitely a changelist
number, which is better.

Adding P4_WEB="https://p4web.example.com" to the config will enable
this behaviour. If P4_WEB is absent from the config, or has the
value None, no link is inserted.
2017-06-22 14:27:13 -04:00
Shane Kearns
680f453834 integrations/perforce: Fix formatting of multiple paragraphs.
This fixes multiple paragraphs in a commit message escaping
from the block quote by using triple-backquote quoting instead
of '>' which only applies to one paragraph.
2017-06-22 14:27:13 -04:00
Rohitt Vashishtha
b475258446 bots: Add tests for github_detail bot. 2017-06-22 11:25:31 -04:00
Rohitt Vashishtha
b8b38bb1f7 bots: Fix github details bot. 2017-06-22 11:25:31 -04:00
Rohitt Vashishtha
9505778538 bots: Move github issue bot to api/bots. 2017-06-22 11:25:31 -04:00
Zac Pullar-Strecker
cf9aa78e3f bots: Add GitHub issue and pr bot 2017-06-22 11:25:31 -04:00
vaibhav
b5982794e7 zulip-bot-server: Add test suite for zulip bot server.
Fixes: #5358.
2017-06-22 10:37:05 -04:00