Use HttpStatusCode

Closes gh-11091
This commit is contained in:
Marcus Da Coregio 2022-04-11 09:14:45 -03:00
parent bc50146f60
commit 50f8df6f07
5 changed files with 12 additions and 12 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2017 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.
@ -58,7 +58,7 @@ final class MockWebResponseBuilder {
private WebResponseData webResponseData() { private WebResponseData webResponseData() {
List<NameValuePair> responseHeaders = responseHeaders(); List<NameValuePair> responseHeaders = responseHeaders();
HttpStatus status = this.exchangeResult.getStatus(); HttpStatus status = HttpStatus.resolve(this.exchangeResult.getStatus().value());
return new WebResponseData(this.exchangeResult.getResponseBodyContent(), status.value(), return new WebResponseData(this.exchangeResult.getResponseBodyContent(), status.value(),
status.getReasonPhrase(), responseHeaders); status.getReasonPhrase(), responseHeaders);
} }

View File

@ -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.
@ -27,7 +27,7 @@ import reactor.core.publisher.Mono;
import org.springframework.core.ParameterizedTypeReference; import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatusCode;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority;
@ -108,7 +108,7 @@ public class DefaultReactiveOAuth2UserService implements ReactiveOAuth2UserServi
authenticationMethod); authenticationMethod);
// @formatter:off // @formatter:off
Mono<Map<String, Object>> userAttributes = requestHeadersSpec.retrieve() Mono<Map<String, Object>> userAttributes = requestHeadersSpec.retrieve()
.onStatus(HttpStatus::isError, (response) -> .onStatus(HttpStatusCode::isError, (response) ->
parse(response) parse(response)
.map((userInfoErrorResponse) -> { .map((userInfoErrorResponse) -> {
String description = userInfoErrorResponse.getErrorObject().getDescription(); String description = userInfoErrorResponse.getErrorObject().getDescription();

View File

@ -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.
@ -28,7 +28,6 @@ import org.springframework.mock.http.MockHttpInputMessage;
import org.springframework.mock.http.client.MockClientHttpResponse; import org.springframework.mock.http.client.MockClientHttpResponse;
import org.springframework.security.oauth2.core.OAuth2AuthorizationException; import org.springframework.security.oauth2.core.OAuth2AuthorizationException;
import org.springframework.security.oauth2.core.OAuth2Error; import org.springframework.security.oauth2.core.OAuth2Error;
import org.springframework.web.client.UnknownHttpStatusCodeException;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
@ -102,8 +101,9 @@ public class OAuth2ErrorResponseErrorHandlerTests {
@Test @Test
public void handleErrorWhenErrorResponseWithInvalidStatusCodeThenHandled() { public void handleErrorWhenErrorResponseWithInvalidStatusCodeThenHandled() {
CustomMockClientHttpResponse response = new CustomMockClientHttpResponse(new byte[0], 596); CustomMockClientHttpResponse response = new CustomMockClientHttpResponse(new byte[0], 596);
assertThatExceptionOfType(UnknownHttpStatusCodeException.class) assertThatExceptionOfType(IllegalArgumentException.class)
.isThrownBy(() -> this.errorHandler.handleError(response)).withMessage("596 : [no body]"); .isThrownBy(() -> this.errorHandler.handleError(response))
.withMessage("No matching constant for [596]");
} }
private static final class CustomMockClientHttpResponse extends MockHttpInputMessage implements ClientHttpResponse { private static final class CustomMockClientHttpResponse extends MockHttpInputMessage implements ClientHttpResponse {

View File

@ -81,7 +81,7 @@ public class DefaultServerOAuth2AuthorizationRequestResolverTests {
given(this.clientRegistrationRepository.findByRegistrationId(any())).willReturn(Mono.empty()); given(this.clientRegistrationRepository.findByRegistrationId(any())).willReturn(Mono.empty());
assertThatExceptionOfType(ResponseStatusException.class) assertThatExceptionOfType(ResponseStatusException.class)
.isThrownBy(() -> resolve("/oauth2/authorization/not-found-id")) .isThrownBy(() -> resolve("/oauth2/authorization/not-found-id"))
.satisfies((ex) -> assertThat(ex.getStatus()).isEqualTo(HttpStatus.BAD_REQUEST)); .satisfies((ex) -> assertThat(ex.getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST));
} }
@Test @Test

View File

@ -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.
@ -143,7 +143,7 @@ public final class AntPathRequestMatcher implements RequestMatcher, RequestVaria
@Override @Override
public boolean matches(HttpServletRequest request) { public boolean matches(HttpServletRequest request) {
if (this.httpMethod != null && StringUtils.hasText(request.getMethod()) if (this.httpMethod != null && StringUtils.hasText(request.getMethod())
&& this.httpMethod != HttpMethod.resolve(request.getMethod())) { && this.httpMethod != HttpMethod.valueOf(request.getMethod())) {
return false; return false;
} }
if (this.pattern.equals(MATCH_ALL)) { if (this.pattern.equals(MATCH_ALL)) {