Browse Source

Merge branch '3.4.x'

Closes gh-45666
pull/45677/head
Stéphane Nicoll 8 months ago
parent
commit
c0135a0905
  1. 8
      spring-boot-project/spring-boot-test-autoconfigure/build.gradle
  2. 1
      spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc.imports
  3. 51
      spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/web/servlet/mockmvc/WebMvcTestSaml2Tests.java

8
spring-boot-project/spring-boot-test-autoconfigure/build.gradle

@ -112,11 +112,19 @@ dependencies { @@ -112,11 +112,19 @@ dependencies {
testImplementation("org.junit.platform:junit-platform-launcher")
testImplementation("org.mockito:mockito-core")
testImplementation("org.mockito:mockito-junit-jupiter")
testImplementation("org.opensaml:opensaml-core:4.0.1")
testImplementation("org.opensaml:opensaml-saml-api:4.0.1")
testImplementation("org.opensaml:opensaml-saml-impl:4.0.1")
testImplementation("org.skyscreamer:jsonassert")
testImplementation("org.springframework:spring-core-test")
testImplementation("org.springframework.boot:spring-boot-starter-oauth2-client")
testImplementation("org.springframework.hateoas:spring-hateoas")
testImplementation("org.springframework.plugin:spring-plugin-core")
testImplementation("org.springframework.security:spring-security-saml2-service-provider") {
exclude group: "org.opensaml", module: "opensaml-core"
exclude group: "org.opensaml", module: "opensaml-saml-api"
exclude group: "org.opensaml", module: "opensaml-saml-impl"
}
testImplementation("org.thymeleaf:thymeleaf")
}

1
spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc.imports

@ -5,6 +5,7 @@ org.springframework.boot.test.autoconfigure.web.servlet.MockMvcWebDriverAutoConf @@ -5,6 +5,7 @@ org.springframework.boot.test.autoconfigure.web.servlet.MockMvcWebDriverAutoConf
org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientAutoConfiguration
org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration
org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientWebSecurityAutoConfiguration
org.springframework.boot.autoconfigure.security.saml2.Saml2RelyingPartyAutoConfiguration
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
org.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration
org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration

51
spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/web/servlet/mockmvc/WebMvcTestSaml2Tests.java

@ -0,0 +1,51 @@ @@ -0,0 +1,51 @@
/*
* Copyright 2012-2025 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.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.test.autoconfigure.web.servlet.mockmvc;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.test.web.servlet.MockMvc;
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.redirectedUrlPattern;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
/**
* Tests for {@link WebMvcTest @WebMvcTest} with SAML2.
*
* @author Dmytro Nosan
*/
@WebMvcTest(controllers = ExampleController1.class, properties = {
"spring.security.saml2.relyingparty.registration.test.entity-id=relyingparty",
"spring.security.saml2.relyingparty.registration.test.assertingparty.entity-id=assertingparty",
"spring.security.saml2.relyingparty.registration.test.assertingparty.singlesignon.url=https://example.com",
"spring.security.saml2.relyingparty.registration.test.assertingparty.singlesignon.sign-request=false" })
class WebMvcTestSaml2Tests {
@Autowired
private MockMvc mockMvc;
@Test
void shouldRedirectToLogin() throws Exception {
this.mockMvc.perform(get("/one"))
.andExpect(status().isFound())
.andExpect(redirectedUrlPattern("**/saml2/authenticate?registrationId=test"));
}
}
Loading…
Cancel
Save