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