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
565 downloads per month
46KB
1K
SLoC
Catalyst
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