Skip to content

Commit 3e8ad4b

Browse files
committed
Polish Test
Issue gh-9281
1 parent c0fa3f9 commit 3e8ad4b

File tree

1 file changed

+16
-26
lines changed

1 file changed

+16
-26
lines changed

saml2/saml2-service-provider/src/test/java/org/springframework/security/saml2/provider/service/web/Saml2MetadataFilterTests.java

+16-26
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,22 @@ public void doFilterWhenCustomRequestMatcherThenUses() throws Exception {
120120
verify(this.repository).findByRegistrationId("path");
121121
}
122122

123+
@Test
124+
public void doFilterWhenSetMetadataFilenameThenUses() throws Exception {
125+
RelyingPartyRegistration validRegistration = TestRelyingPartyRegistrations.full().build();
126+
String testMetadataFilename = "test-{registrationId}-metadata.xml";
127+
String fileName = testMetadataFilename.replace("{registrationId}", validRegistration.getRegistrationId());
128+
String encodedFileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8.name());
129+
String generatedMetadata = "<xml>test</xml>";
130+
this.request.setPathInfo("/saml2/service-provider-metadata/validRegistration");
131+
given(this.resolver.resolve(validRegistration)).willReturn(generatedMetadata);
132+
this.filter = new Saml2MetadataFilter((request) -> validRegistration, this.resolver);
133+
this.filter.setMetadataFilename(testMetadataFilename);
134+
this.filter.doFilter(this.request, this.response, this.chain);
135+
assertThat(this.response.getHeaderValue(HttpHeaders.CONTENT_DISPOSITION)).asString()
136+
.isEqualTo("attachment; filename=\"%s\"; filename*=UTF-8''%s", fileName, encodedFileName);
137+
}
138+
123139
@Test
124140
public void setRequestMatcherWhenNullThenIllegalArgument() {
125141
assertThatIllegalArgumentException().isThrownBy(() -> this.filter.setRequestMatcher(null));
@@ -138,30 +154,4 @@ public void setMetadataFilenameWhenMissingRegistrationIdVariableThenThrowsExcept
138154
.withMessage("metadataFilename must contain a {registrationId} match variable");
139155
}
140156

141-
@Test
142-
public void doFilterWhenSetMetadataFilenameThenUses() throws Exception {
143-
String testMetadataFilename = "test-{registrationId}-metadata.xml";
144-
this.request.setPathInfo("/saml2/service-provider-metadata/validRegistration");
145-
RelyingPartyRegistration validRegistration = TestRelyingPartyRegistrations.noCredentials()
146-
.assertingPartyDetails((party) -> party.verificationX509Credentials(
147-
(c) -> c.add(TestSaml2X509Credentials.relyingPartyVerifyingCredential())))
148-
.build();
149-
String generatedMetadata = "<xml>test</xml>";
150-
given(this.resolver.resolve(validRegistration)).willReturn(generatedMetadata);
151-
152-
this.filter = new Saml2MetadataFilter((request) -> validRegistration, this.resolver);
153-
this.filter.setMetadataFilename(testMetadataFilename);
154-
this.filter.doFilter(this.request, this.response, this.chain);
155-
156-
verifyNoInteractions(this.chain);
157-
assertThat(this.response.getStatus()).isEqualTo(200);
158-
assertThat(this.response.getContentAsString()).isEqualTo(generatedMetadata);
159-
160-
String fileName = testMetadataFilename.replace("{registrationId}", validRegistration.getRegistrationId());
161-
String encodedFileName = URLEncoder.encode(fileName, StandardCharsets.UTF_8.name());
162-
assertThat(this.response.getHeaderValue(HttpHeaders.CONTENT_DISPOSITION)).asString()
163-
.isEqualTo("attachment; filename=\"%s\"; filename*=UTF-8''%s", fileName, encodedFileName);
164-
verify(this.resolver).resolve(validRegistration);
165-
}
166-
167157
}

0 commit comments

Comments
 (0)