Skip to content

Commit 66d1344

Browse files
authored
Add TestContainers configuration.
Original Pull Request #1861 Closes #1860
1 parent 6f84a1c commit 66d1344

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

Diff for: src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ClusterConnection.java

+27
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@
1515
*/
1616
package org.springframework.data.elasticsearch.junit.jupiter;
1717

18+
import java.io.InputStream;
19+
import java.util.Collections;
20+
import java.util.LinkedHashMap;
21+
import java.util.Map;
22+
import java.util.Properties;
23+
1824
import org.junit.jupiter.api.extension.ExtensionContext;
1925
import org.slf4j.Logger;
2026
import org.slf4j.LoggerFactory;
@@ -77,10 +83,13 @@ private ClusterConnectionInfo startElasticsearchContainer() {
7783
try {
7884
String elasticsearchVersion = VersionInfo.versionProperties()
7985
.getProperty(VersionInfo.VERSION_ELASTICSEARCH_CLIENT);
86+
Map<String, String> elasticsearchProperties = elasticsearchProperties();
8087

8188
String dockerImageName = ELASTICSEARCH_DEFAULT_IMAGE + ':' + elasticsearchVersion;
8289
LOGGER.debug("Docker image: {}", dockerImageName);
90+
8391
ElasticsearchContainer elasticsearchContainer = new ElasticsearchContainer(dockerImageName);
92+
elasticsearchContainer.withEnv(elasticsearchProperties);
8493
elasticsearchContainer.start();
8594
return ClusterConnectionInfo.builder() //
8695
.withHostAndPort(elasticsearchContainer.getHost(),
@@ -95,6 +104,24 @@ private ClusterConnectionInfo startElasticsearchContainer() {
95104
return null;
96105
}
97106

107+
private Map<String, String> elasticsearchProperties() {
108+
109+
String propertiesFile = "testcontainers-elasticsearch.properties";
110+
try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream(propertiesFile)) {
111+
Properties props = new Properties();
112+
113+
if (inputStream != null) {
114+
props.load(inputStream);
115+
}
116+
Map<String, String> elasticsearchProperties = new LinkedHashMap<>();
117+
props.forEach((key, value) -> elasticsearchProperties.put(key.toString(), value.toString()));
118+
return elasticsearchProperties;
119+
} catch (Exception e) {
120+
LOGGER.error("Cannot load " + propertiesFile);
121+
}
122+
return Collections.emptyMap();
123+
}
124+
98125
@Override
99126
public void close() {
100127

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# needed as we do a DELETE /* at the end of the tests, will be requited from 8.0 on, produces a warning since 7.13
2+
action.destructive_requires_name=false

0 commit comments

Comments
 (0)