diff --git a/spring-security-modules/pom.xml b/spring-security-modules/pom.xml index 7e7bc2d1cb7c..326429ccb1a2 100644 --- a/spring-security-modules/pom.xml +++ b/spring-security-modules/pom.xml @@ -59,6 +59,7 @@ spring-security-pkce-spa spring-security-compromised-password spring-security-authorization + spring-disable-security spring-security-dynamic-registration spring-security-ott diff --git a/spring-security-modules/spring-disable-security/README.md b/spring-security-modules/spring-disable-security/README.md new file mode 100644 index 000000000000..85dd5b68e33c --- /dev/null +++ b/spring-security-modules/spring-disable-security/README.md @@ -0,0 +1,2 @@ +### Relevant Articles + diff --git a/spring-security-modules/spring-disable-security/pom.xml b/spring-security-modules/spring-disable-security/pom.xml new file mode 100644 index 000000000000..b5b622044b51 --- /dev/null +++ b/spring-security-modules/spring-disable-security/pom.xml @@ -0,0 +1,53 @@ + + + 4.0.0 + spring-disable-security + spring-disable-security + pom + + + com.baeldung + parent-boot-3 + 0.0.1-SNAPSHOT + ../../parent-boot-3 + + + + spring-security-noauth-profile + spring-security-noauth-config + spring-security-noauth-nodependencies + spring-security-common-security-configuration + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + true + + + + + + + 3.3.1 + 1.5.6 + 3.12.1 + + + \ No newline at end of file diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/pom.xml b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/pom.xml new file mode 100644 index 000000000000..c82d520c1b7c --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/pom.xml @@ -0,0 +1,33 @@ + + + 4.0.0 + spring-security-common-security-configuration + 1.0.0 + spring-security-common-security-configuration + Disable Spring Security + + + com.baeldung + spring-disable-security + 0.0.1-SNAPSHOT + + + + + org.springframework.boot + spring-boot-starter-security + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/DisableSpringSecurityApplication.java b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/DisableSpringSecurityApplication.java new file mode 100644 index 000000000000..2e1e58617dd1 --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/DisableSpringSecurityApplication.java @@ -0,0 +1,13 @@ +package com.baeldung; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class DisableSpringSecurityApplication { + + public static void main(String[] args) { + SpringApplication.run(DisableSpringSecurityApplication.class, args); + } + +} diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/controller/MessageController.java b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/controller/MessageController.java new file mode 100644 index 000000000000..d2e90717ccba --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/controller/MessageController.java @@ -0,0 +1,19 @@ +package com.baeldung.controller; + + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api") +public class MessageController { + @GetMapping("/endpoint") + public ResponseEntity publicEndpoint() { + return ResponseEntity.ok("This is a public endpoint."); + } +} diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/security/SecurityConfiguration.java b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/security/SecurityConfiguration.java new file mode 100644 index 000000000000..e6a9428e8397 --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/java/com/baeldung/security/SecurityConfiguration.java @@ -0,0 +1,21 @@ +package com.baeldung.security; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; +import org.springframework.security.web.SecurityFilterChain; + +@Configuration +@EnableWebSecurity +public class SecurityConfiguration { + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { + + http + .authorizeHttpRequests(auth -> auth.anyRequest().permitAll()) + .csrf(AbstractHttpConfigurer::disable); + return http.build(); + } +} \ No newline at end of file diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/resources/application.properties b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/main/resources/application.properties new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/test/java/com/baeldung/CommonSecurityConfigTest.java b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/test/java/com/baeldung/CommonSecurityConfigTest.java new file mode 100644 index 000000000000..306b45696c2d --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/test/java/com/baeldung/CommonSecurityConfigTest.java @@ -0,0 +1,22 @@ +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.web.servlet.MockMvc; +import com.baeldung.DisableSpringSecurityApplication; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@SpringBootTest(classes = DisableSpringSecurityApplication.class) +@AutoConfigureMockMvc +public class CommonSecurityConfigTest { + + @Autowired + private MockMvc mockMvc; + + @Test + public void whenAccessingAnyEndpoint_thenReturnOk() throws Exception { + mockMvc.perform(get("/api/endpoint")) + .andExpect(status().isOk()); + } +} \ No newline at end of file diff --git a/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/test/java/com/baeldung/DisableSpringSecurityApplicationTest.java b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/test/java/com/baeldung/DisableSpringSecurityApplicationTest.java new file mode 100644 index 000000000000..cb2b3ff2ce95 --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-common-security-configuration/src/test/java/com/baeldung/DisableSpringSecurityApplicationTest.java @@ -0,0 +1,19 @@ +package com.baeldung; + + +import com.baeldung.DisableSpringSecurityApplication; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes = DisableSpringSecurityApplication.class) +public class DisableSpringSecurityApplicationTest { + + @Test + public void whenSpringContextIsBootstrapped_thenNoExceptions() { + } +} + diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-config/pom.xml b/spring-security-modules/spring-disable-security/spring-security-noauth-config/pom.xml new file mode 100644 index 000000000000..265b53921d21 --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-config/pom.xml @@ -0,0 +1,27 @@ + + + 4.0.0 + spring-security-noauth-config + 1.0.0 + spring-security-noauth-config + Disable Spring Security + + com.baeldung + spring-disable-security + 0.0.1-SNAPSHOT + + + + org.springframework.boot + spring-boot-starter-security + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/java/com/baeldung/DisableSpringSecurityWithConfig.java b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/java/com/baeldung/DisableSpringSecurityWithConfig.java new file mode 100644 index 000000000000..8b1cd68337d0 --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/java/com/baeldung/DisableSpringSecurityWithConfig.java @@ -0,0 +1,13 @@ +package com.baeldung; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class DisableSpringSecurityWithConfig { + + public static void main(String[] args) { + SpringApplication.run(DisableSpringSecurityWithConfig.class, args); + } + +} diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/java/com/baeldung/controller/MessageController.java b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/java/com/baeldung/controller/MessageController.java new file mode 100644 index 000000000000..d2e90717ccba --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/java/com/baeldung/controller/MessageController.java @@ -0,0 +1,19 @@ +package com.baeldung.controller; + + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api") +public class MessageController { + @GetMapping("/endpoint") + public ResponseEntity publicEndpoint() { + return ResponseEntity.ok("This is a public endpoint."); + } +} diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/resources/application.properties b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/resources/application.properties new file mode 100644 index 000000000000..0043b4d4ccdd --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration \ No newline at end of file diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/test/java/com/baeldung/MessageControllerTest.java b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/test/java/com/baeldung/MessageControllerTest.java new file mode 100644 index 000000000000..86f4aaca794b --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-config/src/test/java/com/baeldung/MessageControllerTest.java @@ -0,0 +1,22 @@ +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.web.servlet.MockMvc; +import com.baeldung.DisableSpringSecurityWithConfig; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@SpringBootTest(classes = DisableSpringSecurityWithConfig.class) +@AutoConfigureMockMvc +public class MessageControllerTest { + + @Autowired + private MockMvc mockMvc; + + @Test + public void whenConfigAddedToExcludeSecurity_thenAccessIsPermitted() throws Exception { + mockMvc.perform(get("/api/endpoint")) + .andExpect(status().isOk()); + } +} \ No newline at end of file diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/pom.xml b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/pom.xml new file mode 100644 index 000000000000..a07038ab7cc1 --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + spring-security-noauth-nodependencies + 1.0.0 + spring-security-noauth-nodependencies + Disable Spring Security + + com.baeldung + spring-disable-security + 0.0.1-SNAPSHOT + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/java/com/baeldung/DisableSpringSecurityWithNoDependencies.java b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/java/com/baeldung/DisableSpringSecurityWithNoDependencies.java new file mode 100644 index 000000000000..e2b03936e5bb --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/java/com/baeldung/DisableSpringSecurityWithNoDependencies.java @@ -0,0 +1,13 @@ +package com.baeldung; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class DisableSpringSecurityWithNoDependencies { + + public static void main(String[] args) { + SpringApplication.run(DisableSpringSecurityWithNoDependencies.class, args); + } + +} diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/java/com/baeldung/controller/MessageController.java b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/java/com/baeldung/controller/MessageController.java new file mode 100644 index 000000000000..d2e90717ccba --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/java/com/baeldung/controller/MessageController.java @@ -0,0 +1,19 @@ +package com.baeldung.controller; + + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api") +public class MessageController { + @GetMapping("/endpoint") + public ResponseEntity publicEndpoint() { + return ResponseEntity.ok("This is a public endpoint."); + } +} diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/resources/application.properties b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/main/resources/application.properties new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/test/java/com/baeldung/DisableSpringSecurityWithNoDependenciesTest.java b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/test/java/com/baeldung/DisableSpringSecurityWithNoDependenciesTest.java new file mode 100644 index 000000000000..82ed6c49b861 --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/test/java/com/baeldung/DisableSpringSecurityWithNoDependenciesTest.java @@ -0,0 +1,17 @@ +package com.baeldung; + +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.Optional; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; + + +@SpringBootTest +@AutoConfigureMockMvc +class DisableSpringSecurityWithNoDependenciesTest { +} diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/test/java/com/baeldung/MessageControllerTest.java b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/test/java/com/baeldung/MessageControllerTest.java new file mode 100644 index 000000000000..46eec43d885c --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-nodependencies/src/test/java/com/baeldung/MessageControllerTest.java @@ -0,0 +1,22 @@ +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.web.servlet.MockMvc; +import com.baeldung.DisableSpringSecurityWithNoDependencies; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@SpringBootTest(classes = DisableSpringSecurityWithNoDependencies.class) +@AutoConfigureMockMvc +public class MessageControllerTest { + + @Autowired + private MockMvc mockMvc; + + @Test + public void whenSpringSecurityDependencyNotPresent_thenAccessIsPermitted() throws Exception { + mockMvc.perform(get("/api/endpoint")) + .andExpect(status().isOk()); + } +} \ No newline at end of file diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/pom.xml b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/pom.xml new file mode 100644 index 000000000000..a5b9bcf99cd1 --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/pom.xml @@ -0,0 +1,33 @@ + + + 4.0.0 + spring-security-noauth-profile + 1.0.0 + spring-security-noauth-profile + Disable Spring Security + + + com.baeldung + spring-disable-security + 0.0.1-SNAPSHOT + + + + + org.springframework.boot + spring-boot-starter-security + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/SpringSecurityAnnotationParameterApplication.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/SpringSecurityAnnotationParameterApplication.java new file mode 100644 index 000000000000..3a6ebd73c5bd --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/SpringSecurityAnnotationParameterApplication.java @@ -0,0 +1,13 @@ +package com.baeldung; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class SpringSecurityAnnotationParameterApplication { + + public static void main(String[] args) { + SpringApplication.run(SpringSecurityAnnotationParameterApplication.class, args); + } + +} diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/controller/MessageController.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/controller/MessageController.java new file mode 100644 index 000000000000..d2e90717ccba --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/controller/MessageController.java @@ -0,0 +1,19 @@ +package com.baeldung.controller; + + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api") +public class MessageController { + @GetMapping("/endpoint") + public ResponseEntity publicEndpoint() { + return ResponseEntity.ok("This is a public endpoint."); + } +} diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/security/DevSecurityConfiguration.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/security/DevSecurityConfiguration.java new file mode 100644 index 000000000000..e2f7acf34a22 --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/security/DevSecurityConfiguration.java @@ -0,0 +1,23 @@ +package com.baeldung.security; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.Customizer; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.context.annotation.Profile; +import org.springframework.security.web.SecurityFilterChain; + +@Configuration +@EnableWebSecurity +@Profile("dev") +public class DevSecurityConfiguration { + + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { + + http + .authorizeHttpRequests(auth -> auth.anyRequest().permitAll()); + return http.build(); + } +} diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/security/SecurityConfiguration.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/security/SecurityConfiguration.java new file mode 100644 index 000000000000..05c071562898 --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/java/com/baeldung/security/SecurityConfiguration.java @@ -0,0 +1,28 @@ +package com.baeldung.security; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.web.SecurityFilterChain; + +import static org.springframework.security.config.Customizer.withDefaults; + +@Configuration +@EnableWebSecurity +@Profile("!dev") +public class SecurityConfiguration { + + @Bean + SecurityFilterChain httpSecurity(HttpSecurity http) throws Exception { + http + .authorizeHttpRequests(auth -> auth + .anyRequest().authenticated() + ) + .formLogin(withDefaults()) + .httpBasic(withDefaults()); + + return http.build(); + } +} \ No newline at end of file diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/resources/application-dev.properties b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/resources/application-dev.properties new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/resources/application.properties b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/main/resources/application.properties new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/DevProfileSecurityConfigTest.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/DevProfileSecurityConfigTest.java new file mode 100644 index 000000000000..8500b7762ddf --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/DevProfileSecurityConfigTest.java @@ -0,0 +1,25 @@ +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.web.servlet.MockMvc; +import com.baeldung.SpringSecurityAnnotationParameterApplication; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +import org.springframework.test.context.ContextConfiguration; + +@SpringBootTest(classes = SpringSecurityAnnotationParameterApplication.class) +@AutoConfigureMockMvc +@ActiveProfiles("dev") // Activate the 'dev' profile for this test +public class DevProfileSecurityConfigTest { + + @Autowired + private MockMvc mockMvc; + + @Test + public void whenDevProfile_thenAccessIsPermitted() throws Exception { + mockMvc.perform(get("/api/endpoint")) + .andExpect(status().isOk()); + } +} \ No newline at end of file diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/NonDevProfileSecurityConfigTest.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/NonDevProfileSecurityConfigTest.java new file mode 100644 index 000000000000..7acd31e5b354 --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/NonDevProfileSecurityConfigTest.java @@ -0,0 +1,23 @@ +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.web.servlet.MockMvc; +import com.baeldung.SpringSecurityAnnotationParameterApplication; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@SpringBootTest(classes = SpringSecurityAnnotationParameterApplication.class) +@AutoConfigureMockMvc +public class NonDevProfileSecurityConfigTest { + + @Autowired + private MockMvc mockMvc; + + @Test + public void whenDevProfile_thenAccessIsPermitted() throws Exception { + mockMvc.perform(get("/api/endpoint")) + .andExpect(status().isUnauthorized()); + } +} \ No newline at end of file diff --git a/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/SpringSecurityAnnotationParameterApplicationTests.java b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/SpringSecurityAnnotationParameterApplicationTests.java new file mode 100644 index 000000000000..14f7bb5b49dc --- /dev/null +++ b/spring-security-modules/spring-disable-security/spring-security-noauth-profile/src/test/java/com/baeldung/SpringSecurityAnnotationParameterApplicationTests.java @@ -0,0 +1,19 @@ +package com.baeldung; + + +import com.baeldung.SpringSecurityAnnotationParameterApplication; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.annotation.DirtiesContext; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes = SpringSecurityAnnotationParameterApplication.class) +public class SpringSecurityAnnotationParameterApplicationTests { + + @Test + public void whenSpringContextIsBootstrapped_thenNoExceptions() { + } +} +