Skip to content
This repository was archived by the owner on Feb 16, 2025. It is now read-only.

Commit 949718f

Browse files
committed
Added admin helper for kafka
1 parent a8a3f68 commit 949718f

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

kotest-extensions-testcontainers-kafka/src/main/kotlin/io/kotest/extensions/testcontainers/kafka/KafkaContainerExtension.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package io.kotest.extensions.testcontainers.kafka
33
import io.kotest.extensions.testcontainers.AbstractContainerExtension
44
import io.kotest.extensions.testcontainers.ContainerLifecycleMode
55
import org.apache.kafka.clients.CommonClientConfigs
6+
import org.apache.kafka.clients.admin.Admin
7+
import org.apache.kafka.clients.admin.AdminClient
68
import org.apache.kafka.clients.consumer.ConsumerConfig
79
import org.apache.kafka.clients.consumer.KafkaConsumer
810
import org.apache.kafka.clients.producer.KafkaProducer
@@ -25,6 +27,13 @@ class KafkaContainerExtension(
2527
) : this(KafkaContainer(image), mode)
2628
}
2729

30+
fun KafkaContainer.admin(configure: Properties.() -> Unit = {}): Admin {
31+
val props = Properties()
32+
props[CommonClientConfigs.BOOTSTRAP_SERVERS_CONFIG] = bootstrapServers
33+
props.configure()
34+
return Admin.create(props)
35+
}
36+
2837
fun KafkaContainer.producer(configure: Properties.() -> Unit = {}): KafkaProducer<Bytes, Bytes> {
2938
val props = Properties()
3039
props[CommonClientConfigs.BOOTSTRAP_SERVERS_CONFIG] = bootstrapServers

0 commit comments

Comments
 (0)