cratefield-testing 0.4.0

Conformance kit for Cratefield modules: fake ports, in-memory Database, request helpers
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.98"
name = "cratefield-testing"
version = "0.4.0"
build = false
include = [
    "src/**/*",
    "README.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Conformance kit for Cratefield modules: fake ports, in-memory Database, request helpers"
readme = "README.md"
keywords = [
    "cratefield",
    "conformance",
    "testing",
    "fakes",
    "harness",
]
categories = ["development-tools::testing"]
license = "MIT"
repository = "https://github.com/Cratefield/harness"

[features]
default = ["harness"]
harness = [
    "port-conformance",
    "dep:async-trait",
    "dep:axum",
    "dep:bytes",
    "dep:cratefield-adapter-sqlite",
    "dep:futures-core",
    "dep:pollster",
    "dep:sea-query",
    "dep:serde",
    "dep:serde_json",
    "dep:time",
    "dep:tower",
    "dep:tracing",
]
port-conformance = ["dep:serde_json"]
postgres = [
    "harness",
    "dep:cratefield-adapter-postgres",
    "dep:tokio",
]

[lib]
name = "cratefield_testing"
path = "src/lib.rs"

[dependencies.async-trait]
version = "0.1.92"
optional = true

[dependencies.axum]
version = "0.8.9"
features = [
    "json",
    "query",
    "form",
    "matched-path",
    "original-uri",
]
optional = true
default-features = false

[dependencies.base64]
version = "0.23.1"

[dependencies.bytes]
version = "1.12.1"
optional = true

[dependencies.cratefield-adapter-postgres]
version = "0.2"
optional = true

[dependencies.cratefield-adapter-sqlite]
version = "0.2"
optional = true

[dependencies.cratefield-core]
version = "0.7"

[dependencies.futures-core]
version = "0.3.34"
optional = true

[dependencies.hmac]
version = "0.13.0"

[dependencies.http]
version = "1.5.0"

[dependencies.pollster]
version = "0.4"
features = ["macro"]
optional = true

[dependencies.sea-query]
version = "0.32.7"
features = [
    "backend-sqlite",
    "thread-safe",
]
optional = true
default-features = false

[dependencies.serde]
version = "1.0.229"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1.0.151"
optional = true

[dependencies.sha2]
version = "0.11.0"

[dependencies.time]
version = "0.3.45"
features = [
    "std",
    "formatting",
    "parsing",
    "wasm-bindgen",
]
optional = true
default-features = false

[dependencies.tokio]
version = "1.53.1"
features = [
    "rt-multi-thread",
    "macros",
]
optional = true
default-features = false

[dependencies.tower]
version = "0.5.3"
features = ["util"]
optional = true

[dependencies.tracing]
version = "0.1.44"
optional = true

[lints.clippy]
all = "warn"
pedantic = "warn"

[lints.clippy.must_use_candidate]
level = "allow"
priority = 1

[lints.rust]
trivial_numeric_casts = "warn"
unnameable_types = "warn"
unreachable_pub = "warn"
unsafe_code = "forbid"