1515 */
1616package 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+
1824import org .junit .jupiter .api .extension .ExtensionContext ;
1925import org .slf4j .Logger ;
2026import 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
0 commit comments