api-bones-test 4.5.1

Test helpers for api-bones: builders and response-assertion utilities
Documentation
[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 feature
axum = { version = "0.8", optional = true }
axum-test = { version = "17", optional = true }
tower = { version = "0.5", optional = true }
hyper = { version = "1", optional = true }

# reqwest feature
reqwest = { version = "0.12", features = ["json"], optional = true }
wiremock = { version = "0.6", optional = true }

# nats feature
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"  # test helpers: caller controls the runtime