/isik3-testsuite

This repository contains a test suite for conformance tests of the ISiK Stufe 3 specification (modules Basis, Terminplanung, Dokumentenaustausch, Medikation, Vitalparameter und Körpermaße)

Primary LanguageGherkinOtherNOASSERTION


ISiK Stufe 3 Test Suite

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. License
  6. Contact

About The Project

This is a test suite for conformance tests of the ISiK Stufe 3 specification modules:

Warning The test suite consists of the same test cases as the Titus platform but is currently under evaluation. You can not pass the conformity assessment with this test suite yet. Please follow the instruction on the above page to get access to the Titus platform.

Release Notes

See ReleaseNotes.md for all information regarding the (newest) releases.

Getting Started

Prerequisites

To run the test suite you need the following components:

  1. This test suite, which you can get either by cloning this repository or downloading the latest release.
  2. An ISiK resource server (System under Test, SUT) that is compliant with one of the ISiK Stufe 3 specification modules.

Operating system requirements: cf. Tiger Framework OS requirements

Installation

Test environment

Configure the endpoint of the SUT using the configuration element servers.fhirserver.source in the tiger.yaml configuration file. Example:

servers:
  fhirserver:
    type: externalUrl
    source:
      - http://localhost:9032

Test resources

Each test case requires specific test resources to be present in the SUT. Create the following test resources in the SUT and put their corresponding IDs into the testdata/MODULENAME.yaml configuration file.

Example:

The @Patient-Read test case requires a patient resource to be created in the SUT by the user before the test case can be run. As the SUT would usually assign a new unique ID to each created resource, e.g. 244b0d72-fe47-4294-be48-7763895287c5, this newly assigned ID should be put into the testdata/basis.yaml configuration file. The precondition of the test case declares which configuration variable should be used - patient-read-id in this example:

...
patient-read-id: Patient-Read-Example
...

Usage

Starting all test cases from one or multiple modules

To start all test cases from a module, run mvn verify -P MODULENAME, e.g. mvn verify -P basis. To start only mandatory or optional test cases, use the corresponding profiles mandatory or optional.

Examples:

`mvn -P basis,mandatory`
`mvn -P basis,optional`

Available module names:

  • basis
  • dokumentenaustausch
  • medikation
  • terminplanung
  • vitalparameter

Test cases of several modules can be executed in one run by providing a comma-separated list of module names, e.g. mvn verify -P basis,medikation.

Starting single test cases

To start one or several particular test cases run mvn verify -Dcucumber.filter.tags="@TEST_NAME1 or @TEST_NAME2", e.g. mvn verify -Dcucumber.filter.tags="@Patient-Read or @Patient-Search". To start the complete test suite run mvn verify.

Inspecting test results

Right after starting a test suite a browser window will open, which provides an overview of the testing progress. See Tiger Workflow UI for further information about the user interface. To run the test suite without the GUI, e.g. within a CI/CD pipeline, set the configuration element lib.activateWorkflowUi to false in the tiger.yaml configuration file.

The test suite produces a report, which can be found in target/site/serenity/index.html or as a compressed artifact in target/tiger-integration-isik-stufe-3-VERSION-SNAPSHOT-report.zip.

Warning Please always attach the ZIP test report to the issue in the Anfrageportal ISiK when reporting a bug.

Warning The mvn command deletes the target folder. Backup the created reports if you need them in the future.

Proxy settings

To access an endpoint behind a proxy, you can set the proxy settings in the Maven command line.

Example:

mvn -Dhttps.proxyHost=....... -Dhttps.proxyPort=..... -P basis

Contributing

If you want to contribute, please check our CONTRIBUTING.md.

License

Copyright 2024 gematik GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

See the LICENSE for the specific language governing permissions and limitations under the License.

Unless required by applicable law the software is provided "as is" without warranty of any kind, either express or implied, including, but not limited to, the warranties of fitness for a particular purpose, merchantability, and/or non-infringement. The authors or copyright holders shall not be liable in any manner whatsoever for any damages or other claims arising from, out of or in connection with the software or the use or other dealings with the software, whether in an action of contract, tort, or otherwise.

The software is the result of research and development activities, therefore not necessarily quality assured and without the character of a liable product. For this reason, gematik does not provide any support or other user assistance (unless otherwise stated in individual cases and without justification of a legal obligation). Furthermore, there is no claim to further development and adaptation of the results to a more current state of the art.

Gematik may remove published results temporarily or permanently from the place of publication at any time without prior notice or justification.

Contact

Please open a GitHub issue or a ticket within Anfrageportal ISiK for any questions or feedback.