Skip to content

Commit 9241cd2

Browse files
committed
Move TestRelyingPartyRegistrations
Fixes gh-8551
1 parent 7c7934c commit 9241cd2

File tree

4 files changed

+19
-48
lines changed

4 files changed

+19
-48
lines changed

config/spring-security-config.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ dependencies {
4141
testCompile project(path : ':spring-security-core', configuration : 'tests')
4242
testCompile project(path : ':spring-security-oauth2-client', configuration : 'tests')
4343
testCompile project(path : ':spring-security-oauth2-resource-server', configuration : 'tests')
44+
testCompile project(path : ':spring-security-saml2-service-provider', configuration : 'tests')
4445
testCompile project(path : ':spring-security-web', configuration : 'tests')
4546
testCompile apachedsDependencies
4647
testCompile powerMock2Dependencies

config/src/test/java/org/springframework/security/config/annotation/web/configurers/saml2/Saml2LoginConfigurerTests.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
import static org.mockito.ArgumentMatchers.anyString;
7070
import static org.mockito.Mockito.mock;
7171
import static org.mockito.Mockito.when;
72-
import static org.springframework.security.config.annotation.web.configurers.saml2.TestRelyingPartyRegistrations.saml2AuthenticationConfiguration;
72+
import static org.springframework.security.saml2.provider.service.registration.TestRelyingPartyRegistrations.relyingPartyRegistration;
7373

7474
/**
7575
* Tests for different Java configuration for {@link Saml2LoginConfigurer}
@@ -253,9 +253,8 @@ SecurityContextRepository securityContextRepository() {
253253
@Bean
254254
RelyingPartyRegistrationRepository relyingPartyRegistrationRepository() {
255255
RelyingPartyRegistrationRepository repository = mock(RelyingPartyRegistrationRepository.class);
256-
when(repository.findByRegistrationId(anyString())).thenReturn(
257-
saml2AuthenticationConfiguration()
258-
);
256+
when(repository.findByRegistrationId(anyString()))
257+
.thenReturn(relyingPartyRegistration().build());
259258
return repository;
260259
}
261260
}

saml2/saml2-service-provider/src/test/java/org/springframework/security/saml2/provider/service/registration/RelyingPartyRegistrationTests.java

Lines changed: 7 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,20 @@
1818

1919
import org.junit.Test;
2020

21-
import org.springframework.security.saml2.credentials.Saml2X509Credential;
2221
import org.springframework.security.saml2.provider.service.servlet.filter.Saml2WebSsoAuthenticationFilter;
2322

2423
import static org.assertj.core.api.Assertions.assertThat;
25-
import static org.springframework.security.saml2.credentials.TestSaml2X509Credentials.relyingPartySigningCredential;
26-
import static org.springframework.security.saml2.credentials.TestSaml2X509Credentials.relyingPartyVerifyingCredential;
24+
import static org.springframework.security.saml2.provider.service.registration.Saml2MessageBinding.POST;
25+
import static org.springframework.security.saml2.provider.service.registration.TestRelyingPartyRegistrations.relyingPartyRegistration;
2726

2827
public class RelyingPartyRegistrationTests {
2928

3029
@Test
3130
public void withRelyingPartyRegistrationWorks() {
32-
RelyingPartyRegistration registration = relyingPartyRegistration();
31+
RelyingPartyRegistration registration = relyingPartyRegistration()
32+
.providerDetails(p -> p.binding(POST))
33+
.providerDetails(p -> p.signAuthNRequest(false))
34+
.build();
3335
RelyingPartyRegistration copy = RelyingPartyRegistration.withRelyingPartyRegistration(registration).build();
3436
compareRegistrations(registration, copy);
3537
}
@@ -58,38 +60,9 @@ private void compareRegistrations(RelyingPartyRegistration registration, Relying
5860
.isEqualTo("https://simplesaml-for-spring-saml.cfapps.io/saml2/idp/SSOService.php");
5961
assertThat(copy.getProviderDetails().getBinding())
6062
.isEqualTo(registration.getProviderDetails().getBinding())
61-
.isEqualTo(Saml2MessageBinding.POST);
63+
.isEqualTo(POST);
6264
assertThat(copy.getProviderDetails().isSignAuthNRequest())
6365
.isEqualTo(registration.getProviderDetails().isSignAuthNRequest())
6466
.isFalse();
6567
}
66-
67-
68-
private RelyingPartyRegistration relyingPartyRegistration() {
69-
//remote IDP entity ID
70-
String idpEntityId = "https://simplesaml-for-spring-saml.cfapps.io/saml2/idp/metadata.php";
71-
//remote WebSSO Endpoint - Where to Send AuthNRequests to
72-
String webSsoEndpoint = "https://simplesaml-for-spring-saml.cfapps.io/saml2/idp/SSOService.php";
73-
//local registration ID
74-
String registrationId = "simplesamlphp";
75-
//local entity ID - autogenerated based on URL
76-
String localEntityIdTemplate = "{baseUrl}/saml2/service-provider-metadata/{registrationId}";
77-
//local signing (and decryption key)
78-
Saml2X509Credential signingCredential = relyingPartySigningCredential();
79-
//IDP certificate for verification of incoming messages
80-
Saml2X509Credential idpVerificationCertificate = relyingPartyVerifyingCredential();
81-
String acsUrlTemplate = "{baseUrl}" + Saml2WebSsoAuthenticationFilter.DEFAULT_FILTER_PROCESSES_URI;
82-
return RelyingPartyRegistration.withRegistrationId(registrationId)
83-
.providerDetails(c -> {
84-
c.webSsoUrl(webSsoEndpoint);
85-
c.binding(Saml2MessageBinding.POST);
86-
c.signAuthNRequest(false);
87-
c.entityId(idpEntityId);
88-
})
89-
.credentials(c -> c.add(signingCredential))
90-
.credentials(c -> c.add(idpVerificationCertificate))
91-
.localEntityIdTemplate(localEntityIdTemplate)
92-
.assertionConsumerServiceUrlTemplate(acsUrlTemplate)
93-
.build();
94-
}
9568
}
Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2019 the original author or authors.
2+
* Copyright 2002-2020 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -14,21 +14,20 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.security.config.annotation.web.configurers.saml2;
17+
package org.springframework.security.saml2.provider.service.registration;
1818

1919
import org.springframework.security.saml2.credentials.Saml2X509Credential;
20-
import org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistration;
2120
import org.springframework.security.saml2.provider.service.servlet.filter.Saml2WebSsoAuthenticationFilter;
2221

23-
import static org.springframework.security.config.annotation.web.configurers.saml2.TestSaml2Credentials.signingCredential;
24-
import static org.springframework.security.config.annotation.web.configurers.saml2.TestSaml2Credentials.verificationCertificate;
22+
import static org.springframework.security.saml2.credentials.TestSaml2X509Credentials.relyingPartySigningCredential;
23+
import static org.springframework.security.saml2.credentials.TestSaml2X509Credentials.relyingPartyVerifyingCredential;
2524

2625
/**
2726
* Preconfigured test data for {@link RelyingPartyRegistration} objects
2827
*/
2928
public class TestRelyingPartyRegistrations {
3029

31-
static RelyingPartyRegistration saml2AuthenticationConfiguration() {
30+
public static RelyingPartyRegistration.Builder relyingPartyRegistration() {
3231
//remote IDP entity ID
3332
String idpEntityId = "https://simplesaml-for-spring-saml.cfapps.io/saml2/idp/metadata.php";
3433
//remote WebSSO Endpoint - Where to Send AuthNRequests to
@@ -38,18 +37,17 @@ static RelyingPartyRegistration saml2AuthenticationConfiguration() {
3837
//local entity ID - autogenerated based on URL
3938
String localEntityIdTemplate = "{baseUrl}/saml2/service-provider-metadata/{registrationId}";
4039
//local signing (and decryption key)
41-
Saml2X509Credential signingCredential = signingCredential();
40+
Saml2X509Credential signingCredential = relyingPartySigningCredential();
4241
//IDP certificate for verification of incoming messages
43-
Saml2X509Credential idpVerificationCertificate = verificationCertificate();
42+
Saml2X509Credential idpVerificationCertificate = relyingPartyVerifyingCredential();
4443
String acsUrlTemplate = "{baseUrl}" + Saml2WebSsoAuthenticationFilter.DEFAULT_FILTER_PROCESSES_URI;
4544
return RelyingPartyRegistration.withRegistrationId(registrationId)
4645
.providerDetails(c -> c.entityId(idpEntityId))
4746
.providerDetails(c -> c.webSsoUrl(webSsoEndpoint))
4847
.credentials(c -> c.add(signingCredential))
4948
.credentials(c -> c.add(idpVerificationCertificate))
5049
.localEntityIdTemplate(localEntityIdTemplate)
51-
.assertionConsumerServiceUrlTemplate(acsUrlTemplate)
52-
.build();
50+
.assertionConsumerServiceUrlTemplate(acsUrlTemplate);
5351
}
5452

5553

0 commit comments

Comments
 (0)