diff options
Diffstat (limited to 'cps-ncmp-service')
2 files changed, 15 insertions, 6 deletions
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/avc/SubscriptionEventConsumer.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/avc/SubscriptionEventConsumer.java index 1361d98ffc..2685ce4ca9 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/avc/SubscriptionEventConsumer.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/event/avc/SubscriptionEventConsumer.java @@ -44,6 +44,9 @@ public class SubscriptionEventConsumer { @Value("${notification.enabled:true}") private boolean notificationFeatureEnabled; + @Value("${ncmp.model-loader.subscription:false}") + private boolean subscriptionModelLoaderEnabled; + /** * Consume the specified event. * @@ -60,7 +63,9 @@ public class SubscriptionEventConsumer { } if ("CM".equals(event.getDataType().getDataCategory())) { log.debug("Consuming event {} ...", subscriptionEvent); - persistSubscriptionEvent(subscriptionEvent); + if (subscriptionModelLoaderEnabled) { + persistSubscriptionEvent(subscriptionEvent); + } if ("CREATE".equals(subscriptionEvent.getEventType().value())) { log.info("Subscription for ClientID {} with name {} ...", event.getSubscription().getClientID(), diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/avc/SubscriptionEventConsumerSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/avc/SubscriptionEventConsumerSpec.groovy index 248eb8bbe2..d801e4ddf7 100644 --- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/avc/SubscriptionEventConsumerSpec.groovy +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/avc/SubscriptionEventConsumerSpec.groovy @@ -50,6 +50,8 @@ class SubscriptionEventConsumerSpec extends MessagingBaseSpec { def testEventSent = jsonObjectMapper.convertJsonString(jsonData, SubscriptionEvent.class) and: 'notifications are enabled' objectUnderTest.notificationFeatureEnabled = true + and: 'subscription model loader is enabled' + objectUnderTest.subscriptionModelLoaderEnabled = true when: 'the valid event is consumed' objectUnderTest.consumeSubscriptionEvent(testEventSent) then: 'the event is mapped to a yangModelSubscription' @@ -60,18 +62,20 @@ class SubscriptionEventConsumerSpec extends MessagingBaseSpec { 1 * mockSubscriptionEventForwarder.forwardCreateSubscriptionEvent(testEventSent) } - def 'Consume and persist valid CM create message where notifications are disabled'() { + def 'Consume valid CM create message where notifications and model loader are disabled'() { given: 'an event with data category CM' def jsonData = TestUtils.getResourceFileContent('avcSubscriptionCreationEvent.json') def testEventSent = jsonObjectMapper.convertJsonString(jsonData, SubscriptionEvent.class) and: 'notifications are disabled' objectUnderTest.notificationFeatureEnabled = false + and: 'subscription model loader is disabled' + objectUnderTest.subscriptionModelLoaderEnabled = false when: 'the valid event is consumed' objectUnderTest.consumeSubscriptionEvent(testEventSent) - then: 'the event is mapped to a yangModelSubscription' - 1 * mockSubscriptionEventMapper.toYangModelSubscriptionEvent(testEventSent) >> yangModelSubscriptionEvent - and: 'the event is persisted' - 1 * mockSubscriptionPersistence.saveSubscriptionEvent(yangModelSubscriptionEvent) + then: 'the event is not mapped to a yangModelSubscription' + 0 * mockSubscriptionEventMapper.toYangModelSubscriptionEvent(*_) >> yangModelSubscriptionEvent + and: 'the event is not persisted' + 0 * mockSubscriptionPersistence.saveSubscriptionEvent(*_) and: 'the event is not forwarded' 0 * mockSubscriptionEventForwarder.forwardCreateSubscriptionEvent(*_) } |