DMNTK | Decision Model and Notation Toolkit

TCK test runner

MIT licensed Apache 2.0 licensed Contributor Covenant

Implementation of the DMN™ Technology Compatibility Kit runner. This runner is provided to help vendors automate test execution for their products, in case they wish to use Rust.

TIY (test it yourself)

Everyone can run TCK tests against DMNTK server and verify the results published on the official TCK website: https://dmn-tck.github.io/tck/

To run TCK tests you need:

Test scenario for Fedora Linux


THE FOLLOWING SCENARIO WILL BE WORKING IN VERSION: - dmntk v0.4.0 - dmntk-test-runner v0.4.0


Create a common directory for all artefacts that take part in testing, let say ~/tiy shell $ cd ~ $ mkdir tiy $ cd tiy Check if Git is installed: shell $ git --version Check if Rust is installed: shell $ rustc -V Check if Java is installed: shell $ java --version Check if Maven is installed: shell $ mvn --version Clone TCK repository: shell $ git clone https://github.com/dmn-tck/tck Clone dmntk.tck.patches repository: shell $ git clone https://github.com/dmntk-io/dmntk.tck.patches Clone dmntk.rs repository: shell $ git clone https://github.com/dmntk-io/dmntk.rs Clone dmntk.test.runner repository: shell $ git clone https://github.com/dmntk-io/dmntk.test.runner Clone dmntk.java.server repository: shell $ git clone https://github.com/dmntk-io/dmntk.java.server Build and run Java RPC server (in separate terminal window): shell $ cd dmntk.java.server $ mvn clean package $ java -jar ./target/server-0.1.1.jar Patch TCK repository: shell $ cd dmntk.tck.patches $ ./apply-patches.sh ../tck $ cd .. Build and run DMNTK server (in separate terminal window): shell $ cd dmntk.rs $ cargo +stable run --release --features tck -- srv -H 127.0.0.1 -D ../tck/TestCases Run TCK tests (in separate terminal window: shell $ cd dmntk.test.runner $ cargo +stable run --release -- config-compliance.yml Output: ```text Tests: ┌─────────┬───────┬─────────┐ │ Total │ 3106 │ │ ├─────────┼───────┼─────────┤ │ Success │ 3106 │ 100.00% │ │ Failure │ 0 │ 0.00% │ └─────────┴───────┴─────────┘

Test cases: ┌─────────┬───────┬─────────┐ │ Total │ 3003 │ │ ├─────────┼───────┼─────────┤ │ Success │ 3003 │ 100.00% │ │ Failure │ 0 │ 0.00% │ └─────────┴───────┴─────────┘

Timings: ┌───────────────────────┬────────┐ │ Average requests time │ 0.67s │ │ Requests per second │ 4622 │ └───────────────────────┴────────┘ ```

License

Licensed under either of

at your option.

Contribution

We appreciate any contributions from the community to help improve our project. If you would like to get involved, please don't hesitate to reach out to us. All contributions intentionally submitted for inclusion in the work by you, shall be dual licensed as above, without any additional terms or conditions.