
pl.allegro.tech.hermes.test.helper.containers.ConfluentSchemaRegistryContainer Maven / Gradle / Ivy
package pl.allegro.tech.hermes.test.helper.containers;
import static java.lang.String.format;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.wait.strategy.Wait;
import org.testcontainers.utility.DockerImageName;
public class ConfluentSchemaRegistryContainer
extends GenericContainer {
private static final DockerImageName DEFAULT_SCHEMA_REGISTRY_IMAGE_NAME =
DockerImageName.parse("confluentinc/cp-schema-registry")
.withTag(ImageTags.confluentImagesTag());
private static final int SCHEMA_REGISTRY_PORT = 8081;
public ConfluentSchemaRegistryContainer() {
super(DEFAULT_SCHEMA_REGISTRY_IMAGE_NAME);
addEnv("SCHEMA_REGISTRY_HOST_NAME", "localhost");
withExposedPorts(SCHEMA_REGISTRY_PORT);
withNetworkAliases("schema-registry");
waitingFor(Wait.forHttp("/subjects"));
}
public ConfluentSchemaRegistryContainer withKafkaCluster(KafkaContainerCluster cluster) {
withNetwork(cluster.getNetwork());
withEnv(
"SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS",
"PLAINTEXT://" + cluster.getBootstrapServersForInternalClients());
return self();
}
public String getUrl() {
return format("http://%s:%d", getHost(), getMappedPort(SCHEMA_REGISTRY_PORT));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy