|
|
|
@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
/* |
|
|
|
* Copyright 2002-2021 the original author or authors. |
|
|
|
* Copyright 2002-2022 the original author or authors. |
|
|
|
* |
|
|
|
* |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
@ -153,6 +153,21 @@ public class Saml2MetadataFilterTests { |
|
|
|
verify(this.repository).findByRegistrationId("registration-id"); |
|
|
|
verify(this.repository).findByRegistrationId("registration-id"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// gh-12026
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void doFilterWhenCharacterEncodingThenEncodeSpecialCharactersCorrectly() throws Exception { |
|
|
|
|
|
|
|
RelyingPartyRegistration validRegistration = TestRelyingPartyRegistrations.full().build(); |
|
|
|
|
|
|
|
String testMetadataFilename = "test-{registrationId}-metadata.xml"; |
|
|
|
|
|
|
|
String generatedMetadata = "<xml>testäöü</xml>"; |
|
|
|
|
|
|
|
this.request.setPathInfo("/saml2/service-provider-metadata/registration-id"); |
|
|
|
|
|
|
|
given(this.resolver.resolve(validRegistration)).willReturn(generatedMetadata); |
|
|
|
|
|
|
|
this.filter = new Saml2MetadataFilter((req, id) -> validRegistration, this.resolver); |
|
|
|
|
|
|
|
this.filter.setMetadataFilename(testMetadataFilename); |
|
|
|
|
|
|
|
this.filter.doFilter(this.request, this.response, this.chain); |
|
|
|
|
|
|
|
assertThat(this.response.getCharacterEncoding()).isEqualTo(StandardCharsets.UTF_8.name()); |
|
|
|
|
|
|
|
assertThat(new String(this.response.getContentAsByteArray())).isEqualTo(generatedMetadata); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
public void setRequestMatcherWhenNullThenIllegalArgument() { |
|
|
|
public void setRequestMatcherWhenNullThenIllegalArgument() { |
|
|
|
assertThatIllegalArgumentException().isThrownBy(() -> this.filter.setRequestMatcher(null)); |
|
|
|
assertThatIllegalArgumentException().isThrownBy(() -> this.filter.setRequestMatcher(null)); |
|
|
|
|