Automated API testing tool for Spring projects, with custom action hooks and Essay-compatible evidence layout
Project description
marionette-test
Automated API testing tool for Spring projects, with custom action hooks and an Essay-compatible evidence layout.
Alpha — V1 backend-API surface is implemented and tested. See
docs/marionette-test/for the design specs anddocs/guides/for user-facing documentation.
Install
pip install marionette-test
Quick start
cd <your-project>
marionette-test init # scaffold workspace
$EDITOR config/env.yml # point at your backend + DB
export DB_PASSWORD=... API_BEARER_TOKEN=...
marionette-test doctor # six read-only checks
marionette-test run # execute every FeatureUnit
marionette-test serve # FastAPI + UI on :8765
A complete walk-through is in docs/guides/01-getting-started.md.
User guides
| Guide | What it covers |
|---|---|
| 01 — Getting Started | Install, scaffold, write & run your first test |
| 02 — Writing FeatureUnits | Full YAML schema reference |
| 03 — Custom Actions | @action, Context, 4 hook timings |
| 04 — Database Baseline | pg_dump / pg_restore / clone lifecycle |
| 05 — CLI Reference | Every subcommand and flag |
| 06 — Variables & Assertions | ${...} grammar, expect.* rule grammar |
Develop locally
This repo uses uv for environment management.
uv sync # create .venv and install runtime + dev deps
uv run marionette-test --version
uv run pytest # full test suite
uv run ruff check src/ tests/
Build a wheel locally:
uv run hatch build # produces dist/*.whl + *.tar.gz
Build the React UI (output lands inside the Python package so the wheel ships it):
cd web
npm install
npm run build # → src/marionette/test/web_dist/
License
MIT — see LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file marionette_test-0.1.1.tar.gz.
File metadata
- Download URL: marionette_test-0.1.1.tar.gz
- Upload date:
- Size: 229.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4cf906dc45979aed9fbc0bb66c32b2cd4e05556d868d0775e022901e05ed261
|
|
| MD5 |
51b7ec81508ae184b271e6f87dbefdd0
|
|
| BLAKE2b-256 |
25e2af57432f4b9fd23957d3c67e555ef6bc78f60dbb1303c0bf52558a15caad
|
File details
Details for the file marionette_test-0.1.1-py3-none-any.whl.
File metadata
- Download URL: marionette_test-0.1.1-py3-none-any.whl
- Upload date:
- Size: 104.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
048e5810fd8f0061c18542f5ac3cf7093090d642005d7438dc02ec25d36a1d60
|
|
| MD5 |
edfd90b3fe08a449e0a2182caca9b655
|
|
| BLAKE2b-256 |
56af5d7b984b07732e40fed44ef3178d67c347a6a3ae50caadd0c04c3ef4f9ac
|