Skip to content

Commit

Permalink
Merge branch 'master' of github.com:apereo/cas
Browse files Browse the repository at this point in the history
# Conflicts:
#	gradle/libs.versions.toml
  • Loading branch information
mmoayyed committed Feb 27, 2025
2 parents 952e964 + 6fd066a commit d6e4c5f
Showing 1 changed file with 12 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
import org.springframework.context.support.StaticApplicationContext;
import org.springframework.http.HttpStatus;
import org.springframework.mock.web.MockHttpServletRequest;

import java.util.Map;
import java.util.UUID;
import static org.junit.jupiter.api.Assertions.*;

Expand Down Expand Up @@ -67,25 +69,32 @@ void verifyOperationFailsWithNoProvider() {
}

@Test
void verifyRestSendsQueryParameters() throws Throwable {
void verifyRestSendsQueryParametersAndHeaders() throws Throwable {
try (val webServer = new okhttp3.mockwebserver.MockWebServer()) {
val port = webServer.getPort();
val response = new MockResponse().setResponseCode(HttpStatus.ACCEPTED.value());
webServer.enqueue(response);

val props = new MultifactorAuthenticationProviderBypassProperties();
props.getRest().setUrl("http://localhost:" + port);
props.getRest().setHeaders(Map.of(
"X-Custom-Header", "HeaderValue",
"Authorization", "Bearer token"
));
val provider = new TestMultifactorAuthenticationProvider();
val r = new RestMultifactorAuthenticationProviderBypassEvaluator(props, provider.getId(), applicationContext);
val request = new MockHttpServletRequest();
val registeredService = MultifactorAuthenticationTestUtils.getRegisteredService();
val res = r.shouldMultifactorAuthenticationProviderExecute(MultifactorAuthenticationTestUtils.getAuthentication("casuser"),
registeredService, provider, request, MultifactorAuthenticationTestUtils.getService("service"));
registeredService, provider, request, MultifactorAuthenticationTestUtils.getService("service"));

val recordedRequestUrl = webServer.takeRequest().getRequestUrl();
val recordedRequest = webServer.takeRequest();
val recordedRequestUrl = recordedRequest.getRequestUrl();
assertEquals("casuser", recordedRequestUrl.queryParameter("principal"));
assertEquals(recordedRequestUrl.queryParameter("service"), registeredService.getServiceId());
assertEquals(recordedRequestUrl.queryParameter("provider"), provider.getId());
assertEquals("HeaderValue", recordedRequest.getHeader("X-Custom-Header"));
assertEquals("Bearer token", recordedRequest.getHeader("Authorization"));
assertTrue(res);
}
}
Expand Down

0 comments on commit d6e4c5f

Please sign in to comment.