streamling-e2e 0.1.0

End-to-end tests for streamling
Documentation
[package]
name = "streamling-e2e"
version = "0.1.0"
edition = "2021"
description = "End-to-end tests for streamling"
license-file.workspace = true
repository.workspace = true

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

[[bin]]
name = "streamling-e2e-inspect"
path = "src/bin/inspect.rs"

# NOTE: This crate intentionally has NO dependencies on streamling crates.
# It executes streamling as an external binary to test it in a black-box manner.
# This keeps compilation fast and tests realistic.

[dependencies]
# Async runtime
tokio = { version = "1", features = ["full", "process"] }

# Database clients for verification
sqlx = { version = "0.8", features = ["postgres", "mysql", "runtime-tokio", "tls-rustls"] }
clickhouse = { version = "0.13" }

# Kafka client for test data seeding
rdkafka = { version = "0.37", features = ["ssl"] }

# Avro encoding for Kafka messages
apache-avro = { version = "0.17", default-features = false }
schema_registry_converter = { version = "4.3.0", features = ["avro"] }

# AWS SDK (for SQS ElasticMQ tests).
# `default-features = false` drops the legacy `rustls` feature (which would
# pull rustls 0.21 + rustls-webpki 0.101 via `aws-smithy-runtime/tls-rustls`).
# `default-https-client` keeps modern TLS via `aws-smithy-http-client/rustls-aws-lc`.
aws-sdk-sqs = { version = "1", default-features = false, features = ["default-https-client", "rt-tokio"] }
aws-config = { version = "1", default-features = false, features = [
    "behavior-version-latest",
    "rt-tokio",
    "credentials-process",
    "default-https-client",
] }
aws-types = "1"

# Utilities
uuid = { version = "1", features = ["v4"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
tempfile = "3"
thiserror = "2"
url = "2"
urlencoding = "2"
reqwest = { version = "0.12", features = ["json"] }
regex = "1"

# HTTP server for webhook tests
axum = "0.8"

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

[dev-dependencies]
# Tests use the library, so dev-dependencies are minimal