Add composition outProperties support in Deprime 42/135742/1
authorFrancescoFioraEst <francesco.fiora@est.tech>
Tue, 8 Aug 2023 15:58:25 +0000 (16:58 +0100)
committerAdheli Tavares <adheli.tavares@est.tech>
Wed, 9 Aug 2023 15:52:29 +0000 (15:52 +0000)
Issue-ID: POLICY-4784
Change-Id: I8d97d1cebc92c29b4b6842ad31f653664c09b0bf
Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
(cherry picked from commit ea5f81815a19d0b902e3c80f15d1b17c122bce76)

participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AutomationCompositionOutHandler.java
participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ParticipantHandler.java
participant/participant-intermediary/src/test/java/org/onap/policy/clamp/acm/participant/intermediary/handler/AutomationCompositionOutHandlerTest.java
participant/participant-intermediary/src/test/java/org/onap/policy/clamp/acm/participant/intermediary/handler/ParticipantHandlerTest.java

index bd5f142..6373ab5 100755 (executable)
@@ -224,5 +224,8 @@ public class AutomationCompositionOutHandler {
         participantPrimeAck.setState(ParticipantState.ON_LINE);
         publisher.sendParticipantPrimeAck(participantPrimeAck);
         cacheProvider.getMsgIdentification().remove(compositionId);
+        if (AcTypeState.COMMISSIONED.equals(state) && StateChangeResult.NO_ERROR.equals(stateChangeResult)) {
+            cacheProvider.removeElementDefinition(compositionId);
+        }
     }
 }
index c78c7bb..8f69fd5 100644 (file)
@@ -192,7 +192,6 @@ public class ParticipantHandler {
                     participantPrimeMsg.getCompositionId(), list);
         } else {
             // deprime
-            cacheProvider.removeElementDefinition(participantPrimeMsg.getCompositionId());
             automationCompositionHandler.deprime(participantPrimeMsg.getMessageId(),
                     participantPrimeMsg.getCompositionId());
         }
index 36c0c4b..4f2ee83 100755 (executable)
@@ -166,13 +166,28 @@ class AutomationCompositionOutHandlerTest {
     }
 
     @Test
-    void updateCompositionStateTest() {
+    void updateCompositionStatePrimedTest() {
         var cacheProvider = mock(CacheProvider.class);
         when(cacheProvider.getParticipantId()).thenReturn(UUID.randomUUID());
         var publisher = mock(ParticipantMessagePublisher.class);
         var acOutHandler = new AutomationCompositionOutHandler(publisher, cacheProvider);
-        acOutHandler.updateCompositionState(UUID.randomUUID(), AcTypeState.PRIMED, StateChangeResult.NO_ERROR,
+        var compositionId = UUID.randomUUID();
+        acOutHandler.updateCompositionState(compositionId, AcTypeState.PRIMED, StateChangeResult.NO_ERROR,
                 "Primed");
         verify(publisher).sendParticipantPrimeAck(any(ParticipantPrimeAck.class));
+        verify(cacheProvider, times(0)).removeElementDefinition(compositionId);
+    }
+
+    @Test
+    void updateCompositionStateDeprimingTest() {
+        var cacheProvider = mock(CacheProvider.class);
+        when(cacheProvider.getParticipantId()).thenReturn(UUID.randomUUID());
+        var publisher = mock(ParticipantMessagePublisher.class);
+        var acOutHandler = new AutomationCompositionOutHandler(publisher, cacheProvider);
+        var compositionId = UUID.randomUUID();
+        acOutHandler.updateCompositionState(compositionId, AcTypeState.COMMISSIONED, StateChangeResult.NO_ERROR,
+                "Deprimed");
+        verify(publisher).sendParticipantPrimeAck(any(ParticipantPrimeAck.class));
+        verify(cacheProvider).removeElementDefinition(compositionId);
     }
 }
index 68cffe3..2f1eb22 100644 (file)
@@ -208,7 +208,6 @@ class ParticipantHandlerTest {
         var messageId = UUID.randomUUID();
         participantPrime.setMessageId(messageId);
         participantHandler.handleParticipantPrime(participantPrime);
-        verify(cacheProvider).removeElementDefinition(compositionId);
         verify(acHandler).deprime(messageId, compositionId);
     }