#redpanda

testcontainers-redpanda-rs

Unofficial redpanda test container

15 releases (9 breaking)

0.10.0 Sep 26, 2024
0.8.0 Aug 30, 2024
0.7.0 Jul 31, 2024
0.1.1 Nov 15, 2023

#227 in Testing

MIT license

10KB
87 lines

Unofficial Rust Test Container For Redpanda

github action Crates.io Crates.io

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.9" }

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.10.x supports testcontainers 0.23
  • 0.9.x supports testcontainers 0.22
  • 0.8.x supports testcontainers 0.21
  • 0.7.x supports testcontainers 0.21
  • 0.6.x supports testcontainers 0.20
  • 0.5.x supports testcontainers 0.19
  • 0.4.x supports testcontainers 0.18
  • 0.3.x supports testcontainers 0.17
  • 0.2.x supports testcontainers 0.16
  • 0.1.x supports testcontainers 0.15

Dependencies

~23–37MB
~679K SLoC