diff options
Diffstat (limited to 'cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/avc/SubscriptionEventConsumerSpec.groovy')
-rw-r--r-- | cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/avc/SubscriptionEventConsumerSpec.groovy | 36 |
1 files changed, 27 insertions, 9 deletions
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 7a9dadebc..248eb8bbe 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 @@ -21,6 +21,8 @@ package org.onap.cps.ncmp.api.impl.event.avc import com.fasterxml.jackson.databind.ObjectMapper +import org.onap.cps.ncmp.api.impl.subscriptions.SubscriptionPersistence +import org.onap.cps.ncmp.api.impl.yangmodels.YangModelSubscriptionEvent import org.onap.cps.ncmp.api.kafka.MessagingBaseSpec import org.onap.cps.ncmp.event.model.SubscriptionEvent import org.onap.cps.ncmp.utils.TestUtils @@ -32,13 +34,17 @@ import org.springframework.boot.test.context.SpringBootTest @SpringBootTest(classes = [ObjectMapper, JsonObjectMapper]) class SubscriptionEventConsumerSpec extends MessagingBaseSpec { - def subscriptionEventForwarder = Mock(SubscriptionEventForwarder) - def objectUnderTest = new SubscriptionEventConsumer(subscriptionEventForwarder) + def mockSubscriptionEventForwarder = Mock(SubscriptionEventForwarder) + def mockSubscriptionEventMapper = Mock(SubscriptionEventMapper) + def mockSubscriptionPersistence = Mock(SubscriptionPersistence) + def objectUnderTest = new SubscriptionEventConsumer(mockSubscriptionEventForwarder, mockSubscriptionEventMapper, mockSubscriptionPersistence) + + def yangModelSubscriptionEvent = new YangModelSubscriptionEvent() @Autowired JsonObjectMapper jsonObjectMapper - def 'Consume and forward valid CM create message'() { + def 'Consume, persist and forward valid CM create message'() { given: 'an event with data category CM' def jsonData = TestUtils.getResourceFileContent('avcSubscriptionCreationEvent.json') def testEventSent = jsonObjectMapper.convertJsonString(jsonData, SubscriptionEvent.class) @@ -46,11 +52,15 @@ class SubscriptionEventConsumerSpec extends MessagingBaseSpec { objectUnderTest.notificationFeatureEnabled = true when: 'the valid event is consumed' objectUnderTest.consumeSubscriptionEvent(testEventSent) - then: 'the event is forwarded' - 1 * subscriptionEventForwarder.forwardCreateSubscriptionEvent(testEventSent) + then: 'the event is mapped to a yangModelSubscription' + 1 * mockSubscriptionEventMapper.toYangModelSubscriptionEvent(testEventSent) >> yangModelSubscriptionEvent + and: 'the event is persisted' + 1 * mockSubscriptionPersistence.saveSubscriptionEvent(yangModelSubscriptionEvent) + and: 'the event is forwarded' + 1 * mockSubscriptionEventForwarder.forwardCreateSubscriptionEvent(testEventSent) } - def 'Consume valid CM create message where notifications are disabled'() { + def 'Consume and persist valid CM create message where notifications are disabled'() { given: 'an event with data category CM' def jsonData = TestUtils.getResourceFileContent('avcSubscriptionCreationEvent.json') def testEventSent = jsonObjectMapper.convertJsonString(jsonData, SubscriptionEvent.class) @@ -58,8 +68,12 @@ class SubscriptionEventConsumerSpec extends MessagingBaseSpec { objectUnderTest.notificationFeatureEnabled = false when: 'the valid event is consumed' objectUnderTest.consumeSubscriptionEvent(testEventSent) - then: 'the event is forwarded' - 0 * subscriptionEventForwarder.forwardCreateSubscriptionEvent(testEventSent) + then: 'the event is mapped to a yangModelSubscription' + 1 * mockSubscriptionEventMapper.toYangModelSubscriptionEvent(testEventSent) >> yangModelSubscriptionEvent + and: 'the event is persisted' + 1 * mockSubscriptionPersistence.saveSubscriptionEvent(yangModelSubscriptionEvent) + and: 'the event is not forwarded' + 0 * mockSubscriptionEventForwarder.forwardCreateSubscriptionEvent(*_) } def 'Consume valid FM message'() { @@ -72,8 +86,12 @@ class SubscriptionEventConsumerSpec extends MessagingBaseSpec { objectUnderTest.consumeSubscriptionEvent(testEventSent) then: 'no exception is thrown' noExceptionThrown() + and: 'the event is not mapped to a yangModelSubscription' + 0 * mockSubscriptionEventMapper.toYangModelSubscriptionEvent(testEventSent) >> yangModelSubscriptionEvent + and: 'the event is not persisted' + 0 * mockSubscriptionPersistence.saveSubscriptionEvent(yangModelSubscriptionEvent) and: 'No event is forwarded' - 0 * subscriptionEventForwarder.forwardCreateSubscriptionEvent(*_) + 0 * mockSubscriptionEventForwarder.forwardCreateSubscriptionEvent(*_) } def 'Consume event with wrong datastore causes an exception'() { |