amanagr
b0b372c95d
Support game_handler
to allow consecutive turns for the same player.
...
Add a SamePlayerMove exception that allows giving consecutive turns to the
same player.
2018-02-27 08:28:40 -05:00
amanagr
5fda59dde0
Susi AI Bot: Create a susi ai bot.
...
This bot uses SUSI_SERVER API to get response.
2018-02-22 09:36:25 -05:00
Steve Howell
9175c451f6
tests: Test handling of bad moves in connect four.
...
This commit tests that we throw a BadMoveException if you
try to move into a "full" column in connect four. This gets
the controller up to 100% coverage.
2018-02-21 08:06:28 -05:00
amanagr
6df10749fb
Make game_handler
support starting a game with a range of playeres.
...
Allow a game to start even if `max_players` is not reached.
Adding a new command `play game` to start a game if the
number of players is between max and min no. of players.
Make tests pass with the new change.
2018-02-20 16:08:34 -05:00
Viraat Chandra
b7b083f094
interactive bots: Add Trello Interactive Bot.
2018-02-16 09:54:55 -05:00
AmAnAgr
5b0a444ab8
Dropbox Bot: Support sharing, searching and primary file operations.
2018-02-16 09:42:03 -05:00
AmAnAgr
47c6bbe787
virtual_fs : Get test coverage to 100%.
2018-02-15 10:06:43 +01:00
AmAnAgr
03d4bafa26
Improve test_coverage for github-detail bot.
2018-02-15 10:06:43 +01:00
Robert Hönig
192e9e101d
bots: Add magic method validate_config().
...
This method allows bots to validate their config info
in a standardized way. Adding the method to a bot is
optional, but recommended for bots with config options
that can be invalid, like api keys. The giphy bot serves
as an example.
The primary reason behind this is to allow the zulip
backend to validate config data for embedded bots. The
backend does not have a permanent bot class instance, so
validate_config() must be a static method.
2018-02-13 11:02:17 -08:00
Robert Hönig
7dcec207eb
lib_tests.py: Set realistic spec for BotHandler mock.
2018-02-13 11:02:17 -08:00
Eeshan Garg
f74c94ba04
pypi_packaging: Release version 0.4.1.
2018-02-07 01:03:49 -03:30
Robert Hönig
bda4b74c50
mention bot: Add fixture for invalid api key test.
...
This makes the mention bot tests no longer rely on an
internet connection to succeed.
2018-02-06 15:27:45 +01:00
Robert Hönig
4ed31eb6fd
baremetrics bot: Add fixture for invalid api key test.
...
This makes the baremetrics bot tests no longer rely on an
internet connection to succeed.
2018-02-06 15:27:45 +01:00
AmAnAgr
acf45ea4ef
converter: Get test coverage to 100%
...
Fixes #122
2018-02-01 16:13:54 -05:00
Viraat Chandra
d9fca54998
bots: Fix test failure for Baremetrics bot.
2018-01-24 11:19:44 +01:00
fredfishgames
3cbb16722d
zulip_bots: Migrate tictactoe bot to new game_handler.
2018-01-22 11:30:31 -05:00
fredfishgames
3a438cafa9
zulip_bots: Migrate connect_four bot to new game_handler.
2018-01-22 11:30:31 -05:00
fredfishgames
ec5be8fc7e
zulip_bots: Consolidate game-playing bots.
2018-01-22 11:30:31 -05:00
Viraat Chandra
2f429fcb86
zulip_bots: Add test for create-plan
command of Baremetrics bot.
2018-01-16 12:24:26 -05:00
Viraat Chandra
94f82dfe4c
zulip_bots: Add feature create-plan
to Baremetrics bot.
2018-01-16 12:24:26 -05:00
Viraat Chandra
e32336eb6e
Improve test coverage for Yoda bot.
2018-01-12 07:35:38 -05:00
Viraat Chandra
fd97ffce77
Improve test coverage for Mention bot.
2018-01-12 07:35:38 -05:00
Viraat Chandra
bffb8d0e16
Improve test coverage for Baremetrics bot.
2018-01-12 07:35:38 -05:00
rht
da4b830571
bots: Init interrealm bridge bot.
2018-01-12 07:15:23 -05:00
Steve Howell
480c953b98
virtual_fs: Add test_sample_conversation().
2018-01-10 16:54:05 -05:00
Steve Howell
5be72288db
virtual_fs: Make sample_conversation() a list of tuples.
...
It's nice to see the requests and replies as separate strings
when you're reading the code.
2018-01-10 16:54:05 -05:00
Steve Howell
f8d51fc9d1
virtual_fs: Remove help commands from the sample conversation.
2018-01-10 16:54:05 -05:00
Steve Howell
820e949faf
virtual_fs: Remove fs_sample_conversation().
...
We already have "help" for specific commands, so the
fs_sample_conversation() feature was mostly redundant.
2018-01-10 16:54:05 -05:00
Steve Howell
4b9e3d655f
virtuals_fs: Add test for sample_conversation.
2018-01-10 16:54:05 -05:00
Steve Howell
917bd82019
bot tests: Extract get_reply_dict() test helper.
2018-01-10 16:54:05 -05:00
Steve Howell
88f6ddefb2
virtual_fs: Fix bug with "rmdir" command.
...
In python3, if you removed a directory that files within it,
you would get an error saying "dictionary changed size
during iteration."
The fix is to list-ify the keys before iterating over them (and
popping keys from the dictionary).
2018-01-09 09:21:30 -05:00
Eeshan Garg
e20b754498
zulip_bots: Use package_data instead of MANIFEST.in.
...
This commit removes generate_manifest.py and package data files
are now included using the package_data kwarg to setup().
This is because, in certain situations, MANIFEST.in is a bit
finicky. For instance installing a package using:
python setup.py install
doesn't include files specified in MANIFEST.in, while using
pip install ./zulip_bots
does. package_data doesn't pose this problem, ergo it's better
for us.
2018-01-08 18:28:50 -03:30
Xavier Cooney
1de704394a
interactive bots: Create idonethis bot.
2018-01-08 10:46:52 +01:00
Eeshan Garg
3030c73060
packages: Release 0.4.0.
2018-01-06 18:28:35 -03:30
Robert Hönig
c36b8d1199
packaging: Include bot .conf files in zulip_bots.
2018-01-06 16:58:50 -03:30
Robert Hönig
a4facb4249
Rename followup.config to followup.conf.
2018-01-06 16:58:50 -03:30
Robert Hönig
78d7f9694e
zulip_bots: Move six imports.
2018-01-06 16:39:52 +01:00
Robert Hönig
0893a5f61e
zulip_bots setup.py: Install deps from the bots' requirements.txt files.
...
This makes it straightforward to add dependencies for a bot,
and works around https://github.com/pypa/pip/issues/4957 .
2018-01-06 16:39:52 +01:00
Robert Hönig
56a9cbe5af
Make bot provisioning script install dependencies globally.
...
Previously, a bot's dependencies were installed within the
bot's directoy, which is unconventional and doesn't work with tests.
2018-01-06 16:39:52 +01:00
Robert Hönig
e48a958780
request_test_lib.py: Move from mock to unittest.mock.
...
This commit changes 'Mock.assert_called()' to 'assert Mock.called'.
This is needed because in unittest.mock, assert_called() is only
supported in Python >=3.6.
2018-01-06 16:39:52 +01:00
Robert Hönig
b46a079804
zulip_bots: Move from mock to unittest.mock in most files.
2018-01-06 16:39:52 +01:00
Robert Hönig
ae76aa8f72
bots: Add requirements not captured by pipreqs.
2018-01-06 16:39:52 +01:00
Robert Hönig
fd51735bfc
Add requirements.txt for each bot.
2018-01-06 16:39:52 +01:00
Robert Hönig
f4ee3d4009
Fix mypy errors.
2018-01-04 17:19:02 +01:00
Robert Hönig
eb02e08fb7
yoda bot: Just import the requests module.
...
This removes the unconventional check for the
existence of the requests module in the yoda
bot to bring it in line with other bots.
2018-01-04 10:34:16 -05:00
Robert Hönig
f6f09202ac
baremetrics bot: Quit on invalid API key.
2018-01-04 10:34:16 -05:00
Robert Hönig
c86e62a06a
link_shortener bot: Quit on invalid API key.
2018-01-04 10:34:16 -05:00
Robert Hönig
bed2c6c9ea
mention bot: Quit on invalid API key.
2018-01-04 10:34:16 -05:00
Robert Hönig
57342072dc
salesforce bot: Quit on invalid API key.
2018-01-04 10:34:16 -05:00
Robert Hönig
8417dbf154
weather bot: Quit bot on invalid API key.
2018-01-04 10:34:16 -05:00