From e8f0bc3380f52faa7c233070aadd080a81b3234f Mon Sep 17 00:00:00 2001 From: JulienBe Date: Thu, 4 Jun 2020 19:06:51 +0200 Subject: [PATCH] class passed to MdcLogger() is compared by name Issue-ID: SDC-3098 Signed-off-by: JulienBe Change-Id: I8b61218d1164a0ebff7f290ac82f1cdd67a5152a --- .../sdc/common/log/elements/LoggerFactory.java | 2 +- .../sdc/common/log/elements/LoggerFactoryTest.java | 62 ++++++++++++++++++++++ 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 common-app-logging/src/test/java/org/openecomp/sdc/common/log/elements/LoggerFactoryTest.java diff --git a/common-app-logging/src/main/java/org/openecomp/sdc/common/log/elements/LoggerFactory.java b/common-app-logging/src/main/java/org/openecomp/sdc/common/log/elements/LoggerFactory.java index f2f33b2457..fb97ebddee 100644 --- a/common-app-logging/src/main/java/org/openecomp/sdc/common/log/elements/LoggerFactory.java +++ b/common-app-logging/src/main/java/org/openecomp/sdc/common/log/elements/LoggerFactory.java @@ -53,7 +53,7 @@ public class LoggerFactory { return (V) new LoggerError(LogFieldsMdcHandler.getInstance(), logger); } - if (type.getName().equals(LoggerSupportability.class.getName())) { + if (type.isAssignableFrom(LoggerSupportability.class)) { return (V) new LoggerSupportability(LogFieldsMdcHandler.getInstance(), logger); } diff --git a/common-app-logging/src/test/java/org/openecomp/sdc/common/log/elements/LoggerFactoryTest.java b/common-app-logging/src/test/java/org/openecomp/sdc/common/log/elements/LoggerFactoryTest.java new file mode 100644 index 0000000000..0de4d9c045 --- /dev/null +++ b/common-app-logging/src/test/java/org/openecomp/sdc/common/log/elements/LoggerFactoryTest.java @@ -0,0 +1,62 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2020 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.openecomp.sdc.common.log.elements; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; + +import org.junit.jupiter.api.Test; +import org.mockito.Mock; +import org.slf4j.Logger; + +public class LoggerFactoryTest { + + @Mock + private Logger logger; + + @Test + public void getMdcLoggerInstantiateProperly() { + assertNotNull(LoggerFactory.getMdcLogger(LoggerAudit.class, logger)); + assertNotNull(LoggerFactory.getMdcLogger(LoggerDebug.class, logger)); + assertNotNull(LoggerFactory.getMdcLogger(LoggerMetric.class, logger)); + assertNotNull(LoggerFactory.getMdcLogger(LoggerError.class, logger)); + assertNotNull(LoggerFactory.getMdcLogger(LoggerSupportability.class, logger)); + } + + @Test + public void getLoggerInstantiateProperly() { + assertNotNull(LoggerFactory.getLogger(LoggerAudit.class, logger)); + assertNotNull(LoggerFactory.getLogger(LoggerDebug.class, logger)); + assertNotNull(LoggerFactory.getLogger(LoggerMetric.class, logger)); + assertNotNull(LoggerFactory.getLogger(LoggerError.class, logger)); + } + + @Test + public void getMdcLoggerReturnsNullForSomeInvalidClasses() { + assertNull(LoggerFactory.getMdcLogger(Integer.class, logger)); + } + + @Test + public void getLoggerReturnsNullForSomeInvalidClasses() { + assertNull(LoggerFactory.getLogger(Integer.class, logger)); + } + +} \ No newline at end of file -- 2.16.6