DMI CmSubscription topic params update 81/138081/2
authorseanbeirne <sean.beirne@est.tech>
Fri, 24 May 2024 14:51:02 +0000 (15:51 +0100)
committerseanbeirne <sean.beirne@est.tech>
Mon, 27 May 2024 13:54:22 +0000 (14:54 +0100)
Issue-ID: CPS-2242
Change-Id: I4628e28a14bab7b15c615d13d6aea7ae97409f5a
Signed-off-by: seanbeirne <sean.beirne@est.tech>
src/main/java/org/onap/cps/ncmp/dmi/notifications/cmsubscription/CmNotificationSubscriptionDmiInEventConsumer.java
src/main/resources/application.yml
src/test/groovy/org/onap/cps/ncmp/dmi/notifications/cmsubscription/CmNotificationSubscriptionDmiInEventConsumerSpec.groovy

index da6243c..3a9838b 100644 (file)
@@ -38,8 +38,8 @@ import org.springframework.stereotype.Service;
 public class CmNotificationSubscriptionDmiInEventConsumer {
 
 
-    @Value("${app.dmi.avc.subscription-response-topic}")
-    private String cmNotificationSubscriptionResponseTopic;
+    @Value("${app.dmi.avc.cm-subscription-dmi-out}")
+    private String cmNotificationSubscriptionDmiOutTopic;
     @Value("${dmi.service.name}")
     private String dmiName;
     private final KafkaTemplate<String, CloudEvent> cloudEventKafkaTemplate;
@@ -49,7 +49,7 @@ public class CmNotificationSubscriptionDmiInEventConsumer {
      *
      * @param cmNotificationSubscriptionDmiInCloudEvent the event to be consumed
      */
-    @KafkaListener(topics = "${app.dmi.avc.subscription-topic}",
+    @KafkaListener(topics = "${app.dmi.avc.cm-subscription-dmi-in}",
         containerFactory = "cloudEventConcurrentKafkaListenerContainerFactory")
     public void consumeCmNotificationSubscriptionDmiInEvent(
         final ConsumerRecord<String, CloudEvent> cmNotificationSubscriptionDmiInCloudEvent) {
@@ -62,10 +62,10 @@ public class CmNotificationSubscriptionDmiInEventConsumer {
             final String correlationId = String.valueOf(cmNotificationSubscriptionDmiInCloudEvent.value()
                 .getExtension("correlationid"));
 
-            if ("subscriptionCreated".equals(subscriptionType)) {
+            if ("subscriptionCreateRequest".equals(subscriptionType)) {
                 createAndSendCmNotificationSubscriptionDmiOutEvent(subscriptionId, "subscriptionCreateResponse",
                     correlationId, CmNotificationSubscriptionStatus.ACCEPTED);
-            } else if ("subscriptionDeleted".equals(subscriptionType)) {
+            } else if ("subscriptionDeleteRequest".equals(subscriptionType)) {
                 createAndSendCmNotificationSubscriptionDmiOutEvent(subscriptionId, "subscriptionDeleteResponse",
                     correlationId, CmNotificationSubscriptionStatus.ACCEPTED);
             }
@@ -92,12 +92,12 @@ public class CmNotificationSubscriptionDmiInEventConsumer {
             cmNotificationSubscriptionDmiOutEventData.setStatusCode("1");
             cmNotificationSubscriptionDmiOutEventData.setStatusMessage("ACCEPTED");
         } else {
-            cmNotificationSubscriptionDmiOutEventData.setStatusCode("2");
+            cmNotificationSubscriptionDmiOutEventData.setStatusCode("104");
             cmNotificationSubscriptionDmiOutEventData.setStatusMessage("REJECTED");
         }
         cmNotificationSubscriptionDmiOutEvent.setData(cmNotificationSubscriptionDmiOutEventData);
 
-        cloudEventKafkaTemplate.send(cmNotificationSubscriptionResponseTopic, eventKey,
+        cloudEventKafkaTemplate.send(cmNotificationSubscriptionDmiOutTopic, eventKey,
             CmNotificationSubscriptionDmiOutEventToCloudEventMapper.toCloudEvent(cmNotificationSubscriptionDmiOutEvent,
                 subscriptionType, dmiName, correlationId));
 
index 732f46d..003aa19 100644 (file)
@@ -1,5 +1,5 @@
 #  ============LICENSE_START=======================================================
-#  Copyright (C) 2021-2023 Nordix Foundation
+#  Copyright (C) 2021-2024 Nordix Foundation
 #  Modifications Copyright (C) 2021 Bell Canada.
 #  ================================================================================
 #  Licensed under the Apache License, Version 2.0 (the "License");
@@ -72,8 +72,8 @@ app:
       topic: ${NCMP_ASYNC_M2M_TOPIC:ncmp-async-m2m}
   dmi:
     avc:
-      subscription-topic: ${DMI_CM_AVC_SUBSCRIPTION:ncmp-dmi-cm-avc-subscription-${dmi.service.name}}
-      subscription-response-topic: ${DMI_CM_AVC_SUBSCRIPTION_RESPONSE:dmi-ncmp-cm-avc-subscription}
+      cm-subscription-dmi-in: ${CM_SUBSCRIPTION_DMI_IN_TOPIC:ncmp-dmi-cm-avc-subscription}
+      cm-subscription-dmi-out: ${CM_SUBSCRIPTION_DMI_OUT_TOPIC:dmi-ncmp-cm-avc-subscription}
 
 notification:
   async:
index aa331c4..f1f476f 100644 (file)
@@ -47,12 +47,12 @@ import java.time.OffsetDateTime
 import java.time.ZoneId
 
 
-@SpringBootTest(classes = [CmNotificationSubscriptionDmiInEventConsumer])
 @Testcontainers
 @DirtiesContext
 class CmNotificationSubscriptionDmiInEventConsumerSpec extends MessagingBaseSpec {
     def objectMapper = new ObjectMapper()
     def testTopic = 'dmi-ncmp-cm-avc-subscription'
+    def testDmiName = 'test-ncmp-dmi'
 
     @SpringBean
     CmNotificationSubscriptionDmiInEventConsumer objectUnderTest = new CmNotificationSubscriptionDmiInEventConsumer(cloudEventKafkaTemplate)
@@ -70,8 +70,8 @@ class CmNotificationSubscriptionDmiInEventConsumerSpec extends MessagingBaseSpec
 
     def 'Sends subscription cloud event response successfully.'() {
         given: 'an subscription event response'
-            objectUnderTest.dmiName = 'test-ncmp-dmi'
-            objectUnderTest.cmNotificationSubscriptionResponseTopic = testTopic
+            objectUnderTest.dmiName = testDmiName
+            objectUnderTest.cmNotificationSubscriptionDmiOutTopic = testTopic
             def correlationId = 'test-subscriptionId#test-ncmp-dmi'
             def cmSubscriptionDmiOutEventData = new Data(statusCode: subscriptionStatusCode, statusMessage: subscriptionStatusMessage)
             def subscriptionEventResponse =
@@ -94,17 +94,17 @@ class CmNotificationSubscriptionDmiInEventConsumerSpec extends MessagingBaseSpec
         where: 'given #scenario'
             scenario                   | subscriptionAcceptanceType                 | subscriptionStatusCode | subscriptionStatusMessage
             'Subscription is Accepted' | CmNotificationSubscriptionStatus.ACCEPTED  | '1'                    | 'ACCEPTED'
-            'Subscription is Rejected' | CmNotificationSubscriptionStatus.REJECTED  | '2'                    | 'REJECTED'
+            'Subscription is Rejected' | CmNotificationSubscriptionStatus.REJECTED  | '104'                    | 'REJECTED'
     }
 
     def 'Consume valid message.'() {
         given: 'an event'
-            objectUnderTest.dmiName = 'test-ncmp-dmi'
+            objectUnderTest.dmiName = testDmiName
             def eventKey = UUID.randomUUID().toString()
             def timestamp = new Timestamp(1679521929511)
             def jsonData = TestUtils.getResourceFileContent('cmNotificationSubscriptionCreationEvent.json')
             def subscriptionEvent = objectMapper.readValue(jsonData, CmNotificationSubscriptionDmiInEvent.class)
-            objectUnderTest.cmNotificationSubscriptionResponseTopic = testTopic
+            objectUnderTest.cmNotificationSubscriptionDmiOutTopic = testTopic
             def cloudEvent = CloudEventBuilder.v1().withId(UUID.randomUUID().toString()).withSource(URI.create('test-ncmp-dmi'))
                     .withType(subscriptionType)
                     .withDataSchema(URI.create("urn:cps:" + CmNotificationSubscriptionDmiInEvent.class.getName() + ":1.0.0"))
@@ -124,11 +124,11 @@ class CmNotificationSubscriptionDmiInEventConsumerSpec extends MessagingBaseSpec
 
     def 'Consume invalid message.'() {
         given: 'an invalid event body'
-            objectUnderTest.dmiName = 'test-ncmp-dmi'
+            objectUnderTest.dmiName = testDmiName
             def eventKey = UUID.randomUUID().toString()
             def timestamp = new Timestamp(1679521929511)
             def invalidJsonBody = "/////"
-            objectUnderTest.cmNotificationSubscriptionResponseTopic = testTopic
+            objectUnderTest.cmNotificationSubscriptionDmiOutTopic = testTopic
             def cloudEvent = CloudEventBuilder.v1().withId(UUID.randomUUID().toString()).withSource(URI.create('test-ncmp-dmi'))
                     .withType("subscriptionCreated")
                     .withDataSchema(URI.create("urn:cps:org.onap.ncmp.dmi.cm.subscription:1.0.0"))