Added video link with walkthrough
A Dashboard and API for returning Unit Test class and Test Results for an IRIS Interoperability Project
Ideas Portal: Testing Dashboard for InterSystems IRIS
InterSystems interoperability projects involve testing routing and transformation pipelines in a namespace production.
Packaging automated unit tests for integrations is possible using the %UnitTest class and the Unit Test dashboard from the
System Management portal provides visibility into the results, but the Unit Test manager and Test Suite framework presents challenges to implementers due to lack of interoperability samples.
The goal of the iris-unit-test-dashboard is to create a user-friendly and top-view dashboard for implementers to track the status of unit test development for a collection of feeds in an implementation project.
This repository contains an IRIS for Health instance with a namespace (IRISAPP) that contains an example directory structure to organize Unit Tests by Project Name, Namespace, and Unit Tests that contain methods for verifying simple HL7 integrations. The provided APIs provide visibility into the Unit Test classes and Test Cases for each class as well as the results of running the Unit Tests. An API to run the Unit Tests with a single command allows for push button execution of unit tests without needing to drill down to IRIS Terminal to perform command line operations.
Make sure you have git and Docker desktop installed.
Clone/git pull the repo into any local directory e.g. like it is shown below:
$ git clone git@github.com:LEADNorthLLC/iris-unit-test-dashboard.git/
Open the terminal in this directory and run:
$ docker-compose up -d --build
The management portal is available at:
Management portal
Login: _system/SYS
To fetch the demonstration tests: Demonstration Tests URL
To fetch the demonstration test results: Demonstration Test Results URL
To run all the tests Production: Run All Tests URL
To run all the tests Production(asynchronous/nowait mode): Run All Tests Async URL
Open Docker Terminal:
docker exec -it iris-unit-test-dashboard-iris-1 bash
Then open IRIS terminal:
iris session IRIS
The UI is served from a second container and is available after docker startup at:
IRIS Unit Test Dashboard Documentation
A sample HL7 integration has been provided in: src\INTEROP\InteroperabilityProject
.
The code includes simple routing rules and DTL transformations along with Unit Test classes located in the UnitTest
folder.
The Unit Test classes are modifications based on an open source HL7 RuleSet testing library provided by Alex Woodward.
Postman Collection
There is a Postman Collection located in the testing
folder:
testing\IRIS UnitTest Dashboard.postman_collection.json
Using VSCode and ObjectScript plugin, IRIS for Health Community Edition in Docker, IRIS openapi API, React.
Any collaboration is very welcome! Fork and send Pull requests!