Skip to content

Commit 466c101

Browse files
committed
Merge branch '2.2.x' into 2.3.x
Closes gh-23521
2 parents 209f92c + fd36836 commit 466c101

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

spring-boot-project/spring-boot-autoconfigure/build.gradle

+1
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ dependencies {
181181
testImplementation("org.testcontainers:couchbase")
182182
testImplementation("org.testcontainers:elasticsearch")
183183
testImplementation("org.testcontainers:junit-jupiter")
184+
testImplementation("org.testcontainers:mongodb")
184185
testImplementation("org.testcontainers:testcontainers")
185186
testImplementation("org.yaml:snakeyaml")
186187

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationMongoTests.java

+14-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2012-2019 the original author or authors.
2+
* Copyright 2012-2020 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,12 +16,16 @@
1616

1717
package org.springframework.boot.autoconfigure.session;
1818

19+
import java.time.Duration;
20+
1921
import org.junit.jupiter.api.Test;
22+
import org.testcontainers.containers.MongoDBContainer;
23+
import org.testcontainers.junit.jupiter.Container;
24+
import org.testcontainers.junit.jupiter.Testcontainers;
2025

2126
import org.springframework.boot.autoconfigure.AutoConfigurations;
2227
import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration;
2328
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
24-
import org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration;
2529
import org.springframework.boot.test.context.FilteredClassLoader;
2630
import org.springframework.boot.test.context.assertj.AssertableWebApplicationContext;
2731
import org.springframework.boot.test.context.runner.ContextConsumer;
@@ -38,16 +42,21 @@
3842
*
3943
* @author Andy Wilkinson
4044
*/
45+
@Testcontainers(disabledWithoutDocker = true)
4146
class SessionAutoConfigurationMongoTests extends AbstractSessionAutoConfigurationTests {
4247

48+
@Container
49+
static final MongoDBContainer mongoDB = new MongoDBContainer().withStartupAttempts(5)
50+
.withStartupTimeout(Duration.ofMinutes(5));
51+
4352
private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner()
44-
.withConfiguration(AutoConfigurations.of(SessionAutoConfiguration.class));
53+
.withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class, MongoDataAutoConfiguration.class,
54+
SessionAutoConfiguration.class))
55+
.withPropertyValues("spring.data.mongodb.uri=" + mongoDB.getReplicaSetUrl());
4556

4657
@Test
4758
void defaultConfig() {
4859
this.contextRunner.withPropertyValues("spring.session.store-type=mongodb")
49-
.withConfiguration(AutoConfigurations.of(EmbeddedMongoAutoConfiguration.class,
50-
MongoAutoConfiguration.class, MongoDataAutoConfiguration.class))
5160
.run(validateSpringSessionUsesMongo("sessions"));
5261
}
5362

@@ -56,16 +65,12 @@ void defaultConfigWithUniqueStoreImplementation() {
5665
this.contextRunner
5766
.withClassLoader(new FilteredClassLoader(HazelcastIndexedSessionRepository.class,
5867
JdbcIndexedSessionRepository.class, RedisIndexedSessionRepository.class))
59-
.withConfiguration(AutoConfigurations.of(EmbeddedMongoAutoConfiguration.class,
60-
MongoAutoConfiguration.class, MongoDataAutoConfiguration.class))
6168
.run(validateSpringSessionUsesMongo("sessions"));
6269
}
6370

6471
@Test
6572
void mongoSessionStoreWithCustomizations() {
6673
this.contextRunner
67-
.withConfiguration(AutoConfigurations.of(EmbeddedMongoAutoConfiguration.class,
68-
MongoAutoConfiguration.class, MongoDataAutoConfiguration.class))
6974
.withPropertyValues("spring.session.store-type=mongodb", "spring.session.mongodb.collection-name=foo")
7075
.run(validateSpringSessionUsesMongo("foo"));
7176
}

0 commit comments

Comments
 (0)