aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorToine Siebelink <toine.siebelink@est.tech>2022-07-14 08:41:38 +0000
committerGerrit Code Review <gerrit@onap.org>2022-07-14 08:41:38 +0000
commit0ebc29f94ccca51fe3c2fcba21ff43f7b35beec6 (patch)
tree064066fc6b51086296bab96ae9c8bc69ea55b047
parent97c875cf3fea520563e1819209ab826f8c03fd5e (diff)
parente338a80e47aede5374d0127e844f915b12242776 (diff)
Merge "Refactor unit test for Notification Error Handler"
-rw-r--r--cps-service/src/test/groovy/org/onap/cps/notification/NotificationErrorHandlerSpec.groovy31
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]")
}
}