From 7f6b1b0add6878e996e559c15337f46339c98901 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Tue, 20 Feb 2018 13:41:59 -0500 Subject: Increase junit coverage in ONAP-logging Added some junit tests to increase coverage of ONAP-logger. Many classes still need test cases. Also fixed some sonar issues: Returned interface instead of ConcurrentHashMap. Used EnumMap instead of HashMap. Used StringBuilder instead of StringBuffer. Replaced literals with constants. Replaced enum1.toString().equals(enum2.toString()) with enum1 == enum2 Updated license dates. Updated another license date. Change-Id: I777b6a913d7d03187a29dfeb817800b386ee23aa Issue-ID: POLICY-582 Signed-off-by: Jim Hahn --- .../common/logging/eelf/DroolsPDPMDCInfo.java | 7 +- .../policy/common/logging/eelf/ErrorCodeMap.java | 8 +- .../policy/common/logging/eelf/EventTrackInfo.java | 9 +- .../common/logging/eelf/EventTrackInfoHandler.java | 7 +- .../onap/policy/common/logging/eelf/MDCInfo.java | 8 +- .../policy/common/logging/eelf/PolicyLogger.java | 95 +++++------ .../common/logging/flexlogger/EelfLogger.java | 20 +-- .../policy/common/logging/flexlogger/Logger4J.java | 10 +- .../common/logging/flexlogger/SystemOutLogger.java | 16 +- .../common/logging/eelf/DroolsPDPMDCInfoTest.java | 43 +++++ .../policy/common/logging/eelf/EventDataTest.java | 174 +++++++++++++++++++++ .../logging/eelf/EventTrackInfoHandlerTest.java | 130 +++++++++++++++ .../common/logging/eelf/EventTrackInfoTest.java | 130 +++++++++++++++ 13 files changed, 565 insertions(+), 92 deletions(-) create mode 100644 common-logging/src/test/java/org/onap/policy/common/logging/eelf/DroolsPDPMDCInfoTest.java create mode 100644 common-logging/src/test/java/org/onap/policy/common/logging/eelf/EventDataTest.java create mode 100644 common-logging/src/test/java/org/onap/policy/common/logging/eelf/EventTrackInfoHandlerTest.java create mode 100644 common-logging/src/test/java/org/onap/policy/common/logging/eelf/EventTrackInfoTest.java diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/DroolsPDPMDCInfo.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/DroolsPDPMDCInfo.java index c1e99822..ae4cc929 100644 --- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/DroolsPDPMDCInfo.java +++ b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/DroolsPDPMDCInfo.java @@ -1,8 +1,8 @@ -/*- +/* * ============LICENSE_START======================================================= * ONAP-Logging * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 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. @@ -21,6 +21,7 @@ package org.onap.policy.common.logging.eelf; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; public class DroolsPDPMDCInfo implements MDCInfo { @@ -43,7 +44,7 @@ public class DroolsPDPMDCInfo implements MDCInfo { * @return the instance of ConcurrentHashMap */ @Override - public ConcurrentHashMap getMDCInfo() { + public ConcurrentMap getMDCInfo() { return mdcMap; } } diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/ErrorCodeMap.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/ErrorCodeMap.java index 6d347c9c..4df86a4d 100644 --- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/ErrorCodeMap.java +++ b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/ErrorCodeMap.java @@ -1,8 +1,8 @@ -/*- +/* * ============LICENSE_START======================================================= * ONAP-Logging * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 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. @@ -20,7 +20,7 @@ package org.onap.policy.common.logging.eelf; -import java.util.HashMap; +import java.util.EnumMap; /** * @@ -30,7 +30,7 @@ import java.util.HashMap; public class ErrorCodeMap { - protected static final HashMap hm = new HashMap<>(); + protected static final EnumMap hm = new EnumMap<>(MessageCodes.class); private static final String ERROR_PERMISSIONS = "POLICY-100E"; private static final String ERROR_PERMISSIONS_DESCRIPTION = "This is a Permissions Error. Please check the error message for detail information"; diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfo.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfo.java index 6c31a990..077a5a70 100644 --- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfo.java +++ b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfo.java @@ -1,8 +1,8 @@ -/*- +/* * ============LICENSE_START======================================================= * ONAP-Logging * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 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. @@ -21,13 +21,14 @@ package org.onap.policy.common.logging.eelf; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; /** * EventTrackInfo contains a ConcurrentHashMap of EventData. */ public class EventTrackInfo { - private ConcurrentHashMap eventInfo = null; + private final ConcurrentMap eventInfo; public EventTrackInfo() { /* @@ -78,7 +79,7 @@ public class EventTrackInfo { /** * Returns a ConcurrentHashMap of EventData */ - public ConcurrentHashMap getEventInfo() { + public ConcurrentMap getEventInfo() { return eventInfo; } } diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfoHandler.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfoHandler.java index 12f1af61..a79ab521 100644 --- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfoHandler.java +++ b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/EventTrackInfoHandler.java @@ -1,8 +1,8 @@ -/*- +/* * ============LICENSE_START======================================================= * ONAP-Logging * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 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. @@ -25,6 +25,7 @@ import java.time.Instant; import java.util.ArrayList; import java.util.TimerTask; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; /** * @@ -54,7 +55,7 @@ public class EventTrackInfoHandler extends TimerTask { if (eventTrackInfo == null) { return; } - ConcurrentHashMap eventInfo = eventTrackInfo.getEventInfo(); + ConcurrentMap eventInfo = eventTrackInfo.getEventInfo(); if (eventInfo == null || eventInfo.isEmpty()) { return; } diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MDCInfo.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MDCInfo.java index 0d0b5dff..f49b34a7 100644 --- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MDCInfo.java +++ b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MDCInfo.java @@ -1,8 +1,8 @@ -/*- +/* * ============LICENSE_START======================================================= * ONAP-Logging * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 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. @@ -20,7 +20,7 @@ package org.onap.policy.common.logging.eelf; -import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; /** * @@ -34,5 +34,5 @@ public interface MDCInfo { * Returns MDC info. * @return MDC info */ - ConcurrentHashMap getMDCInfo(); + ConcurrentMap getMDCInfo(); } diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/PolicyLogger.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/PolicyLogger.java index b43dca45..58db1da4 100644 --- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/PolicyLogger.java +++ b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/PolicyLogger.java @@ -1,8 +1,8 @@ -/*- +/* * ============LICENSE_START======================================================= * ONAP-Logging * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 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. @@ -20,12 +20,9 @@ package org.onap.policy.common.logging.eelf; -import org.slf4j.MDC; - import static org.onap.policy.common.logging.eelf.Configuration.*; import org.onap.policy.common.logging.flexlogger.LoggerType; -import org.onap.policy.common.logging.eelf.PolicyLogger; import com.att.eelf.configuration.EELFLogger; import com.att.eelf.configuration.EELFLogger.Level; import com.att.eelf.configuration.EELFManager; @@ -43,7 +40,9 @@ import java.util.Properties; import java.util.Timer; import java.util.TimerTask; import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +import org.slf4j.MDC; /** * @@ -63,6 +62,8 @@ public class PolicyLogger { private static EELFLogger debugLogger = EELFManager.getInstance() .getDebugLogger(); + + private static final String POLICY_LOGGER = "PolicyLogger"; private static EventTrackInfo eventTracker = new EventTrackInfo(); @@ -95,7 +96,7 @@ public class PolicyLogger { private static Level auditLevel = Level.INFO; private static Level metricsLevel = Level.INFO; private static Level errorLevel = Level.ERROR; - private static String CLASS_NAME = "ClassName"; + private static String classNameProp = "ClassName"; private static final String DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS+00:00"; private static final String COMPLETE_STATUS = "COMPLETE"; @@ -107,7 +108,7 @@ public class PolicyLogger { hostName = InetAddress.getLocalHost().getHostName(); hostAddress = InetAddress.getLocalHost().getHostAddress(); } catch (UnknownHostException e) { - PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "PolicyLogger", "UnknownHostException"); + PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, POLICY_LOGGER, "UnknownHostException"); } } } @@ -145,11 +146,11 @@ public class PolicyLogger { } public static String getClassname() { - return CLASS_NAME; + return classNameProp; } public static synchronized void setClassname(String name) { - CLASS_NAME = name; + classNameProp = name; } /** @@ -184,7 +185,7 @@ public class PolicyLogger { MDC.put(MDC_SERVER_FQDN, hostName); MDC.put(MDC_SERVER_IP_ADDRESS, hostAddress); } catch (Exception e) { - errorLogger.error(MessageCodes.EXCEPTION_ERROR, e, "PolicyLogger"); + errorLogger.error(MessageCodes.EXCEPTION_ERROR, e, POLICY_LOGGER); } Instant startTime = Instant.now(); Instant endTime = Instant.now(); @@ -225,7 +226,7 @@ public class PolicyLogger { MDC.put(MDC_KEY_REQUEST_ID, transId); if(mdcInfo != null && mdcInfo.getMDCInfo() != null && !mdcInfo.getMDCInfo().isEmpty()){ - ConcurrentHashMap mdcMap = mdcInfo.getMDCInfo(); + ConcurrentMap mdcMap = mdcInfo.getMDCInfo(); Iterator keyIterator = mdcMap.keySet().iterator(); String key; @@ -239,7 +240,7 @@ public class PolicyLogger { MDC.put(MDC_SERVER_FQDN, hostName); MDC.put(MDC_SERVER_IP_ADDRESS, hostAddress); } catch (Exception e) { - errorLogger.error(MessageCodes.EXCEPTION_ERROR, e, "PolicyLogger"); + errorLogger.error(MessageCodes.EXCEPTION_ERROR, e, POLICY_LOGGER); } Instant startTime = Instant.now(); Instant endTime = Instant.now(); @@ -336,7 +337,7 @@ public class PolicyLogger { MDC.put(MDC_SERVER_FQDN, hostName); MDC.put(MDC_SERVER_IP_ADDRESS, hostAddress); } catch (Exception e) { - errorLogger.error(MessageCodes.EXCEPTION_ERROR, e, "PolicyLogger"); + errorLogger.error(MessageCodes.EXCEPTION_ERROR, e, POLICY_LOGGER); } MDC.put(MDC_INSTANCE_UUID, ""); MDC.put(MDC_ALERT_SEVERITY, ""); @@ -363,7 +364,7 @@ public class PolicyLogger { * @param arguments */ public static void info(MessageCodes msg, String... arguments) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); debugLogger.info(msg, arguments); } @@ -374,7 +375,7 @@ public class PolicyLogger { * @param arguments */ public static void info(MessageCodes msg, String className, String... arguments) { - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); debugLogger.info(msg, arguments); } @@ -384,7 +385,7 @@ public class PolicyLogger { * @param arg0 */ public static void info( String className, String arg0) { - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); debugLogger.info(MessageCodes.GENERAL_INFO, arg0); } @@ -394,7 +395,7 @@ public class PolicyLogger { * @param arg0 */ public static void info(Object arg0) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); debugLogger.info(MessageCodes.GENERAL_INFO, String.valueOf(arg0)); } @@ -406,7 +407,7 @@ public class PolicyLogger { */ public static void info(MessageCodes msg, Throwable arg0, String... arguments) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); String arguments2 = getNormalizedStackTrace(arg0, arguments); debugLogger.info(msg, arguments2); } @@ -420,7 +421,7 @@ public class PolicyLogger { */ public static void info(MessageCodes msg, String className, Throwable arg0, String... arguments) { - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); String arguments2 = getNormalizedStackTrace(arg0, arguments); debugLogger.info(msg, arguments2); } @@ -431,7 +432,7 @@ public class PolicyLogger { * @param className class name */ public static void warn( String className, String arg0) { - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); debugLogger.warn(MessageCodes.GENERAL_INFO, arg0); } @@ -440,7 +441,7 @@ public class PolicyLogger { * @param arg0 */ public static void warn(Object arg0) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); debugLogger.warn(MessageCodes.GENERAL_WARNING, "" + arg0); } @@ -449,7 +450,7 @@ public class PolicyLogger { * @param arg0 */ public static void warn(String arg0) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); debugLogger.warn(MessageCodes.GENERAL_WARNING, arg0); } @@ -459,7 +460,7 @@ public class PolicyLogger { * @param arguments */ public static void warn(MessageCodes msg, String... arguments) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); debugLogger.warn(msg, arguments); } @@ -470,7 +471,7 @@ public class PolicyLogger { * @param arguments */ public static void warn(MessageCodes msg, String className, String... arguments) { - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); debugLogger.warn(msg, arguments); } @@ -482,7 +483,7 @@ public class PolicyLogger { */ public static void warn(MessageCodes msg, Throwable arg0, String... arguments) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); String arguments2 = getNormalizedStackTrace(arg0, arguments); debugLogger.warn(msg, arguments2); } @@ -496,7 +497,7 @@ public class PolicyLogger { */ public static void warn(MessageCodes msg, String className, Throwable arg0, String... arguments) { - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); String arguments2 = getNormalizedStackTrace(arg0, arguments); debugLogger.warn(msg, arguments2); } @@ -507,7 +508,7 @@ public class PolicyLogger { * @param arg0 log message */ public static void error( String className, String arg0) { - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); if(ErrorCodeMap.hm.get(MessageCodes.GENERAL_ERROR) != null){ MDC.put(ERROR_CODE, ErrorCodeMap.hm.get(MessageCodes.GENERAL_ERROR).getErrorCode()); MDC.put(ERROR_DESCRIPTION, ErrorCodeMap.hm.get(MessageCodes.GENERAL_ERROR).getErrorDesc()); @@ -521,7 +522,7 @@ public class PolicyLogger { * @param arg0 */ public static void error(String arg0) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); MDC.put(ERROR_CATEGORY, ERROR_CATEGORY_VALUE); if(ErrorCodeMap.hm.get(MessageCodes.GENERAL_ERROR) != null){ @@ -537,7 +538,7 @@ public class PolicyLogger { * @param arg0 */ public static void error(Object arg0) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); MDC.put(ERROR_CATEGORY, ERROR_CATEGORY_VALUE); if(ErrorCodeMap.hm.get(MessageCodes.GENERAL_ERROR) != null){ @@ -556,7 +557,7 @@ public class PolicyLogger { */ public static void error(MessageCodes msg, Throwable arg0, String... arguments) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); MDC.put(ERROR_CATEGORY, ERROR_CATEGORY_VALUE); if(ErrorCodeMap.hm.get(msg) != null){ @@ -577,7 +578,7 @@ public class PolicyLogger { */ public static void error(MessageCodes msg, String className, Throwable arg0, String... arguments) { - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); MDC.put(ERROR_CATEGORY, ERROR_CATEGORY_VALUE); if(ErrorCodeMap.hm.get(msg) != null){ @@ -595,7 +596,7 @@ public class PolicyLogger { * @param arguments */ public static void error(MessageCodes msg, String... arguments) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); MDC.put(ERROR_CATEGORY, ERROR_CATEGORY_VALUE); if(ErrorCodeMap.hm.get(msg) != null){ @@ -612,7 +613,7 @@ public class PolicyLogger { * @param arguments */ public static void debug(MessageCodes msg, String... arguments) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); debugLogger.debug(msg, arguments); } @@ -622,7 +623,7 @@ public class PolicyLogger { * @param arg0 */ public static void debug( String className, String arg0) { - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); debugLogger.debug(MessageCodes.GENERAL_INFO, arg0); } @@ -631,7 +632,7 @@ public class PolicyLogger { * @param arg0 */ public static void debug(String arg0) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); debugLogger.debug(arg0); } @@ -641,7 +642,7 @@ public class PolicyLogger { */ public static void debug(Object arg0) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); debugLogger.debug("" + arg0); } @@ -652,7 +653,7 @@ public class PolicyLogger { */ public static void audit(String className, Object arg0) { MDC.put(STATUS_CODE, COMPLETE_STATUS); - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); auditLogger.info("" + arg0); } @@ -662,7 +663,7 @@ public class PolicyLogger { */ public static void audit(Object arg0) { MDC.put(STATUS_CODE, COMPLETE_STATUS); - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); auditLogger.info("" + arg0); } @@ -674,7 +675,7 @@ public class PolicyLogger { */ public static void debug(MessageCodes msg, Throwable arg0, String... arguments) { - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); String arguments2 = getNormalizedStackTrace(arg0, arguments); errorLogger.error(msg, arguments2); } @@ -688,7 +689,7 @@ public class PolicyLogger { */ public static void debug(MessageCodes msg, String className, Throwable arg0, String... arguments) { - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); String arguments2 = getNormalizedStackTrace(arg0, arguments); errorLogger.error(msg, arguments2); } @@ -746,7 +747,7 @@ public class PolicyLogger { * @param arg0 */ public static void trace( String className, String arg0) { - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); errorLogger.info(MessageCodes.GENERAL_INFO, arg0); } @@ -756,7 +757,7 @@ public class PolicyLogger { */ public static void trace(Object arg0){ - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); debugLogger.trace(""+arg0); } /** @@ -1012,7 +1013,7 @@ public class PolicyLogger { seTimeStamps(); - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); String serviceName = MDC.get(MDC_SERVICE_NAME); MDC.put(MDC_KEY_REQUEST_ID, eventId); metricsLogger.info(MessageCodes.RULE_AUDIT_END_INFO, @@ -1063,7 +1064,7 @@ public class PolicyLogger { */ public static void metrics(String className, Object arg0) { seTimeStamps(); - MDC.put(CLASS_NAME, className); + MDC.put(classNameProp, className); String serviceName = MDC.get(MDC_SERVICE_NAME); metricsLogger.info(MessageCodes.RULE_METRICS_INFO, serviceName, ""+arg0); @@ -1075,7 +1076,7 @@ public class PolicyLogger { */ public static void metrics(Object arg0) { seTimeStamps(); - MDC.put(CLASS_NAME, ""); + MDC.put(classNameProp, ""); String serviceName = MDC.get(MDC_SERVICE_NAME); metricsLogger.info(MessageCodes.RULE_METRICS_INFO, serviceName, ""+arg0); @@ -1101,7 +1102,7 @@ public class PolicyLogger { t.printStackTrace(pw); String newStValue = sw.toString().replace ('|', '!').replace ("\n", " - "); int curSize = arguments == null ? 0 : arguments.length; - StringBuffer newArgument = new StringBuffer(); + StringBuilder newArgument = new StringBuilder(); for(int i=0; i info; + + private EventTrackInfoHandler hdlr; + + @BeforeClass + public static void setUpBeforeClass() { + tracker = PolicyLogger.getEventTracker(); + info = tracker.getEventInfo(); + } + + @Before + public void setUp() { + info.clear(); + + hdlr = new EventTrackInfoHandler(); + } + + @Test + public void testNoEvents() { + hdlr.run(); + assertEquals(0, info.size()); + } + + @Test + public void testNothingExpired() { + tracker.storeEventData(data1); + tracker.storeEventData(data2); + + hdlr.run(); + assertEquals(2, info.size()); + } + + @Test + public void testSomeExpired() { + // not expired + tracker.storeEventData(data1); + tracker.storeEventData(data2); + + // start time is expired + tracker.storeEventData(new EventData("expiredA", iexpired, inow)); + tracker.storeEventData(new EventData("expiredB", iexpired, inow)); + + // end time is expired, but that has no impact - these should be retained + EventData oka = new EventData("okA", inow, iexpired); + EventData okb = new EventData("okB", inow, iexpired); + + tracker.storeEventData(oka); + tracker.storeEventData(okb); + + hdlr.run(); + assertEquals(4, info.size()); + + assertEquals(data1, info.get("abc")); + assertEquals(data2, info.get("def")); + assertEquals(oka, info.get("okA")); + assertEquals(okb, info.get("okB")); + } + + @Test + public void testMultipleRuns() { + + hdlr.run(); + assertEquals(0, info.size()); + + // not expired + tracker.storeEventData(data1); + tracker.storeEventData(data2); + + hdlr.run(); + assertEquals(2, info.size()); + + // start time is expired + tracker.storeEventData(new EventData("expiredA", iexpired, inow)); + tracker.storeEventData(new EventData("expiredB", iexpired, inow)); + + // end time is expired, but that has no impact - these should be retained + tracker.storeEventData(new EventData("okA", inow, iexpired)); + tracker.storeEventData(new EventData("okB", inow, iexpired)); + + hdlr.run(); + assertEquals(4, info.size()); + + hdlr.run(); + assertEquals(4, info.size()); + } + +} diff --git a/common-logging/src/test/java/org/onap/policy/common/logging/eelf/EventTrackInfoTest.java b/common-logging/src/test/java/org/onap/policy/common/logging/eelf/EventTrackInfoTest.java new file mode 100644 index 00000000..3690bc5c --- /dev/null +++ b/common-logging/src/test/java/org/onap/policy/common/logging/eelf/EventTrackInfoTest.java @@ -0,0 +1,130 @@ +/* + * ============LICENSE_START======================================================= + * ONAP Policy Engine - Common Modules + * ================================================================================ + * Copyright (C) 2018 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.policy.common.logging.eelf; + +import static org.junit.Assert.*; + +import java.time.Instant; + +import org.junit.Before; +import org.junit.Test; + +/** + * + */ +public class EventTrackInfoTest { + + private static final Instant istart = Instant.ofEpochMilli(100000l); + private static final Instant iend = Instant.ofEpochMilli(200000l); + + private static final EventData data1 = new EventData("abc", istart, iend); + private static final EventData data2 = new EventData("def", iend, istart); + + private EventTrackInfo info; + + @Before + public void setUp() { + info = new EventTrackInfo(); + + } + + /** + * Test method for {@link EventTrackInfo#EventTrackInfo()}. + */ + @Test + public void testEventTrackInfo() { + assertNotNull(info.getEventInfo()); + } + + /** + * Test method for {@link EventTrackInfo#getEventDataByRequestID(String)}. + */ + @Test + public void testGetEventDataByRequestID() { + info.storeEventData(data1); + info.storeEventData(data2); + + assertTrue(data1 == info.getEventDataByRequestID("abc")); + assertTrue(data2 == info.getEventDataByRequestID("def")); + assertNull(info.getEventDataByRequestID("hello")); + } + + /** + * Test method for {@link EventTrackInfo#storeEventData(EventData)}. + */ + @Test + public void testStoreEventData() { + // should ignore null + info.storeEventData(null); + assertTrue(info.getEventInfo().isEmpty()); + + // should ignore if request id is null or empty + info.storeEventData(new EventData()); + info.storeEventData(new EventData("", istart, iend)); + assertTrue(info.getEventInfo().isEmpty()); + + info.storeEventData(data1); + info.storeEventData(data2); + assertEquals(2, info.getEventInfo().size()); + + // look-up by request id + assertTrue(data1 == info.getEventDataByRequestID("abc")); + assertTrue(data2 == info.getEventDataByRequestID("def")); + + // doesn't replace existing value + info.storeEventData(new EventData("abc", iend, istart)); + assertEquals(2, info.getEventInfo().size()); + assertTrue(data1 == info.getEventDataByRequestID("abc")); + assertTrue(data2 == info.getEventDataByRequestID("def")); + } + + /** + * Test method for {@link EventTrackInfo#remove(String)}. + */ + @Test + public void testRemove() { + info.storeEventData(data1); + info.storeEventData(data2); + + info.remove("abc"); + + // ensure only that item was removed + assertEquals(1, info.getEventInfo().size()); + + // look-up by request id + assertNull(info.getEventDataByRequestID("abc")); + assertTrue(data2 == info.getEventDataByRequestID("def")); + } + + /** + * Test method for {@link EventTrackInfo#getEventInfo()}. + */ + @Test + public void testGetEventInfo() { + info.storeEventData(data1); + info.storeEventData(data2); + + assertEquals(2, info.getEventInfo().size()); + assertTrue(data1 == info.getEventInfo().get("abc")); + assertTrue(data2 == info.getEventInfo().get("def")); + } + +} -- cgit 1.2.3-korg