Metadata-Version: 2.5
Name: benzene-testing
Version: 0.1.0b1
Summary: In-memory test host and test doubles for testing Benzene applications (dogfooded by the examples).
Project-URL: Homepage, https://github.com/daniellepelley/benzene-python
Project-URL: Specification, https://github.com/daniellepelley/Benzene/tree/main/docs/specification
Author: Benzene
License-Expression: MIT
License-File: LICENSE
Keywords: benzene,hexagonal,test-helpers,testing
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: benzene-core>=0.0.1
Requires-Dist: benzene-results>=0.0.1
Description-Content-Type: text/markdown

# benzene-testing

In-memory test host and test doubles for [Benzene Python](https://github.com/daniellepelley/benzene-python)
— drive your handlers through the real pipeline, faking only the external edges, without deploying to
a cloud. Mirrors .NET's `Benzene.Testing`.

```bash
pip install benzene-testing        # dev/test dependency
```

```python
from benzene.testing import InMemoryBenzeneHost, FakeMessageSender

host = InMemoryBenzeneHost(registry)
response = await host.send_message("order:create", {"sku": "ABC"})
assert response["statusCode"] == "created"
```

`FakeMessageSender` records outbound publishes so a test can prove ingress → handler → egress
carried the payload through. Transport packages add native event builders on top
(`benzene.gcp.testing`, `benzene.aws.testing`, …). Depends on `benzene-core`; contributes the
`benzene.testing` subpackage to the shared `benzene` namespace.
