/** * Set environment variable "kafkaServer" to the host and port specified by * docker */ public static void setKafkaEnvironment(DockerComposeRule docker) { DockerPort kafka = docker.containers().container("kafka").port(9092); Map<String, String> newEnv = new HashMap<>(); newEnv.put(ServiceProperties.KAFKA_SERVER_KEY, kafka.inFormat("$HOST:$EXTERNAL_PORT")); newEnv.putAll(System.getenv()); setEnv(newEnv); }
/** * Set environment variable "etcd_endpoints" to the host and port specified by * docker */ public static void setEtcdEnvironment(DockerComposeRule docker) { DockerPort etcd = docker.containers().container("etcd").port(2379); Map<String, String> newEnv = new HashMap<>(); newEnv.put("etcd_endpoints", etcd.inFormat("http://$HOST:$EXTERNAL_PORT")); newEnv.putAll(System.getenv()); setEnv(newEnv); }
/** * Set environment variable "registryServer" to the host and port specified by * docker */ public static void setConsulEnvironment(DockerComposeRule docker) { DockerPort consul = docker.containers().container("consul").port(8500); Map<String, String> newEnv = new HashMap<>(); newEnv.put(ServiceProperties.REGISTRY_SERVER_KEY, consul.inFormat("$HOST:$EXTERNAL_PORT")); newEnv.putAll(System.getenv()); setEnv(newEnv); }
/** * Get the server name of the postgres docker instance * * @param docker The used docker compose rule * @return postgresServerName */ public static String getPostgresServerName(DockerComposeRule docker) { DockerPort postgres = docker.containers().container("postgres").port(5432); return postgres.inFormat("$HOST"); }
/** * Get the external port of the postgres docker instance * * @param docker The used docker compose rule * @return postgresExternalPort */ public static String getPostgresExternalPort(DockerComposeRule docker) { DockerPort postgres = docker.containers().container("postgres").port(5432); return postgres.inFormat("$EXTERNAL_PORT"); }
private ServiceProperties fillServiceProperties() { DockerPort kafka1 = docker.containers().container("kafka1").port(9092); DockerPort kafka2 = docker.containers().container("kafka2").port(9092); DockerPort kafka3 = docker.containers().container("kafka2").port(9092); StringBuilder kafkaServer = new StringBuilder(); kafkaServer.append(kafka2.inFormat("$HOST:$EXTERNAL_PORT")); kafkaServer.append(","); kafkaServer.append(kafka1.inFormat("$HOST:$EXTERNAL_PORT")); kafkaServer.append(","); kafkaServer.append(kafka3.inFormat("$HOST:$EXTERNAL_PORT")); String[] args = new String[2]; args[0] = "-" + ServiceProperties.KAFKA_SERVER_KEY; args[1] = kafkaServer.toString(); ServiceProperties serviceProperties = new ServiceProperties(); serviceProperties.initialize(args); return serviceProperties; }
/** * @deprecated Please use `port(internalPort)` instead. */ @Deprecated public DockerPort portMappedInternallyTo(int internalPort) { return port(internalPort); }
/** * Deprecated. * @deprecated Please use `port(internalPort)` instead. */ @Deprecated public DockerPort portMappedInternallyTo(int internalPort) { return port(internalPort); }
private static ConnectionConfig createConnectionConfig(int maxConnections) { DockerPort port = docker.containers() .container("postgres") .port(POSTGRES_PORT_NUMBER); InetSocketAddress postgresAddress = new InetSocketAddress(port.getIp(), port.getExternalPort()); return ImmutablePostgresConnectionConfig.builder() .dbName("atlas") .dbLogin("palantir") .dbPassword(ImmutableMaskedValue.of("palantir")) .host(postgresAddress.getHostName()) .port(postgresAddress.getPort()) .maxConnections(maxConnections) .checkoutTimeout(2000) .build(); }
@Test public void throttleTest() throws InterruptedException { int messageCount = 200; CountDownLatch latch = new CountDownLatch(messageCount); DockerPort kafka = docker.containers().container("kafka").port(9092); ServiceProperties props = new ServiceProperties(); props.addProperty(KAFKA_SERVER_KEY, kafka.inFormat("$HOST:$EXTERNAL_PORT")); String topic = "throttle-test"; KafkaPublisherFactory publisherFactory = new KafkaPublisherFactory(props, null); KafkaPublisher publisher = publisherFactory.newBuilder(topic).build(); KafkaSubscriberFactory<String> subscriberFactory = new KafkaSubscriberFactory<>(props, null, null); EventReceivedCallback<String> callback = (message, topicInfo) -> { latch.countDown(); try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } }; subscriberFactory.newBuilder(topic, callback).withPollTime(50).withAutoCommit(true).build(); for (int i = 0; i < messageCount; i++) { publisher.publishSync("message " + i + randomData()); } latch.await(); }
public static DbKeyValueServiceConfig getKvsConfig() { DockerPort port = docker.containers() .container("postgres") .port(POSTGRES_PORT_NUMBER); InetSocketAddress postgresAddress = new InetSocketAddress(port.getIp(), port.getExternalPort()); ConnectionConfig connectionConfig = ImmutablePostgresConnectionConfig.builder() .dbName("atlas") .dbLogin("palantir") .dbPassword(ImmutableMaskedValue.of("palantir")) .host(postgresAddress.getHostName()) .port(postgresAddress.getPort()) .build(); return ImmutableDbKeyValueServiceConfig.builder() .connection(connectionConfig) .ddl(ImmutablePostgresDdlConfig.builder() .compactInterval(HumanReadableDuration.days(2)) .build()) .build(); }
protected HttpsURLConnection openUrlConnection(String url, SSLContext sslContext) throws IOException { DockerPort dockerPort = docker.containers().container("squid").port(3128); HttpsURLConnection httpURLConnection = (HttpsURLConnection) new URL(url).openConnection( new Proxy(Proxy.Type.HTTP, new InetSocketAddress(dockerPort.getIp(), dockerPort.getExternalPort()))); httpURLConnection.setSSLSocketFactory(sslContext.getSocketFactory()); return httpURLConnection; }
private Object dockerHost(DockerComposeRule docker, Annotation annotation) { DockerHost dockerHost = (DockerHost) annotation; Container container = docker.containers().container(dockerHost.container()); DockerPort dockerPort = container.port(dockerHost.port()); return dockerPort.getIp(); }
private Object dockerPort(DockerComposeRule docker, Annotation annotation) { com.github.jcustenborder.kafka.connect.cdc.docker.DockerPort dockerFormatString = (com.github.jcustenborder.kafka.connect.cdc.docker.DockerPort) annotation; Container container = docker.containers().container(dockerFormatString.container()); DockerPort dockerPort = container.port(dockerFormatString.port()); return dockerPort.getExternalPort(); }
@Test public void execute_ps_once_when_two_external_ports_on_a_container_are_requested() throws Exception { env.ports("db", IP, 5432, 8080); withComposeExecutableReturningContainerFor("db"); rule.containers().container("db").port(5432); rule.containers().container("db").port(8080); verify(dockerCompose, times(1)).ports("db"); }
@Test public void should_run_docker_compose_up_using_the_specified_docker_compose_file_to_bring_postgres_up() { forEachContainer(container -> { assertThat(docker.containers().container(container).port(5432).isListeningNow(), is(true)); }); }
@Test public void can_access_external_port_for_internal_port_of_machine() { forEachContainer(container -> { assertThat(docker.containers().container(container).port(5432).isListeningNow(), is(true)); }); }
@Test public void after_test_is_executed_the_launched_postgres_container_is_no_longer_listening() { docker.after(); forEachContainer(container -> { assertThat(docker.containers().container(container).port(5432).isListeningNow(), is(false)); }); }
@Test public void throw_illegal_argument_exception_when_a_port_for_an_unknown_internal_port_is_requested() throws Exception { env.availableService("service", IP, 5400, 5400); exception.expect(IllegalArgumentException.class); exception.expectMessage("No internal port '5432' for container 'service'"); container.port(5432); }