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
Eeshan Garg
00f22e175c
pypi: Release 0.4.7.
2018-05-21 20:02:43 -02:30
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
a06fb98f21
zulip_bots and zulip_botserver: Extract common function.
2018-05-17 17:35:09 +03: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
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
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
dkvasov
6542f8c867
zulip_botserver: Add parameter to set custom bot name (for single-bot mode).
2018-05-16 17:41:22 +03:00
dkvasov
aa193c1298
zulip_botserver: Extract input parameters.
2018-05-16 17:40:40 +03:00
Guitar1st
f90913d54c
zulip_botserver: Get rid of some global variables.
2018-05-15 12:32:57 -07:00
Tim Abbott
7b6da265ea
zulip_botserver: Reorder imports.
2018-05-15 12:32:45 -07:00
Tim Abbott
70dd05e5a6
zulip_botserver: Enforce that port argument is an int.
2018-05-15 12:32:45 -07:00
Tim Abbott
5ef224f2a2
zulip_botserver: Eliminate the bots_config global variable.
...
It's easy to just pass it around to the one function that needs it.
2018-05-15 12:32:44 -07:00
Tim Abbott
1e5c0fec1f
zulip_botserver: Fix long line for ImportError.
2018-05-15 12:23:40 -07:00
Tim Abbott
9eda19d6cc
zulip_botserver: Get rid of old six.moves for configparser.
2018-05-15 12:23:10 -07:00
Guitar1st
2ba6f75fb3
zulip_botserver: Change style of type annotations to python3
2018-05-14 20:00:44 +00:00
Guitar1st
641665c338
zulip_botserver: Remove unused imports and do some other cleanup.
2018-05-14 20:00:44 +00:00
Tim Abbott
b1ab308c26
botserver: Fix mypy error.
2018-05-14 10:07:02 -07:00
Tim Abbott
7124f9dc14
bot_server: Call the bot server initialization code.
2018-05-14 08:50:52 -07:00
Eeshan Garg
f4bdb059db
pypi: Release version 0.4.6.
...
This includes a critical bug fix for call_on_each_event.
2018-04-27 01:43:42 -02:30
Eeshan Garg
0f448579ab
pypi: Release 0.4.5.
...
We just made a minor change to our Git integration, so that warranted
a new release so I could update the docs on the zulip/zulip repo.
2018-04-23 18:50:56 -02:30
Eeshan Garg
2d46445ab5
pypi: Release version 0.4.4.
...
This includes some important changes after the release of pip 10.
2018-04-16 17:05:27 -02:30
Eeshan Garg
60e02ed979
pypi: Release version 0.4.3.
...
Making this release due to recent changes made to the Trello script.
2018-04-03 22:05:39 -02:30
Eeshan Garg
7e360c244c
pypa: Release version 0.4.2.
2018-03-31 17:19:23 -02:30
Eeshan Garg
f74c94ba04
pypi_packaging: Release version 0.4.1.
2018-02-07 01:03:49 -03:30
Eeshan Garg
4458276801
requirements: Remove runtime dependency on mock.
...
The zulip and zulip_botserver packages specify mock as a runtime
dependency, which is only needed for testing during development.
So, it made more sense to move it to requirements.txt so that
it can be installed by ./tools/provision during development.
2018-01-09 17:01:16 -03:30
Eeshan Garg
3030c73060
packages: Release 0.4.0.
2018-01-06 18:28:35 -03:30
Robert Hönig
06c5904347
Add 'mock' requirement for zulip and zulip_botserver.
...
These packages depend on mock. Previously, that dependency
was satisfied "by chance" because zulip_bots happened to
install 'mock'.
2018-01-06 16:39:52 +01:00
neiljp (Neil Pilgrim)
438f711bb7
mypy: Amend typing of botserver test lib for strict-optional.
2018-01-02 14:05:33 -05:00
Eeshan Garg
c3ab265d3e
packaging: Upgrade to release 0.3.9.
2017-11-29 01:23:12 -03:30
Steve Howell
536ba1843a
Add a command line option to run.py for bot config files.
...
Before this change, we were looking for config files in
default locations in source control, which is not a good
place to look for them. Now `run.py` and friends have a
command line argument where users can specify the config
files.
Note that the change to server.py is only a partial fix
to make it so that bots that don't use third party config
files won't crash. That program needs an overhaul, anyway.
2017-11-28 10:52:13 -08:00
Steve Howell
8a15452525
bots: Require bots_details in ExternalBotHandler.
...
This parameter was defaulting to a dictionary, which is
a classic Python pitfall.
2017-11-28 10:52:13 -08:00
Eeshan Garg
50b5ec0f49
packages: Release 0.3.8 for all PyPI packages.
2017-11-27 23:34:38 -03:30
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
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
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