From 2caa6cb227bea18be90aadf940b49768202d4bc3 Mon Sep 17 00:00:00 2001 From: Madhura Bhave Date: Tue, 19 Oct 2021 15:53:22 -0700 Subject: [PATCH] Polish "Add smoke tests for Spring Session Redis/Mongo" See gh-28362 --- .../src/main/resources/application.properties | 2 -- .../src/main/resources/application.properties | 1 - .../build.gradle | 2 +- .../SampleSessionMongoApplication.java} | 6 ++-- .../src/main/resources/application.properties | 3 ++ .../SampleSessionMongoApplicationTests.java} | 33 ++++++++++--------- .../build.gradle | 2 +- .../redis/SampleSessionRedisApplication.java} | 6 ++-- .../src/main/resources/application.properties | 3 ++ .../SampleSessionRedisApplicationTests.java} | 27 ++++++++------- 10 files changed, 47 insertions(+), 38 deletions(-) delete mode 100644 spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-mongo/src/main/resources/application.properties delete mode 100644 spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-redis/src/main/resources/application.properties rename spring-boot-tests/spring-boot-smoke-tests/{spring-boot-smoke-test-session-http-mongo => spring-boot-smoke-test-session-mongo}/build.gradle (94%) rename spring-boot-tests/spring-boot-smoke-tests/{spring-boot-smoke-test-session-http-mongo/src/main/java/smoketest/session/mongodb/SampleHttpSessionMongoApplication.java => spring-boot-smoke-test-session-mongo/src/main/java/smoketest/session/mongodb/SampleSessionMongoApplication.java} (84%) create mode 100644 spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/main/resources/application.properties rename spring-boot-tests/spring-boot-smoke-tests/{spring-boot-smoke-test-session-http-mongo/src/test/java/smoketest/session/mongodb/SampleHttpSessionMongoApplicationTests.java => spring-boot-smoke-test-session-mongo/src/test/java/smoketest/session/mongodb/SampleSessionMongoApplicationTests.java} (80%) rename spring-boot-tests/spring-boot-smoke-tests/{spring-boot-smoke-test-session-http-redis => spring-boot-smoke-test-session-redis}/build.gradle (93%) rename spring-boot-tests/spring-boot-smoke-tests/{spring-boot-smoke-test-session-http-redis/src/main/java/smoketest/session/redis/SampleHttpSessionRedisApplication.java => spring-boot-smoke-test-session-redis/src/main/java/smoketest/session/redis/SampleSessionRedisApplication.java} (84%) create mode 100644 spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/main/resources/application.properties rename spring-boot-tests/spring-boot-smoke-tests/{spring-boot-smoke-test-session-http-redis/src/test/java/smoketest/session/redis/SampleHttpSessionRedisApplicationTests.java => spring-boot-smoke-test-session-redis/src/test/java/smoketest/session/redis/SampleSessionRedisApplicationTests.java} (82%) diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-mongo/src/main/resources/application.properties b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-mongo/src/main/resources/application.properties deleted file mode 100644 index ca5b9bafe24..00000000000 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-mongo/src/main/resources/application.properties +++ /dev/null @@ -1,2 +0,0 @@ -management.endpoints.web.exposure.include=* -spring.mongodb.embedded.version=3.6.5 \ No newline at end of file diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-redis/src/main/resources/application.properties b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-redis/src/main/resources/application.properties deleted file mode 100644 index 705d36ce69d..00000000000 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-redis/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -management.endpoints.web.exposure.include=* \ No newline at end of file diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-mongo/build.gradle b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/build.gradle similarity index 94% rename from spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-mongo/build.gradle rename to spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/build.gradle index 2e14a54ddcd..ce1acf78d11 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-mongo/build.gradle +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/build.gradle @@ -3,7 +3,7 @@ plugins { id "org.springframework.boot.conventions" } -description = "Spring Boot Http Session Mongodb smoke test" +description = "Spring Boot Session Mongodb smoke test" dependencies { implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-actuator")) diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-mongo/src/main/java/smoketest/session/mongodb/SampleHttpSessionMongoApplication.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/main/java/smoketest/session/mongodb/SampleSessionMongoApplication.java similarity index 84% rename from spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-mongo/src/main/java/smoketest/session/mongodb/SampleHttpSessionMongoApplication.java rename to spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/main/java/smoketest/session/mongodb/SampleSessionMongoApplication.java index 2d98a3a579a..5689b727aa0 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-mongo/src/main/java/smoketest/session/mongodb/SampleHttpSessionMongoApplication.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/main/java/smoketest/session/mongodb/SampleSessionMongoApplication.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,10 +22,10 @@ import org.springframework.session.data.mongo.config.annotation.web.http.EnableM @SpringBootApplication @EnableMongoHttpSession -public class SampleHttpSessionMongoApplication { +public class SampleSessionMongoApplication { public static void main(String[] args) { - SpringApplication.run(SampleHttpSessionMongoApplication.class); + SpringApplication.run(SampleSessionMongoApplication.class); } } diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/main/resources/application.properties b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/main/resources/application.properties new file mode 100644 index 00000000000..98058a93e63 --- /dev/null +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/main/resources/application.properties @@ -0,0 +1,3 @@ +management.endpoints.web.exposure.include=* +spring.security.user.name=user +spring.security.user.password=password \ No newline at end of file diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-mongo/src/test/java/smoketest/session/mongodb/SampleHttpSessionMongoApplicationTests.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/test/java/smoketest/session/mongodb/SampleSessionMongoApplicationTests.java similarity index 80% rename from spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-mongo/src/test/java/smoketest/session/mongodb/SampleHttpSessionMongoApplicationTests.java rename to spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/test/java/smoketest/session/mongodb/SampleSessionMongoApplicationTests.java index aab4385d6f6..c6340a1a339 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-mongo/src/test/java/smoketest/session/mongodb/SampleHttpSessionMongoApplicationTests.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/test/java/smoketest/session/mongodb/SampleSessionMongoApplicationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -40,25 +40,28 @@ import org.springframework.test.context.DynamicPropertySource; import static org.assertj.core.api.Assertions.assertThat; +/** + * Tests for {@link SampleSessionMongoApplication}. + * + * @author Angel L. Villalain + */ @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @Testcontainers(disabledWithoutDocker = true) -public class SampleHttpSessionMongoApplicationTests { +public class SampleSessionMongoApplicationTests { - static final String USERNAME = "user"; - static final String PASSWORD = "password"; - static final String ROOT = "/"; + private static final String USERNAME = "user"; + + private static final String PASSWORD = "password"; + + @Autowired + private TestRestTemplate restTemplate; @Container static MongoDBContainer mongo = new MongoDBContainer(DockerImageNames.mongo()).withStartupAttempts(3) .withStartupTimeout(Duration.ofMinutes(2)); - @Autowired - private TestRestTemplate template; - @DynamicPropertySource static void applicationProperties(DynamicPropertyRegistry registry) { - registry.add("spring.security.user.name", () -> USERNAME); - registry.add("spring.security.user.password", () -> PASSWORD); registry.add("spring.data.mongodb.uri", mongo::getReplicaSetUrl); } @@ -66,7 +69,7 @@ public class SampleHttpSessionMongoApplicationTests { @SuppressWarnings("unchecked") void sessionsEndpointShouldReturnUserSessions() { createSession(); - ResponseEntity> response = this.getSessions(); + ResponseEntity> response = getSessions(); assertThat(response).isNotNull(); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); List> sessions = (List>) response.getBody().get("sessions"); @@ -74,17 +77,17 @@ public class SampleHttpSessionMongoApplicationTests { } private void createSession() { - URI uri = URI.create(ROOT); + URI uri = URI.create("/"); HttpHeaders headers = new HttpHeaders(); headers.setBasicAuth(USERNAME, PASSWORD); RequestEntity request = new RequestEntity<>(headers, HttpMethod.GET, uri); - this.template.exchange(request, String.class); + this.restTemplate.exchange(request, String.class); } @SuppressWarnings("unchecked") private ResponseEntity> getSessions() { - return (ResponseEntity>) (ResponseEntity) this.template.withBasicAuth(USERNAME, PASSWORD) - .getForEntity("/actuator/sessions?username=" + USERNAME, Map.class); + return (ResponseEntity>) (ResponseEntity) this.restTemplate + .withBasicAuth(USERNAME, PASSWORD).getForEntity("/actuator/sessions?username=" + USERNAME, Map.class); } } diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-redis/build.gradle b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/build.gradle similarity index 93% rename from spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-redis/build.gradle rename to spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/build.gradle index 715c15c489d..e137ac6460e 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-redis/build.gradle +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/build.gradle @@ -3,7 +3,7 @@ plugins { id "org.springframework.boot.conventions" } -description = "Spring Boot Http Session Mongodb smoke test" +description = "Spring Boot Session Mongodb smoke test" dependencies { implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-actuator")) diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-redis/src/main/java/smoketest/session/redis/SampleHttpSessionRedisApplication.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/main/java/smoketest/session/redis/SampleSessionRedisApplication.java similarity index 84% rename from spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-redis/src/main/java/smoketest/session/redis/SampleHttpSessionRedisApplication.java rename to spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/main/java/smoketest/session/redis/SampleSessionRedisApplication.java index a3f4aa080cf..bbc639ea9f2 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-redis/src/main/java/smoketest/session/redis/SampleHttpSessionRedisApplication.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/main/java/smoketest/session/redis/SampleSessionRedisApplication.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,10 +22,10 @@ import org.springframework.session.data.redis.config.annotation.web.http.EnableR @SpringBootApplication @EnableRedisHttpSession -public class SampleHttpSessionRedisApplication { +public class SampleSessionRedisApplication { public static void main(String[] args) { - SpringApplication.run(SampleHttpSessionRedisApplication.class); + SpringApplication.run(SampleSessionRedisApplication.class); } } diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/main/resources/application.properties b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/main/resources/application.properties new file mode 100644 index 00000000000..52ebf796de2 --- /dev/null +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/main/resources/application.properties @@ -0,0 +1,3 @@ +management.endpoints.web.exposure.include=* +spring.security.user.name=user +spring.security.user.password=password diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-redis/src/test/java/smoketest/session/redis/SampleHttpSessionRedisApplicationTests.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/test/java/smoketest/session/redis/SampleSessionRedisApplicationTests.java similarity index 82% rename from spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-redis/src/test/java/smoketest/session/redis/SampleHttpSessionRedisApplicationTests.java rename to spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/test/java/smoketest/session/redis/SampleSessionRedisApplicationTests.java index dcc36c7e1df..8ea78be57d0 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-http-redis/src/test/java/smoketest/session/redis/SampleHttpSessionRedisApplicationTests.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/test/java/smoketest/session/redis/SampleSessionRedisApplicationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,24 +38,27 @@ import org.springframework.test.context.DynamicPropertySource; import static org.assertj.core.api.Assertions.assertThat; +/** + * Tests for {@link SampleSessionRedisApplication}. + * + * @author Angel L. Villalain + */ @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @Testcontainers(disabledWithoutDocker = true) -public class SampleHttpSessionRedisApplicationTests { +public class SampleSessionRedisApplicationTests { + + private static final String USERNAME = "user"; - static final String USERNAME = "user"; - static final String PASSWORD = "password"; - static final String ROOT = "/"; + private static final String PASSWORD = "password"; @Container static RedisContainer redis = new RedisContainer(); @Autowired - private TestRestTemplate template; + private TestRestTemplate restTemplate; @DynamicPropertySource static void applicationProperties(DynamicPropertyRegistry registry) { - registry.add("spring.security.user.name", () -> USERNAME); - registry.add("spring.security.user.password", () -> PASSWORD); registry.add("spring.redis.host", redis::getHost); registry.add("spring.redis.port", redis::getFirstMappedPort); } @@ -72,17 +75,17 @@ public class SampleHttpSessionRedisApplicationTests { } private void createSession() { - URI uri = URI.create(ROOT); + URI uri = URI.create("/"); HttpHeaders headers = new HttpHeaders(); headers.setBasicAuth(USERNAME, PASSWORD); RequestEntity request = new RequestEntity<>(headers, HttpMethod.GET, uri); - this.template.exchange(request, String.class); + this.restTemplate.exchange(request, String.class); } @SuppressWarnings("unchecked") private ResponseEntity> getSessions() { - return (ResponseEntity>) (ResponseEntity) this.template.withBasicAuth(USERNAME, PASSWORD) - .getForEntity("/actuator/sessions?username=" + USERNAME, Map.class); + return (ResponseEntity>) (ResponseEntity) this.restTemplate + .withBasicAuth(USERNAME, PASSWORD).getForEntity("/actuator/sessions?username=" + USERNAME, Map.class); } }