Add or Delete a PNF to an Active Service 46/134246/3 1.12.1
authorSreeja Gattagouni <sg00744975@techmahindra.com>
Fri, 21 Apr 2023 05:10:34 +0000 (05:10 +0000)
committerLukasz Rajewski <lukasz.rajewski@t-mobile.pl>
Mon, 24 Apr 2023 13:19:53 +0000 (13:19 +0000)
-Unique values for ready & update
-concurrent changes in OOM/Configmap of so-bpm-infra-app

Issue-ID: SO-4046
Change-ID: I73f97f986a817d423f92f8d925dcd0347b8a0405
Signed-off-by: Sreeja Gattagouni <sg00744975@techmahindra.com>
Signed-off-by: Lukasz Rajewski <lukasz.rajewski@t-mobile.pl>
bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/dmaap/PnfEventReadyDmaapClient.java
bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/dmaap/PnfEventReadyDmaapClientTest.java
docs/tox.ini

index 1a25388..f215d49 100644 (file)
@@ -50,7 +50,8 @@ public class PnfEventReadyDmaapClient implements DmaapClient {
     private int topicListenerDelayInSeconds;
     private volatile ScheduledThreadPoolExecutor executor;
     private volatile boolean dmaapThreadListenerIsRunning;
-    private String topicName;
+
+
 
     @Autowired
     public PnfEventReadyDmaapClient(Environment env) {
@@ -58,31 +59,19 @@ public class PnfEventReadyDmaapClient implements DmaapClient {
         pnfCorrelationIdToThreadMap = new ConcurrentHashMap<>();
         topicListenerDelayInSeconds = env.getProperty("pnf.dmaap.topicListenerDelayInSeconds", Integer.class);
         executor = null;
-        topicName = env.getProperty("pnf.dmaap.topicName");
-        String[] topic = topicName.split("\\s");
-        String pnf_ready = null;
-        String pnf_update = null;
-        for (String t : topic) {
-            if (t.matches("(.*)PNF_READY(.*)")) {
-                pnf_ready = t;
-            } else if (t.matches("(.*)PNF_UPDATE(.*)")) {
-                pnf_update = t;
-            } else {
-                return;
-            }
-        }
         getRequestForpnfReady = new HttpGet(UriBuilder.fromUri(env.getProperty("pnf.dmaap.uriPathPrefix"))
                 .scheme(env.getProperty("pnf.dmaap.protocol")).host(env.getProperty("pnf.dmaap.host"))
-                .port(env.getProperty("pnf.dmaap.port", Integer.class)).path(pnf_ready)
-                .path(env.getProperty("pnf.dmaap.consumerGroup")).path(env.getProperty("pnf.dmaap.consumerId"))
-                .build());
+                .port(env.getProperty("pnf.dmaap.port", Integer.class))
+                .path(env.getProperty("pnf.dmaap.pnfReadyTopicName")).path(env.getProperty("pnf.dmaap.consumerGroup"))
+                .path(env.getProperty("pnf.dmaap.consumerId")).build());
         getRequestForPnfUpdate = new HttpGet(UriBuilder.fromUri(env.getProperty("pnf.dmaap.uriPathPrefix"))
                 .scheme(env.getProperty("pnf.dmaap.protocol")).host(env.getProperty("pnf.dmaap.host"))
-                .port(env.getProperty("pnf.dmaap.port", Integer.class)).path(pnf_update)
-                .path(env.getProperty("pnf.dmaap.consumerGroup")).path(env.getProperty("pnf.dmaap.consumerId"))
-                .build());
+                .port(env.getProperty("pnf.dmaap.port", Integer.class))
+                .path(env.getProperty("pnf.dmaap.pnfUpdateTopicName")).path(env.getProperty("pnf.dmaap.consumerGroup"))
+                .path(env.getProperty("pnf.dmaap.consumerIdUpdate")).build());
     }
 
+
     @Override
     public synchronized void registerForUpdate(String pnfCorrelationId, Runnable informConsumer) {
         logger.debug("registering for pnf ready dmaap event for pnf correlation id: {}", pnfCorrelationId);
@@ -162,3 +151,4 @@ public class PnfEventReadyDmaapClient implements DmaapClient {
         }
     }
 }
+
index 5d98464..bbb6aad 100644 (file)
@@ -67,9 +67,11 @@ public class PnfEventReadyDmaapClientTest {
     private static final int PORT = 1234;
     private static final String PROTOCOL = "http";
     private static final String URI_PATH_PREFIX = "eventsForTesting";
-    private static final String TOPIC_NAME = "PNF_READY_Test PNF_UPDATE_Test";
-    private static final String CONSUMER_ID = "consumerTestId";
-    private static final String CONSUMER_GROUP = "consumerGroupTest";
+    private static final String TOPIC_NAME = "unauthenticated.PNF_READY";
+    private static final String TOPIC_NAME_UPDATE = "unauthenticated.PNF_UPDATE";
+    private static final String CONSUMER_ID = "so-bpmn-infra-pnfready";
+    private static final String CONSUMER_ID_UPDATE = "so-bpmn-infra-pnfupdate";
+    private static final String CONSUMER_GROUP = "so-consumer";
     private static final int TOPIC_LISTENER_DELAY_IN_SECONDS = 5;
 
     @Mock
@@ -87,8 +89,10 @@ public class PnfEventReadyDmaapClientTest {
         when(env.getProperty(eq("pnf.dmaap.host"))).thenReturn(HOST);
         when(env.getProperty(eq("pnf.dmaap.protocol"))).thenReturn(PROTOCOL);
         when(env.getProperty(eq("pnf.dmaap.uriPathPrefix"))).thenReturn(URI_PATH_PREFIX);
-        when(env.getProperty(eq("pnf.dmaap.topicName"))).thenReturn(TOPIC_NAME);
+        when(env.getProperty(eq("pnf.dmaap.pnfReadyTopicName"))).thenReturn(TOPIC_NAME);
+        when(env.getProperty(eq("pnf.dmaap.pnfUpdateTopicName"))).thenReturn(TOPIC_NAME_UPDATE);
         when(env.getProperty(eq("pnf.dmaap.consumerId"))).thenReturn(CONSUMER_ID);
+        when(env.getProperty(eq("pnf.dmaap.consumerIdUpdate"))).thenReturn(CONSUMER_ID_UPDATE);
         when(env.getProperty(eq("pnf.dmaap.consumerGroup"))).thenReturn(CONSUMER_GROUP);
         when(env.getProperty(eq("pnf.dmaap.topicListenerDelayInSeconds"), eq(Integer.class)))
                 .thenReturn(TOPIC_LISTENER_DELAY_IN_SECONDS);
@@ -120,15 +124,9 @@ public class PnfEventReadyDmaapClientTest {
         assertEquals(captor1.getValue().getURI().getHost(), HOST);
         assertEquals(captor1.getValue().getURI().getPort(), PORT);
         assertEquals(captor1.getValue().getURI().getScheme(), PROTOCOL);
-        String[] topic = TOPIC_NAME.split("\\s");
-        String pnf_update = null;
-        for (String t : topic) {
-            if (t.matches("(.*)PNF_UPDATE(.*)")) {
-                pnf_update = t;
-                assertEquals(captor1.getValue().getURI().getPath(),
-                        "/" + URI_PATH_PREFIX + "/" + pnf_update + "/" + CONSUMER_GROUP + "/" + CONSUMER_ID + "");
-            }
-        }
+        assertEquals(captor1.getValue().getURI().getPath(),
+                "/" + URI_PATH_PREFIX + "/" + TOPIC_NAME_UPDATE + "/" + CONSUMER_GROUP + "/" + CONSUMER_ID_UPDATE + "");
+
         verify(threadMockToNotifyCamundaFlow).run();
         verify(executorMock).shutdown();
     }
@@ -146,15 +144,11 @@ public class PnfEventReadyDmaapClientTest {
         assertEquals(captor1.getValue().getURI().getHost(), HOST);
         assertEquals(captor1.getValue().getURI().getPort(), PORT);
         assertEquals(captor1.getValue().getURI().getScheme(), PROTOCOL);
-        String[] topic = TOPIC_NAME.split("\\s");
-        String pnf_ready = null;
-        for (String t : topic) {
-            if (t.matches("(.*)PNF_READY(.*)")) {
-                pnf_ready = t;
-                assertEquals(captor1.getValue().getURI().getPath(),
-                        "/" + URI_PATH_PREFIX + "/" + pnf_ready + "/" + CONSUMER_GROUP + "/" + CONSUMER_ID + "");
-            }
-        }
+
+        assertEquals(captor1.getValue().getURI().getPath(),
+                "/" + URI_PATH_PREFIX + "/" + TOPIC_NAME + "/" + CONSUMER_GROUP + "/" + CONSUMER_ID + "");
+
+
         verify(threadMockToNotifyCamundaFlow).run();
         verify(executorMock).shutdown();
     }
@@ -234,4 +228,3 @@ public class PnfEventReadyDmaapClientTest {
     }
 
 }
-
index 9b45c81..833cd33 100644 (file)
@@ -12,7 +12,7 @@ deps =
 commands =
     sphinx-build -W -q -b html -n -d {envtmpdir}/doctrees ./ {toxinidir}/_build/html
     echo "Generated docs available in {toxinidir}/_build/html"
-whitelist_externals =
+allowlist_externals =
     echo
     git
     sh
@@ -25,7 +25,7 @@ deps =
     -chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt
 commands = echo "Link Checking not enforced"
 #commands = sphinx-build -W -q -b linkcheck -d {envtmpdir}/doctrees ./ {toxinidir}/_build/linkcheck
-whitelist_externals = echo
+allowlist_externals = echo
 
 [testenv:docs-spellcheck]
 basepython = python3.8