From bf2a9911e9f0d83c20e4f4ea276882ab039df9b9 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Sun, 1 Oct 2017 17:14:34 +0200 Subject: [PATCH] Add support for Reactive security Closes gh-460 --- ...pringSecurityTestRequestPostProcessor.java | 3 ++- .../src/main/resources/application.yml | 5 ++++ ...SecurityTestRequestPostProcessorTests.java | 26 +++++++++++++++---- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/initializr-service/src/main/java/io/spring/initializr/service/extension/SpringSecurityTestRequestPostProcessor.java b/initializr-service/src/main/java/io/spring/initializr/service/extension/SpringSecurityTestRequestPostProcessor.java index 9451a955..b4d813e2 100644 --- a/initializr-service/src/main/java/io/spring/initializr/service/extension/SpringSecurityTestRequestPostProcessor.java +++ b/initializr-service/src/main/java/io/spring/initializr/service/extension/SpringSecurityTestRequestPostProcessor.java @@ -53,7 +53,8 @@ class SpringSecurityTestRequestPostProcessor implements ProjectRequestPostProces private boolean hasSpringSecurity(ProjectRequest request) { return request.getResolvedDependencies().stream() - .anyMatch(d -> "security".equals(d.getId())); + .anyMatch(d -> "security".equals(d.getId()) + || "security-reactive".equals(d.getId())); } private boolean isAtLeastAfter(ProjectRequest request, Version version) { diff --git a/initializr-service/src/main/resources/application.yml b/initializr-service/src/main/resources/application.yml index 17ad3a3e..16306fa3 100644 --- a/initializr-service/src/main/resources/application.yml +++ b/initializr-service/src/main/resources/application.yml @@ -113,6 +113,11 @@ initializr: description: Authenticating a User with LDAP - rel: reference href: http://docs.spring.io/spring-boot/docs/{bootVersion}/reference/htmlsingle/#boot-features-security + - name: Reactive Security + id: security-reactive + description: Secure your reactive application via spring-security-webflux + versionRange: 2.0.0.M5 + weight: 90 - name: Aspects id: aop description: Create your own Aspects using Spring AOP and AspectJ diff --git a/initializr-service/src/test/java/io/spring/initializr/service/extension/SpringSecurityTestRequestPostProcessorTests.java b/initializr-service/src/test/java/io/spring/initializr/service/extension/SpringSecurityTestRequestPostProcessorTests.java index 18c4f421..b525e7b8 100644 --- a/initializr-service/src/test/java/io/spring/initializr/service/extension/SpringSecurityTestRequestPostProcessorTests.java +++ b/initializr-service/src/test/java/io/spring/initializr/service/extension/SpringSecurityTestRequestPostProcessorTests.java @@ -29,15 +29,23 @@ public class SpringSecurityTestRequestPostProcessorTests extends AbstractRequestPostProcessorTests { @Test - public void securityTestIsAdded() { + public void securityTestIsAddedWithSecurity() { ProjectRequest request = createProjectRequest("security"); - Dependency springSecurityTest = Dependency.withId( - "spring-security-test", "org.springframework.security", "spring-security-test"); - springSecurityTest.setScope(Dependency.SCOPE_TEST); generateMavenPom(request) .hasSpringBootStarterDependency("security") .hasSpringBootStarterTest() - .hasDependency(springSecurityTest) + .hasDependency(springSecurityTest()) + .hasDependenciesCount(3); + } + + @Test + public void securityTestIsAddedWithSecurityReactive() { + ProjectRequest request = createProjectRequest("security-reactive"); + request.setBootVersion("2.0.0.BUILD-SNAPSHOT"); + generateMavenPom(request) + .hasSpringBootStarterDependency("security-reactive") + .hasSpringBootStarterTest() + .hasDependency(springSecurityTest()) .hasDependenciesCount(3); } @@ -60,4 +68,12 @@ public class SpringSecurityTestRequestPostProcessorTests .hasDependenciesCount(2); } + + private static Dependency springSecurityTest() { + Dependency dependency = Dependency.withId("spring-security-test", + "org.springframework.security", "spring-security-test"); + dependency.setScope(Dependency.SCOPE_TEST); + return dependency; + } + }