From c638391d22999bd61243794a1981d7476bfdbd5f Mon Sep 17 00:00:00 2001 From: Eylon Malin Date: Tue, 29 Oct 2019 15:01:17 +0200 Subject: use onap logging 1.6.1 with needed workarounds Issue-ID: VID-253 Onap logging 1.6.1 has some mismatches regards invocationId. This commit fix these mismatches by fixing the MDC when needed. Change-Id: Ic8d35318ae511667dfa6f9c4297d562fd976a717 Signed-off-by: Eylon Malin --- .../logging/ApacheClientMetricInterceptorTest.java | 16 +++++++ .../vid/logging/VidLoggingInterceptorTest.java | 48 +++++++++++++++++++++ .../vid/logging/VidMetricLogClientFilterTest.java | 49 ++++++++++++++++++++++ 3 files changed, 113 insertions(+) create mode 100644 vid-app-common/src/test/java/org/onap/vid/logging/VidLoggingInterceptorTest.java create mode 100644 vid-app-common/src/test/java/org/onap/vid/logging/VidMetricLogClientFilterTest.java (limited to 'vid-app-common/src/test') diff --git a/vid-app-common/src/test/java/org/onap/vid/logging/ApacheClientMetricInterceptorTest.java b/vid-app-common/src/test/java/org/onap/vid/logging/ApacheClientMetricInterceptorTest.java index 43f986501..0463581dc 100644 --- a/vid-app-common/src/test/java/org/onap/vid/logging/ApacheClientMetricInterceptorTest.java +++ b/vid-app-common/src/test/java/org/onap/vid/logging/ApacheClientMetricInterceptorTest.java @@ -27,6 +27,8 @@ import org.apache.http.HttpResponse; import org.apache.http.ProtocolVersion; import org.apache.http.client.methods.HttpGet; import org.apache.http.message.BasicHttpResponse; +import org.onap.logging.ref.slf4j.ONAPLogConstants; +import org.slf4j.MDC; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -42,6 +44,7 @@ public class ApacheClientMetricInterceptorTest { interceptor = new ApacheClientMetricInterceptor() {}; request = new HttpGet(path); response = new BasicHttpResponse(new ProtocolVersion("a",1,2), 200, "ok"); + MDC.clear(); } @Test @@ -74,4 +77,17 @@ public class ApacheClientMetricInterceptorTest { public void testGetTargetEntity() { assertNull(interceptor.getTargetEntity(request)); } + + @Test + protected void testAdditionalPre() { + request.addHeader(ONAPLogConstants.Headers.INVOCATION_ID, "123"); + interceptor.additionalPre(request, request); + assertEquals(MDC.get(ONAPLogConstants.MDCs.INVOCATION_ID), "123"); + } + + @Test + protected void whenThereIsNoInvocationIdHeader_thenMdcValueIsNull() { + interceptor.additionalPre(request, request); + assertNull(MDC.get(ONAPLogConstants.MDCs.INVOCATION_ID)); + } } diff --git a/vid-app-common/src/test/java/org/onap/vid/logging/VidLoggingInterceptorTest.java b/vid-app-common/src/test/java/org/onap/vid/logging/VidLoggingInterceptorTest.java new file mode 100644 index 000000000..fc78ed714 --- /dev/null +++ b/vid-app-common/src/test/java/org/onap/vid/logging/VidLoggingInterceptorTest.java @@ -0,0 +1,48 @@ +/*- + * ============LICENSE_START======================================================= + * VID + * ================================================================================ + * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.vid.logging; + +import static org.onap.vid.logging.VidLoggingInterceptor.INBOUND_INVO_ID; +import static org.testng.Assert.assertEquals; + +import org.onap.logging.ref.slf4j.ONAPLogConstants; +import org.slf4j.MDC; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +public class VidLoggingInterceptorTest { + + private VidLoggingInterceptor interceptor; + + @BeforeMethod + public void setup() { + interceptor = new VidLoggingInterceptor(); + MDC.clear(); + } + + @Test + public void testAdditionalPreHandling() { + MDC.put(ONAPLogConstants.MDCs.INVOCATION_ID, "987"); + interceptor.additionalPreHandling(null); + assertEquals(MDC.get(INBOUND_INVO_ID), "987"); + } + +} diff --git a/vid-app-common/src/test/java/org/onap/vid/logging/VidMetricLogClientFilterTest.java b/vid-app-common/src/test/java/org/onap/vid/logging/VidMetricLogClientFilterTest.java new file mode 100644 index 000000000..aaf8eaf01 --- /dev/null +++ b/vid-app-common/src/test/java/org/onap/vid/logging/VidMetricLogClientFilterTest.java @@ -0,0 +1,49 @@ +/*- + * ============LICENSE_START======================================================= + * VID + * ================================================================================ + * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.vid.logging; + +import static org.testng.Assert.assertEquals; + +import javax.ws.rs.core.MultivaluedHashMap; +import javax.ws.rs.core.MultivaluedMap; +import org.onap.logging.ref.slf4j.ONAPLogConstants; +import org.slf4j.MDC; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +public class VidMetricLogClientFilterTest { + + VidMetricLogClientFilter metricLogClientFilter; + + @BeforeMethod + public void setup() { + this.metricLogClientFilter = new VidMetricLogClientFilter(); + MDC.clear(); + } + + @Test + public void testAdditionalPre() { + MultivaluedMap headers = new MultivaluedHashMap<>(); + headers.add(ONAPLogConstants.Headers.INVOCATION_ID, "xyz"); + metricLogClientFilter.additionalPre(null, headers); + assertEquals(MDC.get(ONAPLogConstants.MDCs.INVOCATION_ID), "xyz"); + } +} -- cgit 1.2.3-korg