bin+lib resonite

Resonite's API in rust

8 unstable releases (3 breaking)

new 0.3.3 Oct 6, 2024
0.3.2 Sep 24, 2024
0.3.1 Aug 6, 2024
0.3.0 Jul 28, 2024
0.0.0-alpha.0 Sep 23, 2023

#231 in Game dev

Download history 290/week @ 2024-07-22 228/week @ 2024-07-29 144/week @ 2024-08-05 6/week @ 2024-08-12 4/week @ 2024-09-16 198/week @ 2024-09-23 176/week @ 2024-09-30

378 downloads per month

MPL-2.0 license

115KB
2.5K SLoC

Resonite API in rust

License Crates.io Docs

Rust models of Resonite's API.

Any official documentation of Resonite' API is lacking, and the API is still changing too. So this crate can't guarantee correctness.

This crate provides an example API client with the optional http_client & signalr_client features.

Testing

The integration tests will contact the live API. That's why they are ignored by default.

Some of them also will require authentication.

Sadly not all the things can even be reliably tested without creating a mock API. Which in turn defeats the purpose of the tests in the first place.

Generating auth token

To dogfed the API crate, the auth getting is implemented with a simple rust script using this crate itself. You can run the binary with:

cargo run --bin auth-helper --all-features

Running ignored tests

Make sure that you've got:

  • an internet connection
  • a valid authentication file

Then just run the tests;

# A specific test with output logging
cargo test --all-features get_user -- --exact --ignored --nocapture
# All tests
cargo test --all-features -- --ignored

License

Note that the license is MPL-2.0 instead of the more common MIT OR Apache-2.0. A license change however can be negotiated if the Resonite team wants to use this crate or adopt this crate into a more official one with a different license.

Dependencies

~2–15MB
~208K SLoC