diff options
author | Guo Ruijing <ruijing.guo@intel.com> | 2017-07-28 08:23:01 +0000 |
---|---|---|
committer | Guo Ruijing <ruijing.guo@intel.com> | 2017-07-28 08:23:30 +0000 |
commit | 6abeb297254942c48722c2da0e7c355d523fe307 (patch) | |
tree | f2b006ec6ca8804633e2f74a6f1b40c90683f1ea /feature-eelf/src/test/java/org/onap | |
parent | d1d749ae390c276fc10c4985d0080f0a9ff7ff35 (diff) |
[POLICY-72] replace openecomp for drools-pdp
Change-Id: I8aa8e32d3ba10f7c655b50e97aaf6865514d4777
Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
Diffstat (limited to 'feature-eelf/src/test/java/org/onap')
-rw-r--r-- | feature-eelf/src/test/java/org/onap/policy/drools/eelf/test/EElfTest.java | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/feature-eelf/src/test/java/org/onap/policy/drools/eelf/test/EElfTest.java b/feature-eelf/src/test/java/org/onap/policy/drools/eelf/test/EElfTest.java new file mode 100644 index 00000000..f7003706 --- /dev/null +++ b/feature-eelf/src/test/java/org/onap/policy/drools/eelf/test/EElfTest.java @@ -0,0 +1,146 @@ +/*- + * ============LICENSE_START======================================================= + * feature-eelf + * ================================================================================ + * Copyright (C) 2017 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.drools.eelf.test; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.Test; +import org.onap.policy.common.logging.flexlogger.FlexLogger; +import org.onap.policy.drools.eelf.EelfFeature; +import org.onap.policy.drools.system.Main; +import org.onap.policy.drools.system.PolicyEngine; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.att.eelf.configuration.Configuration; +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFLogger.Level; +import com.att.eelf.configuration.EELFManager; + +import ch.qos.logback.classic.LoggerContext; + +/** + * Logger Tests + */ +public class EElfTest { + + /** + * logback configuration location + */ + public final static String LOGBACK_CONFIGURATION_FILE_DEFAULT = "src/main/feature/config/logback-eelf.xml"; + + /** + * SLF4J Logger + */ + private final Logger slf4jLogger = LoggerFactory.getLogger(EElfTest.class); + + /** + * get all loggers + * @return list of all loggers + */ + protected List<String> loggers() { + List<String> loggers = new ArrayList<String>(); + LoggerContext context = + (LoggerContext) org.slf4j.LoggerFactory.getILoggerFactory(); + for (org.slf4j.Logger logger: context.getLoggerList()) { + loggers.add(logger.getName()); + } + slf4jLogger.info(loggers.toString()); + return loggers; + } + + /** + * Assert Log Levels are the same between an EELF Logger and an SLF4J Logger + * + * @param eelfLogger EELF Logger + * @param slf4jLogger SLF4J Logger + */ + protected void assertLogLevels(EELFLogger eelfLogger, Logger slf4jLogger) { + assertTrue(slf4jLogger.isDebugEnabled() == eelfLogger.isDebugEnabled()); + assertTrue(slf4jLogger.isInfoEnabled() == eelfLogger.isInfoEnabled()); + assertTrue(slf4jLogger.isErrorEnabled() == eelfLogger.isErrorEnabled()); + assertTrue(slf4jLogger.isWarnEnabled() == eelfLogger.isWarnEnabled()); + assertTrue(slf4jLogger.isTraceEnabled() == eelfLogger.isTraceEnabled()); + } + + @Test + public void slf4jLog() { + + /* standard slf4j using defaults */ + + slf4jLogger.info("slf4j info"); + + List<String> loggers = loggers(); + + assertFalse(loggers.contains(Configuration.DEBUG_LOGGER_NAME)); + assertFalse(loggers.contains(Configuration.AUDIT_LOGGER_NAME)); + assertFalse(loggers.contains(Configuration.ERROR_LOGGER_NAME)); + assertFalse(loggers.contains(Configuration.METRICS_LOGGER_NAME)); + + /* set logback configuration */ + + System.setProperty(Main.LOGBACK_CONFIGURATION_FILE_SYSTEM_PROPERTY, + LOGBACK_CONFIGURATION_FILE_DEFAULT); + + /* set up eelf throuth common loggings library */ + + EelfFeature feature = new EelfFeature(); + feature.beforeBoot(PolicyEngine.manager, null); + + loggers = loggers(); + assertTrue(loggers.contains(Configuration.DEBUG_LOGGER_NAME)); + assertTrue(loggers.contains(Configuration.AUDIT_LOGGER_NAME)); + assertTrue(loggers.contains(Configuration.ERROR_LOGGER_NAME)); + assertTrue(loggers.contains(Configuration.METRICS_LOGGER_NAME)); + + EELFLogger eelfAuditLogger = EELFManager.getInstance().getAuditLogger(); + Logger slf4jAuditLogger = org.slf4j.LoggerFactory.getLogger(Configuration.AUDIT_LOGGER_NAME); + org.onap.policy.common.logging.flexlogger.Logger flexLogger = + FlexLogger.getLogger(EElfTest.class, true); + + /* generate an error entry */ + + Exception testException = new IllegalStateException("exception test"); + flexLogger.error("flex-logger exception", testException); + EELFManager.getInstance().getErrorLogger().error("eelf-logger exception", testException); + org.slf4j.LoggerFactory.getLogger(Configuration.ERROR_LOGGER_NAME).error("slf4j-logger", testException); + + + /* generate an audit entry through all logs */ + + flexLogger.audit("flexlogger audit"); + eelfAuditLogger.info("eelf audit"); + slf4jAuditLogger.info("slf4j audit"); + + /* check log levels in eelf and standard slf4j change in both directions */ + + /* eelf initiated */ + eelfAuditLogger.setLevel(Level.ERROR); + assertLogLevels(eelfAuditLogger, slf4jAuditLogger); + + /* slf4j initiated */ + ((ch.qos.logback.classic.Logger) slf4jLogger).setLevel((ch.qos.logback.classic.Level.INFO)); + assertLogLevels(eelfAuditLogger, slf4jAuditLogger); + } +} |