catalyst

Crates.iocatalyst
lib.rscatalyst
version0.2.9
created_at2025-03-11 21:59:41.730107+00
updated_at2025-09-03 14:24:00.694877+00
descriptionA lightweight API testing tool
homepagehttps://github.com/caffeidine/catalyst
repositoryhttps://github.com/caffeidine/catalyst
max_upload_size
id1588691
size340,030
Lucas JAHIER (ljahier)

documentation

README

Catalyst

Version License: MPL-2.0 Crates.io Documentation crates.io total download number

A lightweight and powerful API testing tool

Documentation | Installation | Examples

Overview

Catalyst is a lightweight and extensible HTTP API testing tool. It allows you to define and execute API tests through a declarative configuration file, without writing any code.

Features

  • Declarative Testing: Configure your API test scenarios using a simple TOML file
  • Variable Management: Chain your tests by extracting and storing variables (cookies, JSON data, etc.)
  • Configuration Validation: Syntax and semantic checks before execution
  • JSON Assertions: Partial validation of JSON responses with regex support
  • Performance: Measure and validate response times

Installation

cargo install catalyst --locked

Examples

Create your test file in your project .catalyst/tests.toml

[config]
base_url = "http://localhost:8080"
default_headers = { "User-Agent" = "Catalyst", "Content-Type" = "application/json" }

[[tests]]
name = "Example Test"
method = "GET"
endpoint = "/api/example"
expected_status = 200
max_response_time = 500 # maximum time in ms
assertions = [
  { type = "contains", path = "data.status", value = "success" },
  { type = "regex", path = "data.id", pattern = "^[0-9a-f]{8}$" }
]

Usage

Execute the tests from the command line:

# Run all tests
catalyst run

# List all tests
catalyst list --verbose

# Validate your configuration
catalyst validate

Documentation

For complete documentation, visit catalyst.caffeidine.com.

License

This project is licensed under the MPL-2.0.

Commit count: 44

cargo fmt