6 releases

Uses new Rust 2024

new 0.2.4 Apr 22, 2025
0.2.3 Apr 21, 2025
0.1.1 Mar 11, 2025

#226 in Testing

Download history 1/week @ 2025-02-23 5/week @ 2025-03-02 90/week @ 2025-03-09 17/week @ 2025-03-16 353/week @ 2025-04-06 20/week @ 2025-04-13 192/week @ 2025-04-20

565 downloads per month

MPL-2.0 license

46KB
1K SLoC

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

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.

Dependencies

~11–23MB
~325K SLoC