diff --git a/spring-session-samples/spring-session-sample-boot-mongodb-reactive/spring-session-sample-boot-mongodb-reactive.gradle b/spring-session-samples/spring-session-sample-boot-mongodb-reactive/spring-session-sample-boot-mongodb-reactive.gradle index bdfdaf77..cfca69a5 100644 --- a/spring-session-samples/spring-session-sample-boot-mongodb-reactive/spring-session-sample-boot-mongodb-reactive.gradle +++ b/spring-session-samples/spring-session-sample-boot-mongodb-reactive/spring-session-sample-boot-mongodb-reactive.gradle @@ -5,7 +5,7 @@ dependencies { implementation "org.springframework.boot:spring-boot-starter-webflux" implementation "org.springframework.boot:spring-boot-starter-thymeleaf" implementation "org.springframework.boot:spring-boot-starter-data-mongodb-reactive" - implementation "org.testcontainers:mongodb" + implementation "org.testcontainers:mongodb" testImplementation "org.springframework.boot:spring-boot-starter-test" testImplementation "org.seleniumhq.selenium:htmlunit-driver" diff --git a/spring-session-samples/spring-session-sample-boot-mongodb-reactive/src/main/java/org/springframework/session/mongodb/examples/SpringSessionMongoReactiveApplication.java b/spring-session-samples/spring-session-sample-boot-mongodb-reactive/src/main/java/org/springframework/session/mongodb/examples/SpringSessionMongoReactiveApplication.java index 9b25c27f..d11245cc 100644 --- a/spring-session-samples/spring-session-sample-boot-mongodb-reactive/src/main/java/org/springframework/session/mongodb/examples/SpringSessionMongoReactiveApplication.java +++ b/spring-session-samples/spring-session-sample-boot-mongodb-reactive/src/main/java/org/springframework/session/mongodb/examples/SpringSessionMongoReactiveApplication.java @@ -16,6 +16,12 @@ package org.springframework.session.mongodb.examples; +import java.util.HashMap; +import java.util.Map; + +import org.testcontainers.containers.MongoDBContainer; +import org.testcontainers.utility.DockerImageName; + import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationContextInitializer; @@ -23,11 +29,6 @@ import org.springframework.context.ConfigurableApplicationContext; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.MapPropertySource; import org.springframework.session.data.mongo.config.annotation.web.reactive.EnableMongoWebSession; -import org.testcontainers.containers.MongoDBContainer; -import org.testcontainers.utility.DockerImageName; - -import java.util.HashMap; -import java.util.Map; /** * Pure Spring-based application (using Spring Boot for dependency management), hence no @@ -40,16 +41,25 @@ import java.util.Map; @EnableMongoWebSession public class SpringSessionMongoReactiveApplication { + public static void main(String[] args) { + SpringApplication application = new SpringApplication(SpringSessionMongoReactiveApplication.class); + application.addInitializers(new Initializer()); + application.run(args); + } + /** * Use Testcontainers to managed MongoDB through Docker. *

- * @see https://bsideup.github.io/posts/local_development_with_testcontainers/ + * + * @see Local + * Development with Testcontainers */ static class Initializer implements ApplicationContextInitializer { static MongoDBContainer mongo = new MongoDBContainer(DockerImageName.parse("mongo:5.0")); - public static Map getProperties() { + private static Map getProperties() { mongo.start(); HashMap properties = new HashMap<>(); @@ -63,12 +73,7 @@ public class SpringSessionMongoReactiveApplication { ConfigurableEnvironment env = context.getEnvironment(); env.getPropertySources().addFirst(new MapPropertySource("testcontainers", (Map) getProperties())); } + } - - public static void main(String[] args) { - SpringApplication application = new SpringApplication(SpringSessionMongoReactiveApplication.class); - application.addInitializers(new Initializer()); - application.run(args); - } } diff --git a/spring-session-samples/spring-session-sample-boot-mongodb-reactive/src/test/java/org/springframework/session/mongodb/examples/AttributeTests.java b/spring-session-samples/spring-session-sample-boot-mongodb-reactive/src/test/java/org/springframework/session/mongodb/examples/AttributeTests.java index 64dbac61..00468e15 100644 --- a/spring-session-samples/spring-session-sample-boot-mongodb-reactive/src/test/java/org/springframework/session/mongodb/examples/AttributeTests.java +++ b/spring-session-samples/spring-session-sample-boot-mongodb-reactive/src/test/java/org/springframework/session/mongodb/examples/AttributeTests.java @@ -16,12 +16,15 @@ package org.springframework.session.mongodb.examples; +import java.util.List; + import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.openqa.selenium.WebDriver; import org.openqa.selenium.htmlunit.HtmlUnitDriver; + import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.session.mongodb.examples.pages.HomePage; @@ -29,8 +32,6 @@ import org.springframework.session.mongodb.examples.pages.HomePage.Attribute; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; -import java.util.List; - import static org.assertj.core.api.Assertions.assertThat; /** diff --git a/spring-session-samples/spring-session-sample-boot-mongodb-traditional/src/main/java/org/springframework/session/mongodb/examples/SpringSessionMongoTraditionalBoot.java b/spring-session-samples/spring-session-sample-boot-mongodb-traditional/src/main/java/org/springframework/session/mongodb/examples/SpringSessionMongoTraditionalBoot.java index 91b72c23..63a78f71 100644 --- a/spring-session-samples/spring-session-sample-boot-mongodb-traditional/src/main/java/org/springframework/session/mongodb/examples/SpringSessionMongoTraditionalBoot.java +++ b/spring-session-samples/spring-session-sample-boot-mongodb-traditional/src/main/java/org/springframework/session/mongodb/examples/SpringSessionMongoTraditionalBoot.java @@ -16,17 +16,18 @@ package org.springframework.session.mongodb.examples; +import java.util.HashMap; +import java.util.Map; + +import org.testcontainers.containers.MongoDBContainer; +import org.testcontainers.utility.DockerImageName; + import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.MapPropertySource; -import org.testcontainers.containers.MongoDBContainer; -import org.testcontainers.utility.DockerImageName; - -import java.util.HashMap; -import java.util.Map; /** * @author Rob Winch @@ -34,16 +35,25 @@ import java.util.Map; @SpringBootApplication public class SpringSessionMongoTraditionalBoot { + public static void main(String[] args) { + SpringApplication application = new SpringApplication(SpringSessionMongoTraditionalBoot.class); + application.addInitializers(new Initializer()); + application.run(args); + } + /** * Use Testcontainers to managed MongoDB through Docker. *

- * @see https://bsideup.github.io/posts/local_development_with_testcontainers/ + * + * @see Local + * Developmenet with Testcontainers */ static class Initializer implements ApplicationContextInitializer { static MongoDBContainer mongo = new MongoDBContainer(DockerImageName.parse("mongo:5.0")); - public static Map getProperties() { + private static Map getProperties() { mongo.start(); HashMap properties = new HashMap<>(); @@ -57,11 +67,7 @@ public class SpringSessionMongoTraditionalBoot { ConfigurableEnvironment env = context.getEnvironment(); env.getPropertySources().addFirst(new MapPropertySource("testcontainers", (Map) getProperties())); } + } - public static void main(String[] args) { - SpringApplication application = new SpringApplication(SpringSessionMongoTraditionalBoot.class); - application.addInitializers(new Initializer()); - application.run(args); - } }