theredfish
grillon
Rust

๐Ÿฆ— Grillon, an elegant and natural way to approach API testing in Rust.

Last updated May 12, 2026
121
Stars
4
Forks
5
Issues
0
Stars/day
Attention Score
36
Language breakdown
No language data available.
โ–ธ Files click to expand
README

Grillon

Crates.io docs.rs GitHub Workflow Status Check Links

Grillon offers an elegant and natural way to approach API testing in Rust.

  • Elegant, intuitive and expressive API
  • Built-in testing functions
  • Extensible
Please note that the API is subject to a lot of changes until the v1.0.0.

Documentation

Getting started

Before you begin, be sure to read the book to learn more about configuring logs and assertions!

You need Tokio as asynchronous runtime. Generally, testing libs are used in unit or integration tests so let's declare grillon as a dev-dependency.

Add grillon to Cargo.toml

[dev-dependencies]
grillon = "0.6.1"
tokio = { version = "1", features = ["macros"] }

Then use grillon :

use grillon::{dsl::, dsl::http::, json, Grillon, StatusCode, Result};
use grillon::header::{HeaderValue, CONTENTLENGTH, CONTENTTYPE};
use grillon::Assert;

#[tokio::test] async fn endtoend_test() -> Result<()> { Grillon::new("https://jsonplaceholder.typicode.com")? .post("posts") .payload(json!({ "title": "foo", "body": "bar", "userId": 1 })) .assert() .await .status(is_success()) .status(is(201)) .responsetime(isless_than(700)) .json_body(is(json!({ "id": 101, }))) .json_body(schema(json!({ "properties": { "id": { "type": "number" } } }))) .json_path("$.id", is(json!(101))) .header(CONTENT_TYPE, is("application/json; charset=utf-8")) .headers(contains(vec![ ( CONTENT_TYPE, HeaderValue::from_static("application/json; charset=utf-8"), ), (CONTENTLENGTH, HeaderValue::fromstatic("15")), ])) .assert_fn(|assert| { let Assert { headers, status, json, .. } = assert.clone();

assert!(!headers.unwrap().is_empty()); assert!(status.unwrap() == StatusCode::CREATED); assert!(json.is_some());

println!("Json response : {:#?}", assert.json); });

Ok(()) }

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท theredfish/grillon ยท Updated daily from GitHub