Crate testcontainers_redpanda_rs

source ·
Expand description

§Unofficial Rust Test Container For Redpanda

github action Crates.io Crates.io

Unofficial testcontainer for Redpanda.

Note:

  • version 0.2.x supports testcontainer 0.16
  • version 0.1.x supports testcontainer 0.15

Add dependency:

testcontainers-redpanda-rs = { version = "0.2" }
testcontainers = { version = "0.16" }

Create and run redpanda container:

use testcontainers_redpanda_rs::*;

#[tokio::main]
async fn main() {
    let container = Redpanda::latest();

    let server_node = container.start().await;
    let bootstrap_servers = format!("localhost:{}", server_node.get_host_port_ipv4(REDPANDA_PORT).await);
    // if topic has only one partition this part is optional
    // it will be automatically created when client connects
    let test_topic_name = "test_topic";
    server_node.exec(Redpanda::cmd_create_topic(test_topic_name, 3)).await;

    println!("Redpanda server: {}", bootstrap_servers);
}

Limitations:

  • It will use default kafka ports and only single test can run on given host.

Structs§

Constants§

Traits§

  • Helper trait to start containers asynchronously.