Find a file
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
tools bot lib tests: Move tests of bot library to tests/. 2018-05-30 18:29:47 -07:00
zulip matrix bridge: Add main() function to enable installation. 2018-06-02 09:26:40 -07:00
zulip_bots bot tests: Allow raw responses in fixtures. 2018-06-04 10:13:38 -07:00
zulip_botserver botserver: Validate token before accepting message. 2018-05-30 09:37:33 -04:00
.codecov.yml codecov: Adjust failure threshold. 2017-09-14 04:26:12 -07:00
.editorconfig Editing: Add .editorconfig from zulip/zulip (with note). 2017-12-18 07:36:40 -05:00
.gitignore Rename flaskbotrc to botserverrc. 2018-05-29 10:19:50 +02:00
.travis.yml slack importer: Shift the slack data conversion files to zulip server repo. 2017-12-27 07:54:42 -05:00
mypy.ini mypy: Improve typing of bots & API; enforce no_implicit_optional. 2018-04-06 13:45:11 -04:00
py3_requirements.txt requirements: Upgrade to mypy 0.600. 2018-05-15 10:03:57 -07:00
README.md Consistently use Botserver instead of botserver or bot server. 2018-05-29 10:58:37 +02:00
requirements.txt requirements: Remove runtime dependency on mock. 2018-01-09 17:01:16 -03:30

Zulip API

Build status Coverage status

This repository contains the source code for Zulip's PyPI packages:

The source code is written in Python 3.

Development

  1. Fork and clone the Git repo: git clone https://github.com/<your_username>/python-zulip-api.git

  2. Make sure you have pip and virtualenv installed.

  3. cd into the repository cloned earlier: cd python-zulip-api

  4. Run:

    python3 ./tools/provision
    

    This sets up a virtual Python environment in zulip-api-py<your_python_version>-venv, where <your_python_version> is your default version of Python. If you would like to specify a different Python version, run

    python3 ./tools/provision -p <path_to_your_python_version>
    
  5. If that succeeds, it will print end with printing the following command:

    source /.../python-zulip-api/.../activate
    

    You can run run this command to enter the virtual environment. You'll want to run this in each new shell before running commands from python-zulip-api.

  6. Once you've entered the virtualenv, you should see something like this on the terminal:

    (zulip-api-py3-venv) user@pc ~/python-zulip-api $
    

    You should now be able to run any commands/tests/etc. in this virtual environment.

Running tests

To run the tests for

  • zulip: run ./tools/test-zulip

  • zulip_bots: run ./tools/test-bots

  • zulip_botserver: run ./tools/test-botserver

To run the linter, type:

./tools/lint

To check the type annotations, run:

./tools/run-mypy