diff options
author | Toine Siebelink <toine.siebelink@est.tech> | 2022-07-14 08:41:38 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2022-07-14 08:41:38 +0000 |
commit | 0ebc29f94ccca51fe3c2fcba21ff43f7b35beec6 (patch) | |
tree | 064066fc6b51086296bab96ae9c8bc69ea55b047 | |
parent | 97c875cf3fea520563e1819209ab826f8c03fd5e (diff) | |
parent | e338a80e47aede5374d0127e844f915b12242776 (diff) |
Merge "Refactor unit test for Notification Error Handler"
-rw-r--r-- | cps-service/src/test/groovy/org/onap/cps/notification/NotificationErrorHandlerSpec.groovy | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/cps-service/src/test/groovy/org/onap/cps/notification/NotificationErrorHandlerSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/notification/NotificationErrorHandlerSpec.groovy index 4cacc43656..d0cd47383f 100644 --- a/cps-service/src/test/groovy/org/onap/cps/notification/NotificationErrorHandlerSpec.groovy +++ b/cps-service/src/test/groovy/org/onap/cps/notification/NotificationErrorHandlerSpec.groovy @@ -19,23 +19,40 @@ package org.onap.cps.notification +import ch.qos.logback.classic.Logger +import ch.qos.logback.classic.spi.ILoggingEvent +import ch.qos.logback.core.read.ListAppender +import org.junit.jupiter.api.AfterEach +import org.junit.jupiter.api.BeforeEach +import org.slf4j.LoggerFactory + import spock.lang.Specification class NotificationErrorHandlerSpec extends Specification{ NotificationErrorHandler objectUnderTest = new NotificationErrorHandler() + def logWatcher = Spy(ListAppender<ILoggingEvent>) + + @BeforeEach + void setup() { + ((Logger) LoggerFactory.getLogger(NotificationErrorHandler.class)).addAppender(logWatcher); + logWatcher.start(); + } + + @AfterEach + void teardown() { + ((Logger) LoggerFactory.getLogger(NotificationErrorHandler.class)).detachAndStopAllAppenders(); + } def 'Logging exception via notification error handler'() { - given: 'redirect system.out to a readable stream' - def systemOutAsStream = new ByteArrayOutputStream() - System.out = new PrintStream(systemOutAsStream) when: 'some exception occurs' objectUnderTest.onException(new Exception('sample exception'), 'some context') then: 'log output results contains the correct error details' - def systemOutAsString = systemOutAsStream.toString() - systemOutAsString.contains('Failed to process') - systemOutAsString.contains('Error cause: sample exception') - systemOutAsString.contains('Error context: [some context]') + def logMessage = logWatcher.list.get(0).getFormattedMessage() + logMessage.contains( + "Failed to process \n" + + " Error cause: sample exception \n" + + " Error context: [some context]") } } |