Skip to content

Commit 4f3a51e

Browse files
committed
Merge pull request #11063 from Vedran Pavić
* gh-11063: Polish "Improve Spring Session auto-configuration tests" Improve Spring Session auto-configuration tests
2 parents b7753a1 + 8a3502b commit 4f3a51e

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/MongoSessionConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.springframework.context.annotation.Configuration;
2828
import org.springframework.data.mongodb.core.MongoOperations;
2929
import org.springframework.session.SessionRepository;
30+
import org.springframework.session.data.mongo.MongoOperationsSessionRepository;
3031
import org.springframework.session.data.mongo.config.annotation.web.http.MongoHttpSessionConfiguration;
3132

3233
/**
@@ -36,7 +37,7 @@
3637
* @author Stephane Nicoll
3738
*/
3839
@Configuration
39-
@ConditionalOnClass(MongoHttpSessionConfiguration.class)
40+
@ConditionalOnClass({ MongoOperations.class, MongoOperationsSessionRepository.class })
4041
@ConditionalOnMissingBean(SessionRepository.class)
4142
@ConditionalOnBean(MongoOperations.class)
4243
@Conditional(ServletSessionCondition.class)

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,21 @@
2121
import org.springframework.boot.test.context.assertj.AssertableWebApplicationContext;
2222
import org.springframework.session.ReactiveSessionRepository;
2323
import org.springframework.session.SessionRepository;
24+
import org.springframework.session.web.http.SessionRepositoryFilter;
25+
import org.springframework.web.server.session.WebSessionManager;
2426

2527
import static org.assertj.core.api.Assertions.assertThat;
2628

2729
/**
28-
* Share test utilities for {@link SessionAutoConfiguration} tests.
30+
* Shared test utilities for {@link SessionAutoConfiguration} tests.
2931
*
3032
* @author Stephane Nicoll
3133
*/
3234
public abstract class AbstractSessionAutoConfigurationTests {
3335

3436
protected <T extends SessionRepository<?>> T validateSessionRepository(
3537
AssertableWebApplicationContext context, Class<T> type) {
38+
assertThat(context).hasSingleBean(SessionRepositoryFilter.class);
3639
assertThat(context).hasSingleBean(SessionRepository.class);
3740
SessionRepository<?> repository = context.getBean(SessionRepository.class);
3841
assertThat(repository).as("Wrong session repository type").isInstanceOf(type);
@@ -46,6 +49,7 @@ protected Integer getSessionTimeout(SessionRepository<?> sessionRepository) {
4649

4750
protected <T extends ReactiveSessionRepository<?>> T validateSessionRepository(
4851
AssertableReactiveWebApplicationContext context, Class<T> type) {
52+
assertThat(context).hasSingleBean(WebSessionManager.class);
4953
assertThat(context).hasSingleBean(ReactiveSessionRepository.class);
5054
ReactiveSessionRepository<?> repository = context
5155
.getBean(ReactiveSessionRepository.class);

0 commit comments

Comments
 (0)