[package]
name = "api-bones-test"
version = "4.5.1"
edition = "2024"
authors = ["Gregoire Salingue"]
license = "MIT"
description = "Test helpers for api-bones: builders and response-assertion utilities"
repository = "https://github.com/brefwiz/api-bones"
homepage = "https://github.com/brefwiz/api-bones"
documentation = "https://docs.rs/api-bones-test"
keywords = ["testing", "rest", "http", "api", "axum"]
categories = ["development-tools::testing"]
rust-version = "1.85"
[features]
default = ["builders"]
builders = []
axum = [
"builders",
"dep:axum",
"dep:axum-test",
"dep:tower",
"dep:hyper",
"api-bones/axum",
]
reqwest = [
"builders",
"dep:reqwest",
"dep:wiremock",
]
nats = [
"builders",
"dep:async-nats",
"dep:futures-util",
"dep:tokio",
"dep:testcontainers",
]
[dependencies]
api-bones = { path = "..", version = "4.4", features = ["chrono", "uuid", "serde", "std"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
uuid = { version = "1.23", features = ["v4"] }
chrono = { version = "0.4" }
thiserror = { version = "2", default-features = false }
axum = { version = "0.8", optional = true }
axum-test = { version = "17", optional = true }
tower = { version = "0.5", optional = true }
hyper = { version = "1", optional = true }
reqwest = { version = "0.12", features = ["json"], optional = true }
wiremock = { version = "0.6", optional = true }
async-nats = { version = "0.38", optional = true }
futures-util = { version = "0.3", optional = true }
tokio = { version = "1", features = ["macros", "rt", "time"], optional = true }
testcontainers = { version = "0.23", optional = true }
[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
serde_json = "1.0"
api-bones = { path = "..", version = "4.4", features = ["chrono", "uuid", "serde", "std", "axum"] }
[lints.rust]
unexpected_cfgs = { level = "allow", check-cfg = ['cfg(coverage)'] }
unsafe_code = { level = "deny", priority = -1 }
unsafe_op_in_unsafe_fn = { level = "deny", priority = -1 }
warnings = { level = "deny", priority = -1 }
unused_imports = { level = "deny", priority = -1 }
unused_variables = { level = "deny", priority = -1 }
dead_code = { level = "deny", priority = -1 }
[lints.clippy]
all = { level = "deny", priority = -1 }
pedantic = { level = "deny", priority = -1 }
nursery = { level = "warn", priority = -1 }
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
missing_const_for_fn = "allow"
derive_partial_eq_without_eq = "allow"
option_if_let_else = "allow"
future_not_send = "allow"