Commit graph

2278 commits

Author SHA1 Message Date
novokrest 24a157cd37 jira: Refactor old tests to use mock_http_conversation. 2018-07-01 07:54:28 -04:00
novokrest 6332ce47cb jira: Add tests for error cases and help command. 2018-07-01 07:54:28 -04:00
novokrest 914583e8f7 request_test_lib: Add mocking PUT requests. 2018-07-01 07:54:28 -04:00
Yago González f8fd7b6fbf api: Implement GET /messages/<message_id>/history. 2018-06-28 20:26:06 -02:30
Yago González 2da831bbe1 api: Fix mypy annotations for delete_message. 2018-06-28 20:26:06 -02:30
neiljp (Neil Pilgrim) 4e0dccc9f5 test-bots: Make bots_to_test a set, ensuring tests are not duplicated.
The previous style was causing duplicate tests for the dropbox_share bot
for the unittest runner, due to globbing of test_*.py giving duplicates.

However, it also avoids unintentional duplication of bot names to test
on the command line being tested multiple times, though again only with
the unittest runner.
2018-06-28 14:55:23 -04:00
neiljp (Neil Pilgrim) 2895853938 test-main: Pass command-line arguments to each script.
This allows use of:
  -p : Run all tests with pytest
  -v : Additionally run pytest results in verbose mode
2018-06-28 14:55:23 -04:00
neiljp (Neil Pilgrim) d01f9c08ea .gitignore: Add .pytest_cache folders. 2018-06-28 14:55:23 -04:00
neiljp (Neil Pilgrim) de5fa0e8fc test_handler: Add title for test sections which use test_handler. 2018-06-28 14:55:23 -04:00
neiljp (Neil Pilgrim) 2fd9162030 test-lib: Drastically simplify by using test_handler function.
This automatically enables use of the pytest runner using common code.
2018-06-28 14:55:23 -04:00
neiljp (Neil Pilgrim) 52ab8cc44e test_handler: Separate test title from path to discover tests. 2018-06-28 14:55:23 -04:00
neiljp (Neil Pilgrim) a6a5da2653 test_handler: Support running various tests using pytest.
This enables use of pytest with:
* the zulip package
* the botserver package
2018-06-28 14:55:23 -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
Yago González e6972bcbb9 api: Add extra arguments to get-messages example. 2018-06-26 19:46:22 -02:30
Yago González 0e39ca5236 api: Remove recent-messages example.
The GET /messages action has been recently implemented into our
bindings. Therefore this example has been superseded by get-messages,
which is capable of fetch messages in a more fine-grained way.
2018-06-26 19:46:22 -02:30
Yago González 38f3e1a9f5 api: Implement GET /messages/<message_id>. 2018-06-26 19:42:49 -02:30
Yago González e2f379675b api: Implement DELETE /messages/<message_id>. 2018-06-26 19:40:27 -02:30
Yago González 005829192e api: Implement PATCH /streams/<stream_id>. 2018-06-26 19:38:44 -02:30
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
Sivagiri Visakan 3e20593da2 bots/finder: Make name a non-default parameter in import_module_from_source. 2018-06-22 07:59:56 -04:00
Sivagiri Visakan 09a7894a34 bots: Extract path resolution logic into a function. 2018-06-22 07:59:56 -04:00
Sivagiri Visakan d053528925 bots: Move import_module_from_source to finder.py. 2018-06-22 07:59:56 -04:00
Yago González 36566c26c1 api: Implement GET /messages. 2018-06-21 15:51:53 -02:30
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) d73fa0f50f test-bots: Add option to use pytest for running tests.
* Add pytest to requirements.txt
* Add pass-through option to run pytest in verbose mode
* Use various default pytest options
* Exclude merels bot for now
2018-06-09 14:13:18 -04:00
neiljp (Neil Pilgrim) 69fab99ba7 linter: Add check for incorrect use of inheritance in Bot test cases. 2018-06-09 12:49:49 -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
Eeshan Garg c636a5ac49 pypi: Release 0.5.0. 2018-06-07 12:05:18 -02:30
Eeshan Garg 26bd90b260 zulip_bots: Display neat error message for missing bot dependencies.
We just moved the logic for installing bot dependencies from setup.py
to tools/provision. So bot dependencies are not automatically installed
anymore as a part of the base package. Now, if there is an import error
caused by missing dependency, we display a neat error message asking
the user to provision bot dependencies.
2018-06-06 13:23:16 -07:00
Eeshan Garg f69f7f41d0 zulip_bots/provision: Use subprocess and stop being --quiet.
The bot provisioning code was breaking due to pip.main not being
a function anymore. Also, I don't think we should pass the --quiet
option here. I felt it was good to have some visual information
about what deps were being installed, just in case if something
went wrong and there was a conflict, the user should be able to
see it.
2018-06-06 16:36:21 -02:30
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
neiljp (Neil Pilgrim) 97b2a12d21 matrix bridge: Adjust to python2-compatible type annotations. 2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim) 2703d4c720 matrix bridge: Update & improve README.md. 2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim) 43e80b42da matrix bridge: Add write-sample-config option & remove sample config. 2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim) 78c64d069b matrix bridge: Add description of script & some useful tips. 2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim) 70ba4c9035 matrix bridge: Improve error handling by exception translation.
Also:
* introduces two internal Bridge_*Exception classes.
* import matrix_client.errors instead of matrix_client.api.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim) a6e39509d9 matrix bridge: Improve join/leave option.
Original '--no-noise' option had a parameter and did not disable;
new parameter is '--enable-join-leave', and sets same option for
compatibility.
2018-06-04 15:55:14 -07:00
neiljp (Neil Pilgrim) d45b43a9b1 matrix bridge: Configure using config(parser) file instead of python module. 2018-06-04 15:55:14 -07:00