Skip to content

Commit 1b0faed

Browse files
tests seem to run fine after container update
1 parent aec2f86 commit 1b0faed

File tree

3 files changed

+25
-18
lines changed

3 files changed

+25
-18
lines changed

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/aggregation/VectorSearchTests.java

+8-15
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package org.springframework.data.mongodb.core.aggregation;
1717

1818
import static org.assertj.core.api.Assertions.assertThat;
19-
import static org.assertj.core.api.Assertions.assertThatRuntimeException;
2019

2120
import java.util.stream.IntStream;
2221
import java.util.stream.Stream;
@@ -54,7 +53,7 @@ public class VectorSearchTests {
5453
static final String COLLECTION_NAME = "collection-1";
5554
static MongoClient client;
5655
static MongoTestTemplate template;
57-
private static @Container AtlasContainer atlasLocal = new AtlasContainer();
56+
private static @Container AtlasContainer atlasLocal = AtlasContainer.bestMatch();
5857

5958
@BeforeAll
6059
static void beforeAll() throws InterruptedException {
@@ -94,19 +93,13 @@ void searchUsingBinaryVectorAddingScore(VectorSearchOperation searchOperation) {
9493

9594
VectorSearchOperation $search = searchOperation.withSearchScore(SCORE_FIELD);
9695

97-
assertThatRuntimeException().isThrownBy(
98-
() -> template.aggregate(Aggregation.newAggregation($search), WithVectorFields.class, Document.class));
99-
100-
/* just in case the above starts working uncomment lines below:
101-
*
102-
* AggregationResults<Document> results = template.aggregate(Aggregation.newAggregation($search),
103-
* WithVectorFields.class, Document.class);
104-
*
105-
* assertThat(results).hasSize(10);
106-
* assertScoreIsDecreasing(results);
107-
* assertThat(results.iterator().next()).containsKey(SCORE_FIELD)
108-
* .extracting(it -> it.get(SCORE_FIELD), InstanceOfAssertFactories.DOUBLE).isEqualByComparingTo(1D);
109-
*/
96+
AggregationResults<Document> results = template.aggregate(Aggregation.newAggregation($search),
97+
WithVectorFields.class, Document.class);
98+
99+
assertThat(results).hasSize(10);
100+
assertScoreIsDecreasing(results);
101+
assertThat(results.iterator().next()).containsKey(SCORE_FIELD)
102+
.extracting(it -> it.get(SCORE_FIELD), InstanceOfAssertFactories.DOUBLE).isEqualByComparingTo(1D);
110103
}
111104

112105
private static Stream<Arguments> binaryVectorAggregations() {

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/index/VectorIndexIntegrationTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
@Testcontainers(disabledWithoutDocker = true)
5050
class VectorIndexIntegrationTests {
5151

52-
private static @Container AtlasContainer atlasLocal = new AtlasContainer();
52+
private static @Container AtlasContainer atlasLocal = AtlasContainer.bestMatch();
5353

5454
MongoTestTemplate template = new MongoTestTemplate(cfg -> {
5555
cfg.configureDatabaseFactory(ctx -> {

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/test/util/AtlasContainer.java

+16-2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import java.util.List;
1919

2020
import org.bson.Document;
21+
import org.springframework.core.env.StandardEnvironment;
2122
import org.springframework.data.util.Lazy;
2223
import org.springframework.util.StringUtils;
2324
import org.testcontainers.containers.GenericContainer;
@@ -40,8 +41,20 @@ public class AtlasContainer extends GenericContainer<AtlasContainer> {
4041
private static final String READY_DB = "__db_ready_check";
4142
private final Lazy<MongoClient> client;
4243

43-
public AtlasContainer() {
44-
this(DEFAULT_IMAGE_NAME.withTag(DEFAULT_TAG));
44+
public static AtlasContainer bestMatch() {
45+
return tagged(new StandardEnvironment().getProperty("mongodb.atlas.version", DEFAULT_TAG));
46+
}
47+
48+
public static AtlasContainer latest() {
49+
return tagged(DEFAULT_TAG);
50+
}
51+
52+
public static AtlasContainer version8() {
53+
return tagged("8.0.0");
54+
}
55+
56+
public static AtlasContainer tagged(String tag) {
57+
return new AtlasContainer(DEFAULT_IMAGE_NAME.withTag(tag));
4558
}
4659

4760
public AtlasContainer(String dockerImageName) {
@@ -84,6 +97,7 @@ public boolean isHealthy() {
8497
// ok so the search service is not ready yet - sigh
8598
}
8699
if (isReady) {
100+
mongoClient.getDatabase(READY_DB).drop();
87101
mongoClient.close();
88102
}
89103
return isReady;

0 commit comments

Comments
 (0)