From 4c8a133000fea250b7636faba6cc3681df6b7e7c Mon Sep 17 00:00:00 2001 From: AJoshi19 <ajoshi19@slb.com> Date: Tue, 14 Jan 2025 15:07:37 -0600 Subject: [PATCH] handle at globalexcmapper only --- .../util/DetailedBadRequestMessageUtil.java | 11 ++------ .../DetailedBadRequestMessageUtilTest.java | 25 +------------------ 2 files changed, 3 insertions(+), 33 deletions(-) diff --git a/search-core/src/main/java/org/opengroup/osdu/search/util/DetailedBadRequestMessageUtil.java b/search-core/src/main/java/org/opengroup/osdu/search/util/DetailedBadRequestMessageUtil.java index cbe98facc..c128cd706 100644 --- a/search-core/src/main/java/org/opengroup/osdu/search/util/DetailedBadRequestMessageUtil.java +++ b/search-core/src/main/java/org/opengroup/osdu/search/util/DetailedBadRequestMessageUtil.java @@ -30,10 +30,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpEntity; -import org.apache.logging.log4j.util.Strings; import org.elasticsearch.client.Response; import org.elasticsearch.client.ResponseException; -import org.opengroup.osdu.search.config.SearchConfigurationProperties; import org.springframework.stereotype.Component; @Slf4j @@ -42,14 +40,13 @@ import org.springframework.stereotype.Component; public class DetailedBadRequestMessageUtil implements IDetailedBadRequestMessageUtil { private final ObjectMapper objectMapper; - private final SearchConfigurationProperties configurationProperties; @Override public String getDetailedBadRequestMessage(SearchRequest searchRequest, Exception e) { String defaultErrorMessage = "Invalid parameters were given on search request"; Throwable[] suppressed = e.getSuppressed(); if (suppressed != null && suppressed.length > 0) { - String fullReasonMessage = extractAndCombineReasonMessages(e, suppressed); + String fullReasonMessage = extractAndCombineReasonMessages(suppressed); if (StringUtils.isNotEmpty(fullReasonMessage)) { return fullReasonMessage; } @@ -75,17 +72,13 @@ public class DetailedBadRequestMessageUtil implements IDetailedBadRequestMessage return defaultErrorMessage; } - private String extractAndCombineReasonMessages(Exception e, Throwable[] suppressed) { + private String extractAndCombineReasonMessages(Throwable[] suppressed) { StringJoiner stringJoiner = new StringJoiner("."); for (Throwable throwable : suppressed) { if (throwable instanceof ResponseException) { ResponseException responseException = (ResponseException) throwable; Response response = responseException.getResponse(); HttpEntity entity = response.getEntity(); - if (entity.getContentLength() > configurationProperties.getMaxExceptionLogMessageLength()) { - log.error(String.format("%s. Truncating response for logging, error message content length: %s is too big.", e.getMessage(), entity.getContentLength())); - return Strings.EMPTY; - } try { InputStream content = entity.getContent(); JsonNode errorNode = objectMapper.readValue(content, JsonNode.class); diff --git a/search-core/src/test/java/org/opengroup/osdu/search/util/DetailedBadRequestMessageUtilTest.java b/search-core/src/test/java/org/opengroup/osdu/search/util/DetailedBadRequestMessageUtilTest.java index 3e9561cdd..5ce916029 100644 --- a/search-core/src/test/java/org/opengroup/osdu/search/util/DetailedBadRequestMessageUtilTest.java +++ b/search-core/src/test/java/org/opengroup/osdu/search/util/DetailedBadRequestMessageUtilTest.java @@ -17,14 +17,12 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.MockitoJUnitRunner; -import org.opengroup.osdu.search.config.SearchConfigurationProperties; @RunWith(MockitoJUnitRunner.class) public class DetailedBadRequestMessageUtilTest { private static final String NESTED_FAIL_REASON = "failed to create query: [nested] failed to find nested object under path [data.NameAliases]"; private static final String GEO_FIELD_FAIL_REASON = "failed to find geo field [officeAddress]"; - private static final String GENERIC_FAIL_REASON = "Invalid parameters were given on search request"; private final ObjectMapper objectMapper = new ObjectMapper(); private DetailedBadRequestMessageUtil badRequestMessageUtil; @@ -34,13 +32,9 @@ public class DetailedBadRequestMessageUtilTest { @Mock private SearchRequest searchRequest; - @Mock - private SearchConfigurationProperties configurationProperties; - @Before public void setUp() { - when(this.configurationProperties.getMaxExceptionLogMessageLength()).thenReturn(5000); - badRequestMessageUtil = new DetailedBadRequestMessageUtil(objectMapper, configurationProperties); + badRequestMessageUtil = new DetailedBadRequestMessageUtil(objectMapper); } @Test @@ -56,7 +50,6 @@ public class DetailedBadRequestMessageUtilTest { when(responseMock.getEntity()).thenReturn(httpEntityMock); when(httpEntityMock.getContent()).thenReturn(getResponseContent("nestedfail.json")); when(elasticsearchStatusExceptionMock.getSuppressed()).thenReturn(throwable); - when(httpEntityMock.getContentLength()).thenReturn(100L); String detailedBadRequestMessage = badRequestMessageUtil.getDetailedBadRequestMessage(searchRequest, elasticsearchStatusExceptionMock); assertEquals(NESTED_FAIL_REASON, detailedBadRequestMessage); @@ -68,7 +61,6 @@ public class DetailedBadRequestMessageUtilTest { Response responseMock = Mockito.mock(Response.class); HttpEntity httpEntityMock = Mockito.mock(HttpEntity.class); - when(httpEntityMock.getContentLength()).thenReturn(100L); when(responseExceptionMock.getResponse()).thenReturn(responseMock); when(responseMock.getEntity()).thenReturn(httpEntityMock); when(httpEntityMock.getContent()).thenReturn(getResponseContent("nestedfail.json")); @@ -91,21 +83,6 @@ public class DetailedBadRequestMessageUtilTest { assertEquals(NESTED_FAIL_REASON + "." + GEO_FIELD_FAIL_REASON, detailedBadRequestMessage); } - @Test - public void testSingleResponse_maxLength() throws IOException { - ResponseException responseExceptionMock = Mockito.mock(ResponseException.class); - Response responseMock = Mockito.mock(Response.class); - HttpEntity httpEntityMock = Mockito.mock(HttpEntity.class); - ElasticsearchException elasticsearchStatusExceptionMock = Mockito.mock(ElasticsearchException.class); - throwable = new Throwable[]{responseExceptionMock}; - when(responseExceptionMock.getResponse()).thenReturn(responseMock); - when(responseMock.getEntity()).thenReturn(httpEntityMock); - when(elasticsearchStatusExceptionMock.getSuppressed()).thenReturn(throwable); - when(httpEntityMock.getContentLength()).thenReturn(10000L); - String detailedBadRequestMessage = badRequestMessageUtil.getDetailedBadRequestMessage(searchRequest, elasticsearchStatusExceptionMock); - assertEquals(GENERIC_FAIL_REASON, detailedBadRequestMessage); - } - private InputStream getResponseContent(String fileName) { return this.getClass().getResourceAsStream("/errorresponses/" + fileName); } -- GitLab