Commit graph

1331 commits

Author SHA1 Message Date
derAnfaenger fb116259d0 zulip_botserver: Make tests more realistic.
Specifically, this invokes server.load_lib_modules()
and server.load_bot_handlers() to generate the modules
and handlers, instead of hardcoding them.
2017-11-10 18:36:20 -08:00
derAnfaenger 55332d8cbc zulip_bots: Fix and simplify extract_query_without_mention.
This fixes quirks related to the regex not covering all potential
weird usernames and adds tests for stripping the @-mentions.
2017-11-10 16:09:20 -08:00
Eeshan Garg 0a70a6b46f test-static-analysis: Fix trailing whitespace errors. 2017-11-10 19:24:59 -03:30
Eeshan Garg 0590671fc6 tools/provision: Support specifying path to Python interpreter. 2017-11-10 17:42:38 -03:30
Steve Howell bad8dccef7 provision: Make instructions to source venv more obvious.
(This cleans up the print formatting a bit in tools/provision
and adds an explicit step in README.md.)
2017-11-10 13:04:59 -08:00
derAnfaenger c6aed00aa1 integrations: Make twitter bot handle search terms more intelligently.
When invoked with search terms, twitter bot looks for these terms
in the content of a message to find out if they match. However,
Twitter can return messages that don't directly contain a search term.
This commit adds the tweeter user handle and expanded urls to the
places to look for a search term.
2017-11-07 11:13:29 -08:00
derAnfaenger 2553cf45a5 integrations: Use default client init from options for twitter bot.
This allows users to specify a config file with the
--config-file option.
2017-11-07 11:13:29 -08:00
derAnfaenger 7e7c7598b7 integrations: Add requirements for twitter bot. 2017-11-07 11:13:29 -08:00
derAnfaenger bcc8bd7d38 zulip_botserver: Don't reinstantiate ExternalBotHandlers.
Fixes #147.
2017-11-07 05:06:12 -08:00
derAnfaenger e05ce661c5 zulip_bots: Enforce default config file schema.
This requires the bot's config section to be named
after the bot. All config entries must be contained
in this section.
2017-11-06 14:20:39 -08:00
derAnfaenger 1a096b317b zulip_bots: Standardize weather bot's config file. 2017-11-06 14:20:39 -08:00
derAnfaenger 56ac3f1b73 zulip_bots: Add config file for github_detail bot. 2017-11-06 14:20:39 -08:00
derAnfaenger 8d81d37351 zulip_bots: Move unmaintained bots to unmaintained dir. 2017-11-02 15:15:52 +01:00
derAnfaenger 8cdc4a6619 zulip_bots: Remove github helper module.
No bot is dependant on this module. No
future bot should be dependant on it,
since it is not a bot itself and is thus
blurring the structure of the bots dir.
2017-11-02 15:15:52 +01:00
derAnfaenger 8dab6140ee zulip_bots: Remove git_hub_comment bot.
This bot has no tests and a command set that is
impractical and confusing to use. It offers no
practical benefit.
2017-11-02 15:15:52 +01:00
derAnfaenger ff05a8f710 zulip_bots: Remove github_issues bot.
This bot has no tests and no documentation. Its
usage and purpose are unclear.
2017-11-02 15:15:52 +01:00
derAnfaenger 80534a50b6 zulip_bots: Add directory for unmaintained bots. 2017-11-02 15:15:47 +01:00
derAnfaenger cfb767ad0f zulip_bots: Make virtual_fs bot state fully JSON-able. 2017-10-31 23:15:28 +01:00
derAnfaenger e5576388dd botserver: Remove obsolete state_handler param from handle_message(). 2017-10-31 12:24:10 +01:00
derAnfaenger aef41de37a tools: Remove obsolete state_handler param from handle_message(). 2017-10-31 12:23:29 +01:00
Tim Abbott 075e368818 run-mypy: Document why certain files are not mypy-checked. 2017-10-26 23:02:52 -07:00
Alena Volkova 25d6c68d4d mypy: zulip_botserver: Fix errors in setup.py. 2017-10-27 00:56:16 -04:00
Alena Volkova ed51cabf1b mypy: zulip_botserver: Fix errors in zulip_botserver/server.py. 2017-10-27 00:56:16 -04:00
Alena Volkova 81205ea813 mypy: zulip_botserver: Fix errors in tests/__init__.py. 2017-10-27 00:56:16 -04:00
Alena Volkova fd519252d6 mypy: zulip_bots: Fix errors in zulip_bots/zulip_bot_output.py. 2017-10-27 00:56:16 -04:00
Alena Volkova 5e7f4c595f mypy: zulip_bots: Annotate zulip_bots/test_run.py. 2017-10-27 00:56:16 -04:00
Alena Volkova afb9886553 mypy: zulip_bots: Fix errors in zulip_bots/test_lib.py. 2017-10-27 00:56:16 -04:00
Alena Volkova 6546917088 mypy: zulip_bots: Annotate zulip_bots/run.py. 2017-10-27 00:56:16 -04:00
Alena Volkova 47d8ab8f9a mypy: zulip_bots: Fix errors in zulip_bots/provision.py. 2017-10-27 00:56:15 -04:00
Alena Volkova 3a20dee621 mypy: zulip_bots: Fix errors in zulip_bots/lib.py. 2017-10-27 00:56:15 -04:00
Alena Volkova ad050fc806 mypy: zulip_bots: Fix errors in setup.py. 2017-10-27 00:56:15 -04:00
Alena Volkova 3d282a12a7 mypy: zulip_bots: Fix errors in generate_manifest.py. 2017-10-27 00:56:06 -04:00
Alena Volkova fe6deb2e03 mypy: zulip: Fix errors in tests/test_default_arguments.py. 2017-10-27 00:56:06 -04:00
Alena Volkova 99785a1be4 mypy: zulip: Fix errors in tests/__init__.py. 2017-10-27 00:56:06 -04:00
Alena Volkova 671a078137 mypy: zulip: Fix errors in integrations/zephyr/process_ccache. 2017-10-27 00:56:06 -04:00
Alena Volkova 8becce7c98 mypy: zulip: Annotate integrations/svn/zulip_svn_config.py. 2017-10-27 00:56:06 -04:00
Alena Volkova ab192fe937 mypy: zulip: Annotate integrations/perforce/zulip_perforce_config.py. 2017-10-27 00:56:06 -04:00
Alena Volkova 7ad3324aaa mypy: zulip: Fix errors in integrations/log2zulip/log2zulip. 2017-10-27 00:55:54 -04:00
Alena Volkova 995dc33334 mypy: zulip: Fix errors in integrations/irc/irc_mirror_backend.py. 2017-10-26 17:02:14 -04:00
Alena Volkova af957c18fe mypy: zulip: Annotate integrations/git/zulip_git_config.py. 2017-10-26 17:02:14 -04:00
derAnfaenger 59f81845dd zulip_bots: Update StateHandler API to behave dict-like.
This matches the external StateHandler API with the embedded
StateHandler API.
2017-10-24 13:15:51 +02:00
derAnfaenger 32df4e097d tictactoe bot: Store game state in JSON-able format. 2017-10-24 13:03:41 +02:00
derAnfaenger 8761e47893 zulip_bots: Store testing conversations in lists.
This enforces the use of a list of tuples for
conversations, as opposed to dicts.
2017-10-24 11:14:09 +02:00
derAnfaenger 8179b30873 zulip_bots: Reify StateHandler testing.
This simplifies testing stateful bots by integrating the StateHandler
into the test library. As a side-effect, the mock bot handler gets
reused during a test, making the tests more realistic. The
StateHandler now keeps its state during a call to check_expected_responses,
forcing some stateful tests to be more verbose and explicit.
2017-10-24 11:07:58 +02:00
derAnfaenger e331426c64 zulip_bots: Rename state_handler to storage. 2017-10-23 12:24:41 +02:00
derAnfaenger eb6982e670 zulip_bots: Make state_handler property of bot_handler. 2017-10-23 12:17:46 +02:00
derAnfaenger 45c38d0dcf bot tests: Autospec mock bot handler.
This makes test development less error-prone and closer
to reality.
2017-10-23 11:56:01 +02:00
Eeshan Garg 4af8bcd46e packaging: Upgrade package version (0.3.5 -> 0.3.7). 2017-10-21 01:10:25 -02:30
Steve Howell 08e212138d Look for mentioned in flags.
The Zulip server, starting in 1.7, no longer sends
`is_mentioned` in the message payload, and it was buggy in
earlier versions, so now we check `flags`.
2017-10-20 17:33:59 -07:00
derAnfaenger 839bbf0db4 tools: Enhance output of run-mypy.
This removes the excessively verbose lists of files
to be tested, and flushes the output after every print
to update the user on the current status in real time.
2017-10-20 08:30:33 -07:00