Expand description
§Unofficial Rust Test Container For Redpanda
Unofficial testcontainer for Redpanda. Redpanda is a simple, powerful, and cost-efficient streaming data platform that is compatible with Kafka APIs but much less complex, faster and more affordable.
Add dependency:
testcontainers-redpanda-rs = { version = "0.12" }
Create and run redpanda container:
use testcontainers_redpanda_rs::*;
#[tokio::main]
async fn main() {
let container = Redpanda::default();
let server_node = container.start().await.unwrap();
let bootstrap_servers = format!("localhost:{}", server_node.get_host_port_ipv4(REDPANDA_PORT).await.unwrap());
// if topic has only one partition this part is optional
// it will be automatically created when client connects
server_node.exec(Redpanda::cmd_create_topic("test_topic", 3)).await.unwrap();
println!("Redpanda server: {}", bootstrap_servers);
}
Explicit dependency on testcontainers
is not needed.
Note about version compatibility:
0.12.x
supportstestcontainers
0.25
0.11.x
supportstestcontainers
0.24
0.10.x
supportstestcontainers
0.23
Re-exports§
pub use testcontainers;
Structs§
Constants§
- ADMIN_
PORT - Prometheus and HTTP admin port
- REDPANDA_
PORT - Redpanda/Kafka API port
- SCHEMA_
REGISTRY_ PORT - Schema Registry Port
Traits§
- Async
Runner - Helper trait to start containers asynchronously.