From 485937cfaa2fa9668b8334b34fb3d28540c1aebc Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Mon, 20 Jan 2025 14:12:12 +0100 Subject: [PATCH] OZG-7346 Set host of elasticsearch container in RestClient --- .../ElasticsearchTestClient.java | 35 ++++++++----------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchTestClient.java b/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchTestClient.java index 35865db..634839f 100644 --- a/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchTestClient.java +++ b/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchTestClient.java @@ -29,6 +29,7 @@ import java.time.temporal.ChronoUnit; import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.conn.ssl.NoopHostnameVerifier; import org.apache.http.impl.client.BasicCredentialsProvider; import org.elasticsearch.client.RestClient; import org.testcontainers.elasticsearch.ElasticsearchContainer; @@ -38,45 +39,39 @@ import co.elastic.clients.json.jackson.JacksonJsonpMapper; import co.elastic.clients.transport.rest_client.RestClientTransport; public class ElasticsearchTestClient { - + private static final String IMAGE_NAME = "docker.elastic.co/elasticsearch/elasticsearch:8.11.3"; private static final String USER = "elastic"; private static final String PASSWORD = "s3cret"; private static final int PORT = 9200; private static final String SCHEME = "https"; private static final Duration STARTUP_TIMEOUT = Duration.of(2, ChronoUnit.MINUTES); - + public static final ElasticsearchContainer ELASTICSEARCH_CONTAINER = new ElasticsearchContainer(IMAGE_NAME) .withAccessToHost(true) .withExposedPorts(PORT) .withPassword(PASSWORD) .withStartupTimeout(STARTUP_TIMEOUT); -// .withMinimumRunningDuration(Duration.ofMinutes(2)); + // .withMinimumRunningDuration(Duration.ofMinutes(2)); public static ElasticsearchClient create() { var transport = new RestClientTransport(buildRestClient(), new JacksonJsonpMapper()); return new ElasticsearchClient(transport); } - - private static RestClient buildRestClient() { - //ggf. IP-addresse vom Container ermitteln, die letzte Stelle ändern und mit der .1 reden (Host-Interface) - var host = new HttpHost("localhost", ELASTICSEARCH_CONTAINER.getMappedPort(PORT), SCHEME); + private static RestClient buildRestClient() { + var host = new HttpHost(ELASTICSEARCH_CONTAINER.getHost(), ELASTICSEARCH_CONTAINER.getMappedPort(PORT), SCHEME); var credentialsProvider = buildCredentialsProvider(); - var builder = RestClient.builder(host); - - builder.setHttpClientConfigCallback(clientBuilder -> { - clientBuilder.setSSLContext(ELASTICSEARCH_CONTAINER.createSslContextFromCa()); - clientBuilder.setDefaultCredentialsProvider(credentialsProvider); - return clientBuilder; - }); -// builder.setNodeSelector(INGEST_NODE_SELECTOR); -// final ObjectMapper mapper = new ObjectMapper(); -// mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE); -// mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); - return builder.build(); + return RestClient.builder(host) + .setHttpClientConfigCallback(clientBuilder -> { + clientBuilder.setSSLContext(ELASTICSEARCH_CONTAINER.createSslContextFromCa()); + clientBuilder.setDefaultCredentialsProvider(credentialsProvider); + clientBuilder.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE); + return clientBuilder; + }) + .build(); } - + private static BasicCredentialsProvider buildCredentialsProvider() { var credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(USER, PASSWORD)); -- GitLab