DMNTK | Decision Model and Notation Toolkit
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.
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:
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 │ └───────────────────────┴────────┘ ```
Licensed under either of
at your option.
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.