Steve Howell
57f7088304
Ignore prior coverage data in tools/test-main.
...
Before this patch, we were reading in old coverage data every
time we ran test-main and had a .coverage file lying around.
This would cause inaccurate data when you changed code, and it
would cause crashes if you moved your working directory on the
file system.
2017-11-20 12:48:36 -08:00
derAnfaenger
940e1260b2
docs: Update outdated links.
2017-11-20 15:09:50 +01:00
derAnfaenger
2a74ad11c5
zulip_bots: Make StateHandler optional.
...
This has the convenient side-effect of making
the bot_handler.storage attribute read-only.
2017-11-18 08:58:47 -08:00
derAnfaenger
f41030b515
API: rename get_state & update_state to get_storage & update_storage.
2017-11-18 08:58:47 -08:00
derAnfaenger
2736223073
bots: Make StateHandler store state on Zulip server.
...
This makes the StateHandler functional. To reduce the
number of server roundtrips when fetching/updating the
state, the entire state is fetched ocne at bot
initialization and cached. All changes are stored in the
cache and only saved externally after handle_message()
has been executed.
Fixes #141 .
2017-11-18 08:58:47 -08:00
derAnfaenger
979bbb1c14
bot tests: Consistently use mock_bot_handler instance of MockClass.
2017-11-18 08:58:47 -08:00
derAnfaenger
daad7f24e4
bots: Set JSON as default serializer for StateHandler.
...
With this change, StateHandler.put() does only accept JSON-able
objects by default. The incrementor test tried to store the return
value of send_reply(), a non-JSON-able MockObject, in the state.
Therefore, this commits also sets functional default test return
values for send_message() and send_reply().
Finally, it fixes the tictactoe bot which relied on directly
modifying the state_ attribute.
2017-11-18 08:58:47 -08:00
derAnfaenger
66da09324e
zulip package: Add API functions to access state.
2017-11-18 08:58:47 -08:00
Eeshan Garg
bd7db69bac
bots/giphy: Document the bot.
2017-11-16 09:09:04 -08:00
derAnfaenger
a8b858d78f
zulip_bots: Update links to docs.
2017-11-16 13:54:02 +01:00
neiljp (Neil Pilgrim)
c24c1d2e61
mypy: Add 'type: ignore' comment due to patching function.
2017-11-15 13:43:08 -08:00
neiljp (Neil Pilgrim)
59b86b5b68
mypy: Add reported issue to 'type: ignore' line in generate_manifest.py.
2017-11-15 13:43:08 -08:00
neiljp (Neil Pilgrim)
d929cdb91e
botserver testing: Move to six.assertRaisesRegex from Regexp variant.
...
This ensures 2/3 compatibility. The mypy test also now passes, though
the six stubs appear very minimal - maybe incorrect?
2017-11-15 13:43:08 -08:00
neiljp (Neil Pilgrim)
9ed0fa9e6f
mypy: Remove unnecessary 'type: ignore' in google calendar.
2017-11-15 13:43:08 -08:00
neiljp (Neil Pilgrim)
3e55124f4e
mypy: Remove 'type: ignore's now that python/mypy#1248 is fixed.
2017-11-15 13:43:08 -08:00
neiljp (Neil Pilgrim)
03f5e9110b
mypy: Add comment on ConfigParser.readfp 'type: ignore'.
...
readfp remains valid but is deprecated, so is not in the python3 stubs.
2017-11-15 13:43:08 -08:00
derAnfaenger
761e3e5855
zulip_bots: Update README.md.
...
This stubs the zulip_bots README.md
and moves architectural information
to architecture.md.
2017-11-14 09:51:09 -08:00
derAnfaenger
5f3b3436f6
zulip_bots: Remove redundant custom tests in encrypt.
2017-11-14 09:39:00 -08:00
derAnfaenger
9c37f92a01
zulip_bots: Add common tests.
...
unittest includes by default all module-level classes that inherit
from TestCase and implement at least one method starting with 'test'.
Since it doesn't provide a convenient way for excluding TestSuites,
we need to manually filter out the unwanted testing of our test base
class itself.
2017-11-14 09:39:00 -08:00
Josh Mandel
94b7c2eaef
zulip_bots: Make xkcd bot error more verbose.
2017-11-13 17:00:32 +01:00
derAnfaenger
0eb285da29
README.md: Add command for running mypy.
2017-11-13 12:08:14 +01:00
derAnfaenger
fa9e5a8e26
zulip_botserver: Test for import error with wrong credentials.
2017-11-10 18:36:20 -08:00
derAnfaenger
bf72a8994a
zulip_botserver: Raise exception on wrong flaskbotrc file.
2017-11-10 18:36:20 -08:00
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