Caution
This project is not meant to be run in production and we strongly advise against!
The ti 2.0 testhub provides a comprehensive test environment for the modernized german telematics infrastructure ( ti) version 2.0. As the healthcare telematics infrastructure undergoes significant architectural improvements, a core aspect is the implementation of zero trust architecture (zeta) security concepts.
This project enables developers and testers to:
- simulate and validate zero trust architecture (zeta) components
- test popp (proof of possession) workflows for secure authentication
- validate vsdm2 (versichertenstammdatenmanagement 2.0) functionality
- develop and test client applications against mock backend services
- understand integration patterns for ti 2.0 ecosystem
ZETA requires an SMC-B certificate to work. Follow these steps:
- Request a test SMC-B certificate from gematik Anfrageportal You will receive the certificate from Gematik as a ZIP file.
- In the ZIP file locate a
.p12file whose filename includesAUT_E256_. - Extract the file and rename it to
smcb_private.p12 - Place the file in the
doc/docker/backend/zeta/smcb-privatefolder
- Java 21
- Docker
- Docker Compose
- Optional: A GUI for Docker (e.g. Docker Desktop) can be helpful for monitoring containers and viewing logs. We had good results with Rancher Desktop, which is a free and open source alternative to Docker Desktop.
- Build required Docker images locally:
./mvnw clean install -Pdocker -DskipTests
- Remove Docker containers from previous runs:
docker compose -f ./doc/docker/compose-local.yaml --profile full down -v
- Start Docker containers:
docker compose -f ./doc/docker/compose-local.yaml --profile full up -d --remove-orphans
To learn about additional scenarios and available docker compose profiles refer to the Docker Compose Profiles section in the user manual.
To verify Testhub is working as expected run the VSDM2 integration tests:
./mvnw -pl test/vsdm-testsuite/ -Dit.test="Vsdm*IT" -Dskip.inttests=false verifyAdditional E2E tests can be found in test/.
Tests are written using Cucumber and Gherkin. The files are located in test/.
To execute tests manually using IntelliJ:
- Install the plugins Gherkin and Cucumber for Java.
- Configure IntelliJ using the Tiger manual
- Locate your desired test case and run it in IntelliJ
See ReleaseNotes.md for all information regarding the (latest) releases.
The Testhub user manual is available online. Make sure to check the Troubleshooting section if you run into any issues.
When requesting help or reporting issues please include the following information:
- What operating system are you running? Which CPU architecture? How many CPUs are available? How much memory does your machine have?
- Which commands are you running so that we can reproduce the issue. What is the outcome?
- Supply any applicable logs. You can use docker logs.
You can request help or report issuse through gematik Anfrageportal.
If you want to contribute, please check our CONTRIBUTING.md.
Copyright 2025 gematik GmbH
Apache License, Version 2.0
See the LICENSE for the specific language governing permissions and limitations under the License.
- Copyright notice: Each published work result is accompanied by an explicit statement of the license conditions for use. These are regularly typical conditions in connection with open source or free software. Programs described/provided/linked here are free software, unless otherwise stated.
- Permission notice: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including without
limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
- The copyright notice (Item 1) and the permission notice (Item 2) shall be included in all copies or substantial portions of the Software.
- 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.
- Please note: Parts of this code may have been generated using AI-supported technology. Please take this into account, especially when troubleshooting, for security analyses and possible adjustments.