From 30e863fb34952da9f7e0c20e7c472d71d424dca9 Mon Sep 17 00:00:00 2001 From: Leonard Heilos Date: Thu, 3 Aug 2023 16:40:41 +0200 Subject: [PATCH] expose http status code in OAuth2ServiceException (#1251) seems to be removed by mistake --- .../security/xsuaa/client/OAuth2ServiceException.java | 10 ++++++++++ .../client/DefaultOidcConfigurationServiceTest.java | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/token-client/src/main/java/com/sap/cloud/security/xsuaa/client/OAuth2ServiceException.java b/token-client/src/main/java/com/sap/cloud/security/xsuaa/client/OAuth2ServiceException.java index e6df874355..fc005b2b5b 100644 --- a/token-client/src/main/java/com/sap/cloud/security/xsuaa/client/OAuth2ServiceException.java +++ b/token-client/src/main/java/com/sap/cloud/security/xsuaa/client/OAuth2ServiceException.java @@ -37,6 +37,16 @@ public OAuth2ServiceException(String message, Integer httpStatusCode) { super(message); this.httpStatusCode = httpStatusCode != null ? httpStatusCode : 0; } + + /** + * Returns the HTTP status code of the failed OAuth2 service request or + * {@code 0} e.g. in case the service wasn't called at all. + * + * @return status code or 0 + */ + public Integer getHttpStatusCode() { + return httpStatusCode; + } /** * Creates an exception. diff --git a/token-client/src/test/java/com/sap/cloud/security/xsuaa/client/DefaultOidcConfigurationServiceTest.java b/token-client/src/test/java/com/sap/cloud/security/xsuaa/client/DefaultOidcConfigurationServiceTest.java index 57c78d2c26..bf4fea6df8 100644 --- a/token-client/src/test/java/com/sap/cloud/security/xsuaa/client/DefaultOidcConfigurationServiceTest.java +++ b/token-client/src/test/java/com/sap/cloud/security/xsuaa/client/DefaultOidcConfigurationServiceTest.java @@ -93,7 +93,8 @@ public void retrieveEndpoints_errorOccurs_throwsServiceException() throws IOExce assertThatThrownBy(this::retrieveEndpoints) .isInstanceOf(OAuth2ServiceException.class) .hasMessageContaining(errorMessage) - .extracting("httpStatusCode").isEqualTo(0); + .extracting(OAuth2ServiceException.class::cast) + .extracting(OAuth2ServiceException::getHttpStatusCode).isEqualTo(0); } @Test