summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/onap/sdc/common/onaplog/OnapLoggerErrorTest.java
diff options
context:
space:
mode:
authork.kedron <k.kedron@partner.samsung.com>2019-06-18 09:24:41 +0200
committerOfir Sonsino <ofir.sonsino@intl.att.com>2019-06-23 10:00:22 +0000
commita5b875badca6bc73d18d609a91cdfddfb5a0f396 (patch)
tree2fab10de2f35b1cb2bbec4c48f06eff11dfb3344 /src/test/java/org/onap/sdc/common/onaplog/OnapLoggerErrorTest.java
parentbbb56de1b8f5ab2322fea0a7537bfe1b9c23a366 (diff)
Improved unit tests for onaplog package.
Added new tests to OnapLoggerDebug, OnapLoggerError and OnapLoggerMetric test. Updated unit tests for the OnapLoggerAudit and OnapLoggerGeneric. Issue-ID: SDC-2327 Signed-off-by: Krystian Kedron <k.kedron@partner.samsung.com> Change-Id: Icc6fa07fd9b91be0b441956df9f01a9bff9b5723
Diffstat (limited to 'src/test/java/org/onap/sdc/common/onaplog/OnapLoggerErrorTest.java')
-rw-r--r--src/test/java/org/onap/sdc/common/onaplog/OnapLoggerErrorTest.java129
1 files changed, 129 insertions, 0 deletions
diff --git a/src/test/java/org/onap/sdc/common/onaplog/OnapLoggerErrorTest.java b/src/test/java/org/onap/sdc/common/onaplog/OnapLoggerErrorTest.java
new file mode 100644
index 0000000..3d61abd
--- /dev/null
+++ b/src/test/java/org/onap/sdc/common/onaplog/OnapLoggerErrorTest.java
@@ -0,0 +1,129 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2019 Samsung. 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.sdc.common.onaplog;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+
+import org.junit.Test;
+
+import org.onap.sdc.common.onaplog.Enums.LogLevel;
+import org.onap.sdc.common.onaplog.Enums.OnapLoggerErrorCode;
+import org.slf4j.MDC;
+
+import uk.org.lidalia.slf4jtest.LoggingEvent;
+
+public class OnapLoggerErrorTest {
+
+ private static final String TEST_CLASS_NAME = OnapLoggerAudit.class.getName();
+
+ private static final String DUMMY_SERVICE_NAME = "testName";
+ private static final String EXPECTED_SERVICE_NAME = "DCAE";
+
+ private static final String LOG_MESSAGE = "Test Message";
+ private static final String KEY_REQUEST_ID = "4321";
+ private static final String TARGET_ENTITY = "testEntity";
+ private static final String ERROR_DESC = "error";
+
+ @Test
+ public void testLoggerErrorFullFlow() {
+
+ // given
+ OnapLoggerError error = OnapLoggerFactory.getLogger(OnapLoggerError.class);
+ assertNotNull(error);
+ LoggerAdapter adapter = new LoggerAdapter(OnapLoggerError.class);
+
+ setupMDC(error);
+ validateMDC();
+
+ // when
+ error.startTimer();
+ error.log(LogLevel.ERROR, TEST_CLASS_NAME, LOG_MESSAGE);
+ error.log(LogLevel.WARN, TEST_CLASS_NAME, LOG_MESSAGE);
+ error.log(LogLevel.INFO, TEST_CLASS_NAME, LOG_MESSAGE);
+ error.log(LogLevel.DEBUG, TEST_CLASS_NAME, LOG_MESSAGE);
+
+ // then
+ ImmutableList<LoggingEvent> logs = adapter.getLoggingEvents();
+ validateErrorLog(LogLevel.ERROR, logs.get(0));
+ validateErrorLog(LogLevel.WARN, logs.get(1));
+ validateErrorLog(LogLevel.INFO, logs.get(2));
+ validateErrorLog(LogLevel.DEBUG, logs.get(3));
+
+ MDC.clear();
+ }
+
+ @Test
+ public void testCleanLoggerDebug() {
+ // given
+ OnapLoggerError error = OnapLoggerFactory.getLogger(OnapLoggerError.class);
+ assertNotNull(error);
+
+ error.onapMDCWrapper.setMandatoryField(OnapLogConfiguration.MDC_KEY_REQUEST_ID);
+ error.onapMDCWrapper.setMandatoryField(OnapLogConfiguration.MDC_SERVICE_NAME);
+ error.onapMDCWrapper.setMandatoryField(OnapLogConfiguration.MDC_TARGET_ENTITY);
+ error.setKeyRequestId(KEY_REQUEST_ID);
+ error.setServiceName(DUMMY_SERVICE_NAME);
+ error.setTargetEntity(TARGET_ENTITY);
+
+ // when
+ error.clear();
+
+ // then
+ assertNull(MDC.get(OnapLogConfiguration.MDC_KEY_REQUEST_ID));
+ assertNull(MDC.get(OnapLogConfiguration.MDC_SERVICE_NAME));
+ assertNull(MDC.get(OnapLogConfiguration.MDC_TARGET_ENTITY));
+ }
+
+ private void setupMDC(OnapLoggerError error) {
+ error.setKeyRequestId(KEY_REQUEST_ID)
+ .setServiceName(DUMMY_SERVICE_NAME)
+ .setTargetEntity(TARGET_ENTITY);
+ }
+
+ private void validateMDC() {
+ assertEquals(KEY_REQUEST_ID, MDC.get(OnapLogConfiguration.MDC_KEY_REQUEST_ID));
+ assertEquals(DUMMY_SERVICE_NAME, MDC.get(OnapLogConfiguration.MDC_SERVICE_NAME));
+ assertEquals(TARGET_ENTITY, MDC.get(OnapLogConfiguration.MDC_TARGET_ENTITY));
+ }
+
+ private void validateErrorLog(LogLevel logLevel, LoggingEvent log) {
+ assertEquals(logLevel.name(), log.getLevel().name());
+ assertEquals(LOG_MESSAGE, log.getMessage());
+ assertNotNull(log.getTimestamp());
+
+ ImmutableMap<String, String> mdc = log.getMdc();
+
+ assertEquals(TEST_CLASS_NAME, mdc.get(OnapLogConfiguration.MDC_CLASS_NAME));
+ assertEquals(EXPECTED_SERVICE_NAME, mdc.get(OnapLogConfiguration.MDC_SERVICE_NAME));
+ assertEquals(KEY_REQUEST_ID, mdc.get(OnapLogConfiguration.MDC_KEY_REQUEST_ID));
+
+ assertEquals(Integer.toString(OnapLoggerErrorCode.UNKNOWN_ERROR.getErrorCode()),
+ mdc.get(OnapLogConfiguration.MDC_ERROR_CODE));
+ assertEquals(ERROR_DESC, mdc.get(OnapLogConfiguration.MDC_ERROR_DESC));
+
+ assertNotNull(mdc.get(OnapLogConfiguration.MDC_BEGIN_TIMESTAMP));
+ }
+} \ No newline at end of file