Metadata-Version: 2.4
Name: choreo-reporter
Version: 0.1.0
Summary: Pytest plugin: interactive HTML + JSON test report for Choreo (PRD-007)
Project-URL: Homepage, https://github.com/clear-route/choreo
Project-URL: Repository, https://github.com/clear-route/choreo
Project-URL: Issues, https://github.com/clear-route/choreo/issues
Author: The Choreo Authors
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: choreo,html,pytest,reporter,testing
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Pytest
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Testing
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: choreo-harness
Requires-Dist: pytest<10,>=8.0
Provides-Extra: test
Requires-Dist: beautifulsoup4<5,>=4.12; extra == 'test'
Requires-Dist: jsonschema<5,>=4.18; extra == 'test'
Requires-Dist: pytest-asyncio<2.0,>=0.24; extra == 'test'
Requires-Dist: pytest-xdist<4,>=3.5; extra == 'test'
Requires-Dist: pyyaml<7,>=6.0; extra == 'test'
Description-Content-Type: text/markdown

# choreo-reporter — pytest plugin for Choreo

Interactive HTML + JSON test reports for the [`choreo`](https://pypi.org/project/choreo/)
message-driven test harness (PRD-007).

Installing this package registers a pytest plugin that, at suite exit, emits a
`test-report/` directory containing:

- An HTML report with a Jaeger-style waterfall of every scenario's messages,
  expectations, replies, and latency budgets.
- A JSON report conforming to the `test-report-v1` schema for CI ingestion.
- Payload redaction for common credential shapes (bearer tokens, URL creds,
  denylisted field names such as `password` / `token` / `api_key`).
- `pytest-xdist` merge support for parallel runs.

## Install

```bash
pip install choreo-reporter
```

Once installed, the plugin loads automatically on the next `pytest` run.

## Configuration

```ini
# pytest.ini / pyproject.toml
[pytest]
addopts = --harness-report=test-report
```

Disable with `--harness-report-disable`. Register a custom redactor for
domain-specific payload shapes via `choreo_reporter.register_redactor(...)`.

## Documentation

See the project README at
<https://github.com/clear-route/choreo> for the full architecture, the
Scenario DSL, and the report schema.

## Licence

Apache-2.0. See [LICENSE](LICENSE).
