zulip-api 0.0.2

Client library for interacting with the Zulip API
docs.rs failed to build zulip-api-0.0.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: zulip-api-0.0.1

Zulip API

This crate aims to implement the full Zulip REST API.

There is potential for also implementing the Webhook API for more complete integration with Zulip servers.

Alternatives

  • zulip: official Python bindings
  • zulip_rs: unmaintained community Zulip client library

Tests

Unit tests can be run with the normal:

$ cargo test

Integration tests

Integration tests require a little more setup based on the docker-zulip project.

docker-zulip setup

First, use the Docker setup inside the tests/docker folder to launch a local Zulip instance:

$ cd tests/docker

// use docker-compose to launch the instance
# docker compose up -d

// create new "realm" (Zulip term for an organization) link
# docker compose exec docker_zulip_1 \
    "su zulip -c '/home/zulip/deployments/current/manage.py generate_realm_creation_link'"

Instructions are the same using podman compose.

After getting the realm creation link, open it in a browser, and complete the form.

You will need to click through a TLS error about self-signed certificates.

For detailed instructions, see the docker-zulip repository.

Zulip API configuration

A zuliprc file with API authentication settings will be needed to run the integration tests.

You can generate the file by navigating to Settings > Account & Privacy > API Key, and click the Manage API Key button.

You will be prompted for your account password, and presented with the option to download a zuliprc file.

Save the file to zulip-api/tests/zuliprc.

Running integration tests

Once setup is complete, you can run integration tests with:

$ cargo test --features int-tests