Use Elasticsearch 8.7.0 container in tests.
This commit is contained in:
committed by
Jens Schauder
parent
f051de145e
commit
21830b3138
@@ -21,17 +21,17 @@ import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.elasticsearch.client.ClientConfiguration;
|
||||
import org.springframework.data.elasticsearch.client.elc.ElasticsearchConfiguration;
|
||||
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
|
||||
import org.springframework.data.elasticsearch.core.geo.GeoPoint;
|
||||
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
|
||||
import org.springframework.data.elasticsearch.core.query.Criteria;
|
||||
import org.springframework.data.elasticsearch.core.query.CriteriaQuery;
|
||||
import org.springframework.test.context.DynamicPropertyRegistry;
|
||||
import org.springframework.test.context.DynamicPropertySource;
|
||||
|
||||
import org.springframework.util.Assert;
|
||||
import org.testcontainers.elasticsearch.ElasticsearchContainer;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
@@ -44,24 +44,31 @@ import org.testcontainers.utility.DockerImageName;
|
||||
* @author Oliver Gierke
|
||||
* @author Christoph Strobl
|
||||
* @author Prakhar Gupta
|
||||
* @author Peter-Josef Meisch
|
||||
*/
|
||||
@SpringBootTest(classes = ApplicationConfiguration.class)
|
||||
@SpringBootTest(classes = { ApplicationConfiguration.class, ElasticsearchOperationsTest.TestConfiguration.class })
|
||||
@Testcontainers
|
||||
class ElasticsearchOperationsTest {
|
||||
|
||||
private static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
@Container //
|
||||
private static ElasticsearchContainer container = new ElasticsearchContainer(
|
||||
DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch:7.17.2")) //
|
||||
.withPassword("foobar") //
|
||||
.withReuse(true);
|
||||
DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch:8.7.0")) //
|
||||
.withPassword("foobar") //
|
||||
.withReuse(true);
|
||||
|
||||
@DynamicPropertySource
|
||||
static void setProperties(DynamicPropertyRegistry registry) {
|
||||
registry.add("spring.elasticsearch.uris", () -> "http://" + container.getHttpHostAddress());
|
||||
registry.add("spring.elasticsearch.username", () -> "elastic");
|
||||
registry.add("spring.elasticsearch.password", () -> "foobar");
|
||||
@Configuration
|
||||
static class TestConfiguration extends ElasticsearchConfiguration {
|
||||
@Override
|
||||
public ClientConfiguration clientConfiguration() {
|
||||
|
||||
Assert.notNull(container, "TestContainer is not initialized!");
|
||||
|
||||
return ClientConfiguration.builder() //
|
||||
.connectedTo(container.getHttpHostAddress()).usingSsl(container.createSslContextFromCa()) //
|
||||
.withBasicAuth("elastic", "foobar") //
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@Autowired ElasticsearchOperations operations;
|
||||
|
||||
@@ -23,16 +23,16 @@ import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.elasticsearch.client.ClientConfiguration;
|
||||
import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchConfiguration;
|
||||
import org.springframework.data.elasticsearch.core.ReactiveElasticsearchOperations;
|
||||
import org.springframework.data.elasticsearch.core.SearchHit;
|
||||
import org.springframework.data.elasticsearch.core.query.Criteria;
|
||||
import org.springframework.data.elasticsearch.core.query.CriteriaQuery;
|
||||
import org.springframework.test.context.DynamicPropertyRegistry;
|
||||
import org.springframework.test.context.DynamicPropertySource;
|
||||
|
||||
import org.springframework.util.Assert;
|
||||
import org.testcontainers.elasticsearch.ElasticsearchContainer;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
@@ -43,8 +43,10 @@ import org.testcontainers.utility.DockerImageName;
|
||||
*
|
||||
* @author Christoph Strobl
|
||||
* @author Prakhar Gupta
|
||||
* @author Peter-Josef Meisch
|
||||
*/
|
||||
@SpringBootTest(classes = ApplicationConfiguration.class)
|
||||
@SpringBootTest(
|
||||
classes = { ApplicationConfiguration.class, ReactiveElasticsearchOperationsTest.TestConfiguration.class })
|
||||
@Testcontainers
|
||||
class ReactiveElasticsearchOperationsTest {
|
||||
|
||||
@@ -52,15 +54,22 @@ class ReactiveElasticsearchOperationsTest {
|
||||
|
||||
@Container //
|
||||
private static ElasticsearchContainer container = new ElasticsearchContainer(
|
||||
DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch:7.17.2")) //
|
||||
.withPassword("foobar") //
|
||||
.withReuse(true);
|
||||
DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch:8.7.0")) //
|
||||
.withPassword("foobar") //
|
||||
.withReuse(true);
|
||||
|
||||
@DynamicPropertySource
|
||||
static void setProperties(DynamicPropertyRegistry registry) {
|
||||
registry.add("spring.elasticsearch.uris", () -> "http://" + container.getHttpHostAddress());
|
||||
registry.add("spring.elasticsearch.username", () -> "elastic");
|
||||
registry.add("spring.elasticsearch.password", () -> "foobar");
|
||||
@Configuration
|
||||
static class TestConfiguration extends ReactiveElasticsearchConfiguration {
|
||||
@Override
|
||||
public ClientConfiguration clientConfiguration() {
|
||||
|
||||
Assert.notNull(container, "TestContainer is not initialized!");
|
||||
|
||||
return ClientConfiguration.builder() //
|
||||
.connectedTo(container.getHttpHostAddress()).usingSsl(container.createSslContextFromCa()) //
|
||||
.withBasicAuth("elastic", "foobar") //
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@Autowired ReactiveElasticsearchOperations operations;
|
||||
|
||||
@@ -23,12 +23,12 @@ import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.DynamicPropertyRegistry;
|
||||
import org.springframework.test.context.DynamicPropertySource;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.elasticsearch.client.ClientConfiguration;
|
||||
import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchConfiguration;
|
||||
import org.springframework.util.Assert;
|
||||
import org.testcontainers.elasticsearch.ElasticsearchContainer;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
@@ -39,8 +39,10 @@ import org.testcontainers.utility.DockerImageName;
|
||||
*
|
||||
* @author Christoph Strobl
|
||||
* @author Prakhar Gupta
|
||||
* @author Peter-Josef Meisch
|
||||
*/
|
||||
@SpringBootTest(classes = ApplicationConfiguration.class)
|
||||
@SpringBootTest(
|
||||
classes = { ApplicationConfiguration.class, ReactiveElasticsearchRepositoryTest.TestConfiguration.class })
|
||||
@Testcontainers
|
||||
class ReactiveElasticsearchRepositoryTest {
|
||||
|
||||
@@ -48,15 +50,22 @@ class ReactiveElasticsearchRepositoryTest {
|
||||
|
||||
@Container //
|
||||
private static ElasticsearchContainer container = new ElasticsearchContainer(
|
||||
DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch:7.17.2")) //
|
||||
.withPassword("foobar") //
|
||||
.withReuse(true);
|
||||
DockerImageName.parse("docker.elastic.co/elasticsearch/elasticsearch:8.7.0")) //
|
||||
.withPassword("foobar") //
|
||||
.withReuse(true);
|
||||
|
||||
@DynamicPropertySource
|
||||
static void setProperties(DynamicPropertyRegistry registry) {
|
||||
registry.add("spring.elasticsearch.uris", () -> "http://" + container.getHttpHostAddress());
|
||||
registry.add("spring.elasticsearch.username", () -> "elastic");
|
||||
registry.add("spring.elasticsearch.password", () -> "foobar");
|
||||
@Configuration
|
||||
static class TestConfiguration extends ReactiveElasticsearchConfiguration {
|
||||
@Override
|
||||
public ClientConfiguration clientConfiguration() {
|
||||
|
||||
Assert.notNull(container, "TestContainer is not initialized!");
|
||||
|
||||
return ClientConfiguration.builder() //
|
||||
.connectedTo(container.getHttpHostAddress()).usingSsl(container.createSslContextFromCa()) //
|
||||
.withBasicAuth("elastic", "foobar") //
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@Autowired ConferenceRepository repository;
|
||||
|
||||
Reference in New Issue
Block a user