aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/test/java/org
diff options
context:
space:
mode:
authorIttay Stern <ittay.stern@att.com>2020-04-07 13:27:03 +0300
committerIttay Stern <ittay.stern@att.com>2020-04-07 16:14:01 +0300
commitef99ea6b4b4a5b62a31d0ad4b08233620df14a87 (patch)
tree7c26de21b09cf460f120520b1aaa68cd03b737fe /vid-app-common/src/test/java/org
parent49aca2f796200b2e4bdc16aababc7419932a7f6a (diff)
Limit the length of logged responses in outgoingRequestLog
Currently truncated after 1 MB. Issue-ID: VID-804 Change-Id: Ic99c33eede488db60c296d7272850cadee9f2925 Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-app-common/src/test/java/org')
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/utils/LoggingUtilsTest.java37
1 files changed, 36 insertions, 1 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/utils/LoggingUtilsTest.java b/vid-app-common/src/test/java/org/onap/vid/utils/LoggingUtilsTest.java
index c2a1f2877..8c3aa6471 100644
--- a/vid-app-common/src/test/java/org/onap/vid/utils/LoggingUtilsTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/utils/LoggingUtilsTest.java
@@ -21,15 +21,20 @@
package org.onap.vid.utils;
import static net.javacrumbs.jsonunit.JsonMatchers.jsonEquals;
+import static org.apache.commons.lang3.StringUtils.repeat;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.CoreMatchers.sameInstance;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.hasEntry;
+import static org.hamcrest.Matchers.hasToString;
import static org.hamcrest.Matchers.matchesPattern;
+import static org.hamcrest.Matchers.samePropertyValuesAs;
import static org.mockito.ArgumentMatchers.contains;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
import static org.onap.vid.testUtils.RegExMatcher.matchesRegEx;
import static org.testng.AssertJUnit.assertEquals;
@@ -53,6 +58,7 @@ import org.apache.commons.io.IOUtils;
import org.mockito.ArgumentCaptor;
import org.onap.vid.exceptions.GenericUncheckedException;
import org.onap.vid.testUtils.TestUtils;
+import org.onap.vid.utils.Logging.Substring;
import org.slf4j.MDC;
import org.springframework.http.HttpMethod;
import org.testng.annotations.BeforeMethod;
@@ -116,7 +122,7 @@ public class LoggingUtilsTest {
assertEquals("POST", argumentCaptor.getAllValues().get(0));
assertEquals(url, argumentCaptor.getAllValues().get(1));
assertEquals(200, argumentCaptor.getAllValues().get(2));
- assertEquals(TEST_OBJECT_JSON, argumentCaptor.getAllValues().get(3));
+ assertThat(argumentCaptor.getAllValues().get(3), samePropertyValuesAs(new Substring(TEST_OBJECT_JSON)));
}
@Test
@@ -205,6 +211,35 @@ public class LoggingUtilsTest {
}
@Test
+ public void substringClass_givenNull_thenToStringIsNull() {
+ assertThat(new Substring(null), hasToString(equalTo("null")));
+ }
+
+ @Test
+ public void substringClass_givenAnObject_thenToStringIsEqualAndPassThrough() {
+ Object anyObject = mock(Object.class);
+ when(anyObject.toString()).thenReturn(TEST_OBJECT_JSON);
+
+ assertThat(new Substring(anyObject),
+ hasToString(sameInstance(TEST_OBJECT_JSON)));
+ }
+
+ @Test
+ public void substringClass_givenNotLongString_thenToStringIsNotTruncated() {
+ assertThat(new Substring(repeat(TEST_OBJECT_JSON, 100)),
+ hasToString(equalTo(repeat(TEST_OBJECT_JSON, 100))));
+ }
+
+ @Test
+ public void substringClass_givenLongString_thenToStringIsTruncatedToSize() {
+ int expectedLength = 1_000_000; // this is Substring's internal config
+ String headMarker = "head-";
+
+ assertThat(new Substring(headMarker + repeat("x", 2_000_000)),
+ hasToString(equalTo(headMarker + repeat("x", expectedLength - headMarker.length()))));
+ }
+
+ @Test
public void testWithMDCInternal_whenGivenProvider_functionShouldBeExtractedWithMdc() {
Object myAnything = new Object();