From a969489e138c6fa44d468f05e8b27860c26c7578 Mon Sep 17 00:00:00 2001 From: mmis Date: Tue, 27 Feb 2018 14:05:23 +0000 Subject: Added junit tests in ONAP-Logging Added junit tests to org.onap.policy.common.logging.flexlogger package in ONAP-Logging Issue-ID: POLICY-582 Change-Id: I024f990960fa71bff7655da9c2cd5dd0db8ee33c Signed-off-by: mmis --- .../common/logging/flexlogger/EelfLoggerTest.java | 364 +++++++++++++++++++++ 1 file changed, 364 insertions(+) create mode 100644 common-logging/src/test/java/org/onap/policy/common/logging/flexlogger/EelfLoggerTest.java (limited to 'common-logging/src/test/java/org/onap/policy/common/logging/flexlogger/EelfLoggerTest.java') diff --git a/common-logging/src/test/java/org/onap/policy/common/logging/flexlogger/EelfLoggerTest.java b/common-logging/src/test/java/org/onap/policy/common/logging/flexlogger/EelfLoggerTest.java new file mode 100644 index 00000000..6d6399b2 --- /dev/null +++ b/common-logging/src/test/java/org/onap/policy/common/logging/flexlogger/EelfLoggerTest.java @@ -0,0 +1,364 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP-Logging + * ================================================================================ + * Copyright (C) 2018 Ericsson. 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.policy.common.logging.flexlogger; + +import static com.att.eelf.configuration.Configuration.MDC_KEY_REQUEST_ID; +import static org.junit.Assert.*; +import static org.onap.policy.common.logging.util.TestUtils.overrideStaticField; +import java.util.UUID; +import org.junit.Test; +import org.mockito.Mockito; +import org.onap.policy.common.logging.eelf.MessageCodes; +import org.onap.policy.common.logging.eelf.PolicyLogger; +import org.slf4j.MDC; +import com.att.eelf.configuration.EELFLogger; + +public class EelfLoggerTest { + + EelfLogger eelfLogger = new EelfLogger("EelfLoggerTest", "transactionId"); + + @Test + public void testEelfLoggerClassOfQ() { + new EelfLogger(this.getClass()); + assertNotNull(PolicyLogger.getTransId()); + assertFalse(PolicyLogger.getTransId().isEmpty()); + } + + @Test + public void testEelfLoggerString() { + new EelfLogger("EelfLoggerTest"); + assertNotNull(PolicyLogger.getTransId()); + assertFalse(PolicyLogger.getTransId().isEmpty()); + } + + @Test + public void testEelfLoggerClassOfQBoolean() { + new EelfLogger(this.getClass(), true); + assertNotNull(PolicyLogger.getTransId()); + assertFalse(PolicyLogger.getTransId().isEmpty()); + } + + @Test + public void testEelfLoggerStringBoolean() { + new EelfLogger("EelfLoggerTest", true); + assertNotNull(PolicyLogger.getTransId()); + assertFalse(PolicyLogger.getTransId().isEmpty()); + } + + @Test + public void testEelfLoggerClassOfQString() { + new EelfLogger(this.getClass(), "transactionId"); + assertEquals("transactionId", PolicyLogger.getTransId()); + } + + @Test + public void testEelfLoggerStringString() { + new EelfLogger("EelfLoggerTest", "transactionId"); + assertEquals("transactionId", PolicyLogger.getTransId()); + } + + @Test + public void testSetAndGetTransId() { + assertEquals("transactionId", eelfLogger.getTransId()); + eelfLogger.setTransId("transactionId2"); + assertEquals("transactionId2", eelfLogger.getTransId()); + } + + @Test + public void testDebugObject() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + eelfLogger.debug("message"); + Mockito.verify(mockLogger).debug(MessageCodes.GENERAL_INFO, "message"); + } + + @Test + public void testErrorObject() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "errorLogger", mockLogger); + eelfLogger.error("message"); + Mockito.verify(mockLogger).error(MessageCodes.GENERAL_ERROR, "message"); + } + + @Test + public void testInfoObject() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + eelfLogger.info("message"); + Mockito.verify(mockLogger).info(MessageCodes.GENERAL_INFO, "message"); + } + + @Test + public void testWarnObject() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + eelfLogger.warn("message"); + Mockito.verify(mockLogger).warn(MessageCodes.GENERAL_INFO, "message"); + } + + @Test + public void testTraceObject() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + eelfLogger.trace("message"); + Mockito.verify(mockLogger).trace(MessageCodes.GENERAL_INFO, "message"); + } + + @Test + public void testIsDebugEnabled() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + Mockito.when(mockLogger.isDebugEnabled()).thenReturn(false).thenReturn(true); + assertFalse(eelfLogger.isDebugEnabled()); + assertTrue(eelfLogger.isDebugEnabled()); + + } + + @Test + public void testIsInfoEnabled() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + Mockito.when(mockLogger.isInfoEnabled()).thenReturn(false).thenReturn(true); + assertFalse(eelfLogger.isInfoEnabled()); + assertTrue(eelfLogger.isInfoEnabled()); + } + + @Test + public void testIsWarnEnabled() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + Mockito.when(mockLogger.isWarnEnabled()).thenReturn(false).thenReturn(true); + assertFalse(eelfLogger.isWarnEnabled()); + assertTrue(eelfLogger.isWarnEnabled()); + } + + @Test + public void testIsErrorEnabled() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "errorLogger", mockLogger); + Mockito.when(mockLogger.isErrorEnabled()).thenReturn(false).thenReturn(true); + assertFalse(eelfLogger.isErrorEnabled()); + assertTrue(eelfLogger.isErrorEnabled()); + } + + @Test + public void testIsAuditEnabled() { + PolicyLogger.setOverrideLogbackLevel(true); + PolicyLogger.setAuditLevel("ERROR"); + assertTrue(eelfLogger.isAuditEnabled()); + } + + @Test + public void testIsMetricsEnabled() { + PolicyLogger.setOverrideLogbackLevel(true); + PolicyLogger.setMetricsLevel("ERROR"); + assertTrue(eelfLogger.isMetricsEnabled()); + } + + @Test + public void testIsTraceEnabled() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + Mockito.when(mockLogger.isDebugEnabled()).thenReturn(false).thenReturn(true); + assertFalse(eelfLogger.isTraceEnabled()); + assertTrue(eelfLogger.isTraceEnabled()); + } + + @Test + public void testAuditObject() { + PolicyLogger.setOverrideLogbackLevel(true); + PolicyLogger.setAuditLevel("ERROR"); + assertTrue(eelfLogger.isAuditEnabled()); + } + + @Test + public void testDebugObjectThrowable() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + eelfLogger.debug("message", new NullPointerException()); + Mockito.verify(mockLogger).debug((MessageCodes)Mockito.any(), Mockito.startsWith("message:java.lang.NullPointerException")); + } + + @Test + public void testErrorObjectThrowable() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "errorLogger", mockLogger); + eelfLogger.error("message", new NullPointerException()); + Mockito.verify(mockLogger).error((MessageCodes)Mockito.any(), Mockito.startsWith("message:java.lang.NullPointerException")); + eelfLogger.error("message", new NullPointerException()); + } + + @Test + public void testInfoObjectThrowable() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + eelfLogger.info("message", new NullPointerException()); + Mockito.verify(mockLogger).info((MessageCodes)Mockito.any(), Mockito.startsWith("message:java.lang.NullPointerException")); + } + + @Test + public void testWarnObjectThrowable() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + eelfLogger.warn("message", new NullPointerException()); + Mockito.verify(mockLogger).warn((MessageCodes)Mockito.any(), Mockito.startsWith("message:java.lang.NullPointerException")); + } + + @Test + public void testTraceObjectThrowable() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + eelfLogger.trace("message", new NullPointerException()); + Mockito.verify(mockLogger).trace("message"); + } + + @Test + public void testAuditObjectThrowable() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "auditLogger", mockLogger); + eelfLogger.audit("message", new NullPointerException()); + Mockito.verify(mockLogger).info("message"); + } + + @Test + public void testRecordAuditEventStartString() { + eelfLogger.recordAuditEventStart("eventId"); + assertNotNull(PolicyLogger.getEventTracker().getEventInfo().get("eventId")); + } + + @Test + public void testRecordAuditEventStartUUID() { + UUID uuid = UUID.randomUUID(); + eelfLogger.recordAuditEventStart(uuid); + assertNotNull(PolicyLogger.getEventTracker().getEventInfo().get(uuid.toString())); + } + + @Test + public void testRecordAuditEventEndStringStringString() { + eelfLogger.recordAuditEventStart("eventId"); + assertNotNull(PolicyLogger.getEventTracker().getEventInfo().get("eventId")); + + eelfLogger.recordAuditEventEnd("eventId", "rule", "policyVersion"); + assertNull(PolicyLogger.getEventTracker().getEventInfo().get("eventId")); + } + + @Test + public void testRecordAuditEventEndUUIDStringString() { + UUID uuid = UUID.randomUUID(); + eelfLogger.recordAuditEventStart(uuid);; + assertNotNull(PolicyLogger.getEventTracker().getEventInfo().get(uuid.toString())); + + eelfLogger.recordAuditEventEnd(uuid, "rule", "policyVersion"); + assertNull(PolicyLogger.getEventTracker().getEventInfo().get(uuid.toString())); + } + + @Test + public void testRecordAuditEventEndStringString() { + eelfLogger.recordAuditEventStart("eventId"); + assertNotNull(PolicyLogger.getEventTracker().getEventInfo().get("eventId")); + + eelfLogger.recordAuditEventEnd("eventId", "rule"); + assertNull(PolicyLogger.getEventTracker().getEventInfo().get("eventId")); + } + + @Test + public void testRecordAuditEventEndUUIDString() { + UUID uuid = UUID.randomUUID(); + eelfLogger.recordAuditEventStart(uuid);; + assertNotNull(PolicyLogger.getEventTracker().getEventInfo().get(uuid.toString())); + + eelfLogger.recordAuditEventEnd(uuid, "rule"); + assertNull(PolicyLogger.getEventTracker().getEventInfo().get(uuid.toString())); + } + + @Test + public void testRecordMetricEventStringString() { + eelfLogger.recordMetricEvent("eventId", "str1"); + assertEquals("eventId", MDC.get(MDC_KEY_REQUEST_ID)); + } + + @Test + public void testRecordMetricEventUUIDString() { + UUID uuid = UUID.randomUUID(); + eelfLogger.recordMetricEvent(uuid, "str2"); + assertEquals(uuid.toString(), MDC.get(MDC_KEY_REQUEST_ID)); + } + + @Test + public void testMetrics() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "metricsLogger", mockLogger); + eelfLogger.metrics(1); + Mockito.verify(mockLogger).info(Mockito.eq(MessageCodes.RULE_METRICS_INFO), Mockito.anyString(), Mockito.eq("1")); + } + + @Test + public void testErrorMessageCodesThrowableStringArray() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "errorLogger", mockLogger); + eelfLogger.error(MessageCodes.GENERAL_ERROR, new NullPointerException(), "str1", "str2"); + Mockito.verify(mockLogger).error((MessageCodes)Mockito.any(), Mockito.startsWith("str1:str2:java.lang.NullPointerException")); + } + + @Test + public void testErrorMessageCodesStringArray() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "errorLogger", mockLogger); + eelfLogger.error(MessageCodes.GENERAL_ERROR, "str1", "str2"); + Mockito.verify(mockLogger).error(MessageCodes.GENERAL_ERROR, "str1", "str2"); + + } + + @Test + public void testPostMDCInfoForEventString() { + eelfLogger.postMDCInfoForEvent("transactionId"); + assertEquals("transactionId", MDC.get(MDC_KEY_REQUEST_ID)); + } + + @Test + public void testWarnMessageCodesStringArray() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + eelfLogger.warn(MessageCodes.GENERAL_ERROR, "str1", "str2"); + Mockito.verify(mockLogger).warn(MessageCodes.GENERAL_ERROR, "str1", "str2"); + } + + @Test + public void testWarnMessageCodesThrowableStringArray() { + EELFLogger mockLogger = Mockito.mock(EELFLogger.class); + overrideStaticField(PolicyLogger.class, "debugLogger", mockLogger); + eelfLogger.warn(MessageCodes.GENERAL_ERROR, new NullPointerException(), "str1", "str2"); + Mockito.verify(mockLogger).warn((MessageCodes)Mockito.any(), Mockito.startsWith("str1:str2:java.lang.NullPointerException")); + + } + + @Test + public void testPostMDCInfoForTriggeredRule() { + eelfLogger.postMDCInfoForTriggeredRule("transactionId"); + assertEquals("transactionId", MDC.get(MDC_KEY_REQUEST_ID)); + } + + @Test + public void testPostMDCInfoForEventObject() { + eelfLogger.postMDCInfoForEvent(1); + assertEquals("1", MDC.get(MDC_KEY_REQUEST_ID)); + } + +} -- cgit 1.2.3-korg