metalmq
is under development, it is not feature complete but you can try and run with cargo run.
```bash cargo run --bin metalmq
RUSTLOG=debug cargo run --bin metalmq RUSTLOG=metalmq=trace cargo run --bin metalmq cargo test --tests ```
There are some examples in the examples
directory, they implement simple scenarios of the
metalmq-client
library. To run execute
bash
RUST_LOG=metalmq_client=trace cargo run --example publish-consume
cargo test
cd metalmq
cargo test --features integration-tests
Running tests in metalmq-client
bash
cargo test --package metalmq-client --test it
For AMQP compliance we use pika
Python library and pytest
framework to be to validate
the comformance of metalmq server.
cd amqp-compliance
pytest
In metalmq-client
there is a Rust async client which implements part of the AMQP 0.9.1 protocol.
You can try agains metalmq
server or rabbitmq
.
```bash
cargo test --lib metalmq-client ```
In order to validate AMQP packages we also need a stable AMQP client implementation which is
the pika
. It runs on Python, so one need to install pipenv
to run that.
cd amqp-compliance
pytest
Switch on logging in the beginning of the test.
```
async fn test() -> Result<()> { envlogger::builder().istest(true).try_init(); } ```
Start the test with the environment variable set.
RUST_LOG=metalmq_client=trace cargo test -- --exact exchange::declare_exchange_with_different_type --show-output
In the examples the publish-consume test has dependency on the tokio console.
RUSTFLAGS="--cfg tokio_unstable" cargo run --example publish-consume