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.
Note:
- version
0.4.x
supportstestcontainer
0.18
- version
0.3.x
supportstestcontainer
0.17
- version
0.2.x
supportstestcontainer
0.16
- version
0.1.x
supportstestcontainer
0.15
Add dependency:
testcontainers-redpanda-rs = { version = "0.4" }
testcontainers = { version = "0.18" }
Create and run redpanda container:
use testcontainers_redpanda_rs::*;
#[tokio::main]
async fn main() {
let container = Redpanda::latest();
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);
}
Limitations:
- It will use default kafka ports and only single test can run on given host.