Skip to main content

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 and docs/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

marionette_test-0.1.5.tar.gz (231.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

marionette_test-0.1.5-py3-none-any.whl (105.8 kB view details)

Uploaded Python 3

File details

Details for the file marionette_test-0.1.5.tar.gz.

File metadata

  • Download URL: marionette_test-0.1.5.tar.gz
  • Upload date:
  • Size: 231.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for marionette_test-0.1.5.tar.gz
Algorithm Hash digest
SHA256 810cdab708c8319fb90a47323a88ef40edc37547801861b92e57182d9baf5aa6
MD5 e29c05c80f0e017e3c3ca02e905b6838
BLAKE2b-256 0843d14222053455df7c9d361e79c9466e10cafc5f6c09f2dbd7ddbb6b74c0a5

See more details on using hashes here.

File details

Details for the file marionette_test-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for marionette_test-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 bcc5a0035a3a6694190b6a81d3bff2284c9de6c41ef97b742bd6bf1c3752d5f3
MD5 9a89837fd06d0e08a079ad1aae9ddfb8
BLAKE2b-256 aa9ae18d3aceeb444de1ddbb1f00937eff78845dbf10cd28a07c8eeb677b1016

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page