This release is a pre-release and may not be stable for production use.
Eclipse Tractus-X Test Lab
TestLab is the testing framework built into the Tractus-X SDK. It enables you to author, compile, distribute, and execute automated test cases against dataspace connectors and industry services — without writing any Python code.
Test authors write declarative YAML tests describing the steps to execute, the services to connect to, the assertions to evaluate, and the cleanup to perform. TestLab takes care of the rest: validation, encryption, packaging, execution, and structured reporting.
Key Components
- Tests — YAML-defined test sequences composed of reusable, predefined steps
- Compiler — Validates tests at compile time and packages them into portable, encrypted-by-default
.testpkgartifacts - Player — An async executor deployable as standalone CLI or embeddable in an existing application, with cryptographic identity for package authorization
- Services — Managed SDK service lifecycle for connector, provider, and DTR instances with automatic initialization and reuse across steps
- Server — FastAPI-based callback/webhook engine with dynamically mounted routes for async request/response patterns
How It Works
Tests can declare long-lived services that persist for the test duration (avoiding repeated initialization), configure callback endpoints to receive async responses, and leverage runtime variable resolution. These tests are compiled with strict validation, packaged into distributable artifacts, and executed by the Player — which resolves runtime variables, manages step sequencing, evaluates assertions, orchestrates managed services, and provides live execution status.
Tests with steps like (e.g., provision_asset, negotiate_contract, validate_aspect_model) can be included inside of test cases, which enable reusability and personalized configurations for different scenarios.
Getting Started
Please refer to the INSTALL.md for installation instructions.
Documentation
Detailed documentation is available in the docs directory.
Contributing
Please refer to the CONTRIBUTING.md file for information on how to contribute to this project.
License
Distributed under the Apache License 2.0. See LICENSE for code and LICENSE_non-code for non-code content.
NOTICE
This work is licensed under the Apache-2.0.
- SPDX-License-Identifier: Apache-2.0
- SPDX-FileCopyrightText: 2026 Contributors to the Eclipse Foundation
- SPDX-FileCopyrightText: 2026 Catena-X Automotive Network e.V.
- Source URL: https://github.com/eclipse-tractusx/tractusx-testlab
Release files for tractusx-testlab 0.0.5a0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tractusx_testlab-0.0.5a0.tar.gz | 143.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tractusx_testlab-0.0.5a0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 464.5 kB
Release files / tractusx_testlab-0.0.5a0.tar.gz
| Download URL | tractusx_testlab-0.0.5a0.tar.gz |
|---|---|
| Size | 143.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
696e2862230d9bafd19faec11b51a9ca2aeb1c2ab855caeff4c4875b9fd9f7d9
|
|
BLAKE2b-256 checksum How to use checksums |
14b6d22b718c03fa3919afc74a59b6bdaf16fc21470b0e8041391c04a691aafa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / tractusx_testlab-0.0.5a0-py3-none-any.whl
| Download URL | tractusx_testlab-0.0.5a0-py3-none-any.whl |
|---|---|
| Size | 321.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9301f04eb2c95634b4bda0d3daf93e983b78056f2c68a34e1751941e6f8682c4
|
|
BLAKE2b-256 checksum How to use checksums |
dd988b19d50c4381b7a21e25c16c1744097655df4a37f96fd001b474ce5fc135
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|