Commit graph

349 commits

Author SHA1 Message Date
novokrest
6332ce47cb jira: Add tests for error cases and help command. 2018-07-01 07:54:28 -04:00
Kishan Patel
ea370031ee tictactoe: Add tests for TicTacToeModel functions.
Encountered several issues with test cases initially,
where test cases were failing due to the structure of the tests
within the file. This was circumvented by creating a separate
instance of the class TicTacToeModel for each test case
in order to focus on unit testing. There might be an issue with
the _get_game_handlers() function at the end of the file
which is used to obtain the model and message information,
it seems to be getting the entire class TicTacToeModel instead of
creating an instance of the class. Overall, this commit focuses
on creating a precedent for writing test cases involving TicTacToeModel,
and implements basic cases which can be extended to larger
edge cases in the future. Testing was done locally by running
./tools/test-bots until we were able to get the response 'ok' for
all the test cases written. We also used coverage in order to test the
coverage of the cases. While we were not able to increase
the coverage as much as we would have liked, we were able to
identify several issues and fix them, hopefully making it easier
for future contributors to add additional test cases to TicTacToeModel.
Overall, we would like special attention given to the way
that TicTacToeModel() was initailized in these tests and whether or not
this is a scalable precedent for future tests.

Fixes: #122
2018-06-28 14:43:29 -04:00
novokrest
aa6afbd2fe front: Add helper func to test command's error. 2018-06-25 08:14:14 -04:00
novokrest
0d3189b3b0 front: Fix status and body of response in fixtures for successful requests. 2018-06-25 08:14:14 -04:00
novokrest
100d50411f front: Add tests when command's request was failed. 2018-06-25 08:14:14 -04:00
Rhea Parekh
b28cfcac3d bots: Improve response at 3 wrong answers in trivia bot. 2018-06-12 13:00:43 -04:00
Rhea Parekh
f25772d1dc bots: Increase test coverage for trivia_quiz bot. 2018-06-11 20:01:41 -04:00
Rhea Parekh
7e8deac8e0 bots: Add type annotations for trivia_quiz bot. 2018-06-11 20:01:41 -04:00
Rhea Parekh
ba98220d44 bots: minor cleanup for trivia_quiz bot. 2018-06-11 20:01:41 -04:00
neiljp (Neil Pilgrim)
0ea49c96ed bot tests: import patch in incrementor & monkeytestit as in other tests.
This makes the code more compact and consistent.
2018-06-11 08:16:43 -04:00
neiljp (Neil Pilgrim)
cd76a3cf5a mypy: Improve typing of dialogflow and salesforce tests. 2018-06-11 08:16:43 -04:00
neiljp (Neil Pilgrim)
509991f26f bot tests: Remove unnecessary imports. 2018-06-11 08:16:43 -04:00
neiljp (Neil Pilgrim)
031510410b xkcd tests: Use consistent imports. 2018-06-11 08:16:43 -04:00
neiljp (Neil Pilgrim)
5d211b0c84 monkeytestit tests: Use unittest.skipIf to disable tests on python < 3.5. 2018-06-11 08:16:43 -04:00
neiljp (Neil Pilgrim)
4900099763 merels test: Rename test & improve style. 2018-06-11 08:16:43 -04:00
neiljp (Neil Pilgrim)
6cdb83ce72 bot tests: Adjust TestCase inheritance to avoid need to skip/filter.
Previously the test-bots script filtered out base-class tests from
BotTestCase. With this change, BotTestCase continues to inherit from
unittest.TestCase, but the default test_* methods previously in this
class are now in a new DefaultTests class, which does not. Instead, each
bot needs to inherit from BotTestCase and DefaultTests *explicitly*.

This avoids the need to filter out the base-class tests, which
simplifies the test-bots script, and may ease any migration to eg.
pytest.

The DefaultTests class does require some non-implemented methods which
BotTestCase provides.
2018-06-09 12:49:49 -04:00
novokrest
df428b4821 dropbox_share: Add tests to increase coverage.
Increase tests coverage to 100%.
2018-06-05 21:34:04 -07:00
novokrest
f808dfb2cc dropbox_share: Remove unreachable elif branch.
Remove unReachable `elif` branch from `dbx_command`
method with checking whether the command is equal
to `help` because this check is performed
at the beginning of the method.
2018-06-05 21:34:04 -07:00
Eeshan Garg
246f065877 zulip_bots: Remove unnecessary requirements.txt files in /bots.
A lot of these were either empty or required 'requests', which
is already installed as part of the main 'zulip' package.
2018-06-04 19:59:59 -02:30
Robert Hönig
60c3919deb bot tests: Allow raw responses in fixtures.
Previously, the responses set in bot test fixtures
where handled as JSON objects. This works fine for
most bot tests, because most of the APIs that bots
are calling return a JSON-formatted response object.
However, some, like Trello, do return raw data.
This hasn't been noticed so far, because the respective
Trello test needed internet access. Tests shouldn't
need internet access.
This commit makes that Trello test use a fixture. To
work properly, it also adds a way to make http_mock_config
parse the response object as raw data.
This can now be done by modifying the "is_raw_response"
property in a newly introduced "meta" object that can
be used to specify how a fixture should be handled.
2018-06-04 10:13:38 -07:00
Rhea Parekh
e638cdd4a9 bots: Add proper error handling for trivia bot. 2018-06-04 06:51:35 -04:00
Rhea Parekh
f276e46890 bots: Add tests for trivia_quiz bot 2018-06-04 05:59:10 -04:00
Steve Howell
9096dd2918 [wip] Create trivia quiz bot. 2018-06-04 05:59:10 -04:00
novokrest
488dcb4219 beeminder: Check auth_token in initialize by idempotent request.
Change checking auth_token in `initialize` method by calling
request to get user's information instead of calling POST request
which modifies progress of user's goal.
2018-06-03 22:17:01 -07:00
novokrest
dc83d9e468 beeminder: Remove duplicated try-except in initialize method.
Remove duplicated try-except in `initialize` method because
ConnectionError is already catched in `get_beeminder_response` method.
2018-06-02 12:01:20 +03:00
novokrest
f3d2d3a01e beeminder: Add tests for valid messages. 2018-06-02 12:01:20 +03:00
novokrest
d68a19f2dc beeminder: Rename test test_normal to test_message_with_value_and_comment. 2018-06-02 11:10:41 +03:00
neiljp (Neil Pilgrim)
2b86b9f488 xkcd bot: Update bot & tests to use bot identity functionality. 2018-05-31 06:10:50 -04:00
neiljp (Neil Pilgrim)
f15356c4c8 wikipedia bot: Update bot & tests to use bot identity functionality. 2018-05-31 06:10:50 -04:00
neiljp (Neil Pilgrim)
efe5b04374 salesforce: Minor improvements; imports & types. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim)
8f0b9adb70 trello: Remove extra newlines & spaces in code and tests. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim)
4f224b5dbc trello: Simplify message & response handling. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim)
8e1d4f524b baremetrics: Remove extra newlines & spaces in code and tests. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim)
b51b6d0361 baremetrics: Simplify response generation. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim)
016011437e baremetrics: Simplify core handler code. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim)
ce4404b9db idonethis: Remove extra newlines in code & tests.
Also rename list_steams -> list_teams.
2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim)
9b782e8357 idonethis: Improve typing & note unused function. 2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim)
dbe44a2774 idonethis: Remove unreachable code & simplify response generation.
Also remove unnecessary import.
2018-05-30 07:11:16 -04:00
neiljp (Neil Pilgrim)
4e19a7716d mypy: Avoid 'Any' for message in bots.
Also remove a few unnecessary typing imports.
2018-05-30 07:11:16 -04:00
Robert Hönig
6249df0ad7 bots: Don't run tests for monkeytestit bot.
The monkeytestit tests fail on Python3.4 because
one of their dependencies only works on Python3.5.
This is a hotfix to make builds pass again. We'll
want to find a proper way of Python version conditional
bot test execution.
2018-05-28 13:43:15 +02:00
Robert Hönig
47c879407c monkeytestit bot tests: Import bot class inside test.
We need to import the bot class inside the tests, so
we are able to temporarily resolve problems with the
bot class by simply skipping the test. It also makes
the code look nicer.
2018-05-28 13:43:15 +02:00
neiljp (Neil Pilgrim)
4364dc7599 chess: Rename to chessbot to avoid naming conflict with engine. 2018-05-26 16:12:25 -07:00
neiljp (Neil Pilgrim)
9e5c929c86 witai: Add __init__.py and fix tests. 2018-05-26 14:36:26 -07:00
neiljp (Neil Pilgrim)
17ad4f61ab twitpost: Add __init__.py and requirements.txt. 2018-05-26 14:36:26 -07:00
neiljp (Neil Pilgrim)
937de114a7 bots: Add 3 missing __init__.py files.
Tests run ok for these bots.
2018-05-26 14:36:26 -07:00
neiljp (Neil Pilgrim)
668a4ed634 game_of_fifteen: Use consistent naming & simplify imports. 2018-05-26 14:36:26 -07:00
dkvasov
be5a7a8c4a zulip_bots: Clean gyphy bot code. 2018-05-16 08:15:36 -07:00
novokrest
65ebd6e595 yoda: Pass API query parameters as params dict in requests.get(). 2018-05-15 09:12:40 -07:00
novokrest
5ad5e11587 link_shortener: Allow #% characters for shortening URL. 2018-05-15 09:12:40 -07:00
novokrest
bccbda49f2 wikipedia: Pass API query parameters as params dict in requests.get(). 2018-05-15 09:12:40 -07:00