From 4b1861c863570af103e0c070e8834f97dfc35075 Mon Sep 17 00:00:00 2001 From: "k.kedron" Date: Thu, 6 Jun 2019 11:18:08 +0200 Subject: Add new test for OnapLoggerFactory and Stopwatch. Issue-ID: SDC-2327 Signed-off-by: Krystian Kedron Change-Id: Ib137a2ce8b7e31307b8b2f1483c79f9fa32599c5 --- pom.xml | 12 +++ .../org/onap/sdc/common/onaplog/LoggerAdapter.java | 40 ++++++++++ .../sdc/common/onaplog/OnapLoggerGenericTest.java | 91 ++++++++++++++++++++++ 3 files changed, 143 insertions(+) create mode 100644 src/test/java/org/onap/sdc/common/onaplog/LoggerAdapter.java create mode 100644 src/test/java/org/onap/sdc/common/onaplog/OnapLoggerGenericTest.java diff --git a/pom.xml b/pom.xml index f35d2dd..02740e5 100644 --- a/pom.xml +++ b/pom.xml @@ -94,6 +94,18 @@ 0.11 test + + uk.org.lidalia + slf4j-test + 1.0.0 + test + + + org.mockito + mockito-inline + 2.7.13 + test + diff --git a/src/test/java/org/onap/sdc/common/onaplog/LoggerAdapter.java b/src/test/java/org/onap/sdc/common/onaplog/LoggerAdapter.java new file mode 100644 index 0000000..ceb3d98 --- /dev/null +++ b/src/test/java/org/onap/sdc/common/onaplog/LoggerAdapter.java @@ -0,0 +1,40 @@ +/*- + * ============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 com.google.common.collect.ImmutableList; + +import uk.org.lidalia.slf4jtest.LoggingEvent; +import uk.org.lidalia.slf4jtest.TestLogger; +import uk.org.lidalia.slf4jtest.TestLoggerFactory; + +class LoggerAdapter { + + private TestLogger logger; + + LoggerAdapter(Class clazz) { + this.logger = TestLoggerFactory.getTestLogger(clazz); + } + + ImmutableList getLoggingEvents() { + return logger.getLoggingEvents(); + } +} \ No newline at end of file diff --git a/src/test/java/org/onap/sdc/common/onaplog/OnapLoggerGenericTest.java b/src/test/java/org/onap/sdc/common/onaplog/OnapLoggerGenericTest.java new file mode 100644 index 0000000..57adcd3 --- /dev/null +++ b/src/test/java/org/onap/sdc/common/onaplog/OnapLoggerGenericTest.java @@ -0,0 +1,91 @@ +/*- + * ============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 org.junit.Test; +import org.onap.sdc.common.onaplog.interfaces.IOnapLogConfiguration; +import org.slf4j.MDC; +import uk.org.lidalia.slf4jtest.LoggingEvent; + +public class OnapLoggerGenericTest { + + private static final String FIRST_ERROR_EXPECTED_MESSAGE = "call to stop without calling start first, " + + "this is not compliant with EELF format"; + private static final String SECOND_ERROR_EXPECTED_MESSAGE = "failed to calculate elapsed time"; + private static final String ERROR = "ERROR"; + + @Test + public void stopWatchTest() { + // given + Stopwatch stopwatch = new Stopwatch(); + + // when + stopwatch.start(); + stopwatch.stop(); + + // then + assertNotNull(MDC.get(IOnapLogConfiguration.MDC_BEGIN_TIMESTAMP)); + assertNotNull(MDC.get(IOnapLogConfiguration.MDC_END_TIMESTAMP)); + assertNotNull(MDC.get(IOnapLogConfiguration.MDC_ELAPSED_TIME)); + } + + @Test + public void stopWatchFailTest() { + // given + Stopwatch stopwatch = new Stopwatch(); + LoggerAdapter adapter = new LoggerAdapter(Stopwatch.class); + + // when + stopwatch.stop(); + ImmutableList logs = adapter.getLoggingEvents(); + + // then + LoggingEvent log = logs.get(0); + assertEquals(ERROR, log.getLevel().name()); + assertEquals(FIRST_ERROR_EXPECTED_MESSAGE, log.getMessage()); + + log = logs.get(1); + assertEquals(ERROR, log.getLevel().name()); + assertEquals(SECOND_ERROR_EXPECTED_MESSAGE, log.getMessage()); + } + + @Test + public void onapLoggerFactoryTest() { + + OnapLoggerAudit audit = OnapLoggerFactory.getLogger(OnapLoggerAudit.class); + OnapLoggerDebug debug = OnapLoggerFactory.getLogger(OnapLoggerDebug.class); + OnapLoggerMetric metric = OnapLoggerFactory.getLogger(OnapLoggerMetric.class); + OnapLoggerError error = OnapLoggerFactory.getLogger(OnapLoggerError.class); + Stopwatch stopwatch = OnapLoggerFactory.getLogger(Stopwatch.class); + + assertNotNull(audit); + assertNotNull(debug); + assertNotNull(metric); + assertNotNull(error); + + assertNull(stopwatch); + } +} -- cgit 1.2.3-korg