summaryrefslogtreecommitdiffstats
path: root/cps-ncmp-service
diff options
context:
space:
mode:
Diffstat (limited to 'cps-ncmp-service')
-rw-r--r--cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java7
-rw-r--r--cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy14
2 files changed, 20 insertions, 1 deletions
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java
index 762b21ef34..d6857d36ae 100644
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java
+++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsService.java
@@ -24,6 +24,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.onap.ncmp.cmhandle.event.lcm.LcmEvent;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.kafka.KafkaException;
import org.springframework.stereotype.Service;
/**
@@ -51,7 +52,11 @@ public class LcmEventsService {
*/
public void publishLcmEvent(final String cmHandleId, final LcmEvent lcmEvent) {
if (notificationsEnabled) {
- lcmEventsPublisher.publishEvent(topicName, cmHandleId, lcmEvent);
+ try {
+ lcmEventsPublisher.publishEvent(topicName, cmHandleId, lcmEvent);
+ } catch (final KafkaException e) {
+ log.error("Unable to publish message to topic : {} and cause : {}", topicName, e.getMessage());
+ }
} else {
log.debug("Notifications disabled.");
}
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy
index 1eae357bb6..ef399e1c65 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy
@@ -21,6 +21,7 @@
package org.onap.cps.ncmp.api.impl.event.lcm
import org.onap.ncmp.cmhandle.event.lcm.LcmEvent
+import org.springframework.kafka.KafkaException
import spock.lang.Specification
class LcmEventsServiceSpec extends Specification {
@@ -45,4 +46,17 @@ class LcmEventsServiceSpec extends Specification {
'disabled' | false || 0
}
+ def 'Unable to send message'(){
+ given: 'a cm handle id and Lcm Event and notification enabled'
+ def cmHandleId = 'test-cm-handle-id'
+ def lcmEvent = new LcmEvent(eventId: UUID.randomUUID().toString(), eventCorrelationId: cmHandleId)
+ objectUnderTest.notificationsEnabled = true
+ when: 'publisher set to throw an exception'
+ mockLcmEventsPublisher.publishEvent(*_) >> { throw new KafkaException('publishing failed')}
+ and: 'an event is publised'
+ objectUnderTest.publishLcmEvent(cmHandleId, lcmEvent)
+ then: 'the exception is just logged and not bubbled up'
+ noExceptionThrown()
+ }
+
}