Add default value for stateChangeResult field 36/142136/2
authorrameshiyer27 <ramesh.murugan.iyer@est.tech>
Mon, 29 Sep 2025 07:43:16 +0000 (08:43 +0100)
committerrameshiyer27 <ramesh.murugan.iyer@est.tech>
Mon, 29 Sep 2025 09:05:17 +0000 (10:05 +0100)
Issue-ID: POLICY-5459
Change-Id: I455398598295f8d1856a63628c0405c0cfcf48d6
Signed-off-by: rameshiyer27 <ramesh.murugan.iyer@est.tech>
models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationComposition.java
models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationCompositionDefinition.java
models/src/test/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionTest.java
runtime-acm/src/main/resources/db/changelog/changelog-1800.yaml
runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProviderTest.java
runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/instantiation/AutomationCompositionInstantiationProviderTest.java
runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/instantiation/rest/InstantiationControllerTest.java

index 0d643a3..942183b 100644 (file)
@@ -61,7 +61,7 @@ public class AutomationComposition extends ToscaEntity implements Comparable<Aut
 
     private Map<UUID, AutomationCompositionElement> elements;
 
-    private StateChangeResult stateChangeResult;
+    private StateChangeResult stateChangeResult = StateChangeResult.NO_ERROR;
 
     private UUID revisionId = UUID.randomUUID();
 
index 4c79399..81ee8af 100644 (file)
@@ -44,7 +44,7 @@ public class AutomationCompositionDefinition {
     @NonNull
     private AcTypeState state;
 
-    private StateChangeResult stateChangeResult;
+    private StateChangeResult stateChangeResult = StateChangeResult.NO_ERROR;
 
     @NonNull
     private String lastMsg;
index 3c9daae..5a94dbb 100644 (file)
@@ -175,9 +175,9 @@ class JpaAutomationCompositionTest {
         assertEquals(0, jpaAutomationComposition.compareTo(otherJpaAutomationComposition));
 
         jpaAutomationComposition.setStateChangeResult(StateChangeResult.NO_ERROR);
-        assertNotEquals(0, jpaAutomationComposition.compareTo(otherJpaAutomationComposition));
-        jpaAutomationComposition.setStateChangeResult(null);
         assertEquals(0, jpaAutomationComposition.compareTo(otherJpaAutomationComposition));
+        jpaAutomationComposition.setStateChangeResult(null);
+        assertNotEquals(0, jpaAutomationComposition.compareTo(otherJpaAutomationComposition));
 
         assertEquals(jpaAutomationComposition, new JpaAutomationComposition(jpaAutomationComposition));
     }
index d2ae729..42faace 100644 (file)
@@ -48,3 +48,41 @@ databaseChangeLog:
                   defaultValue: 0
                   constraints:
                     nullable: false
+
+  - changeSet:
+      id: 1800-4
+      author: policy
+      changes:
+        - addDefaultValue:
+            tableName: AutomationCompositionDefinition
+            columnName: stateChangeResult
+            defaultValue: 0
+        - update:
+            tableName: AutomationCompositionDefinition
+            columns:
+              - column:
+                  name: stateChangeResult
+                  value: 0
+            where: stateChangeResult IS NULL
+        - addNotNullConstraint:
+            tableName: AutomationCompositionDefinition
+            columnName: stateChangeResult
+
+  - changeSet:
+      id: 1800-5
+      author: policy
+      changes:
+        - addDefaultValue:
+            tableName: AutomationComposition
+            columnName: stateChangeResult
+            defaultValue: 0
+        - update:
+            tableName: AutomationComposition
+            columns:
+              - column:
+                  name: stateChangeResult
+                  value: 0
+            where: stateChangeResult IS NULL
+        - addNotNullConstraint:
+            tableName: AutomationComposition
+            columnName: stateChangeResult
index 517ee56..8765ac9 100644 (file)
@@ -23,6 +23,7 @@ package org.onap.policy.clamp.acm.runtime.commissioning;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
@@ -44,6 +45,7 @@ import org.onap.policy.clamp.models.acm.concepts.AcTypeState;
 import org.onap.policy.clamp.models.acm.concepts.AutomationComposition;
 import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionDefinition;
 import org.onap.policy.clamp.models.acm.concepts.NodeTemplateState;
+import org.onap.policy.clamp.models.acm.concepts.StateChangeResult;
 import org.onap.policy.clamp.models.acm.messages.rest.commissioning.AcTypeStateUpdate;
 import org.onap.policy.clamp.models.acm.messages.rest.commissioning.PrimeOrder;
 import org.onap.policy.clamp.models.acm.persistence.provider.AcDefinitionProvider;
@@ -104,6 +106,10 @@ class CommissioningProviderTest {
             CommonTestData.TOSCA_ELEMENT_NAME, CommonTestData.TOSCA_COMP_NAME);
         // Response should return the number of node templates present in the service template
         assertThat(affectedDefinitions).hasSize(7);
+
+        assertEquals(StateChangeResult.NO_ERROR,
+                acDefinitionProvider.createAutomationCompositionDefinition(serviceTemplate,
+                        CommonTestData.TOSCA_ELEMENT_NAME, CommonTestData.TOSCA_COMP_NAME).getStateChangeResult());
     }
 
     /**
index ee74568..6179cfb 100644 (file)
@@ -23,6 +23,7 @@ package org.onap.policy.clamp.acm.runtime.instantiation;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
@@ -151,6 +152,9 @@ class AutomationCompositionInstantiationProviderTest {
 
         verify(acProvider).createAutomationComposition(automationCompositionCreate);
 
+        assertEquals(StateChangeResult.NO_ERROR, acProvider.createAutomationComposition(automationCompositionCreate)
+                .getStateChangeResult());
+
         when(acProvider.getAutomationCompositions(compositionId, automationCompositionCreate.getName(),
                 automationCompositionCreate.getVersion(), Pageable.unpaged()))
                 .thenReturn(List.of(automationCompositionCreate));
index 17c66f6..88da730 100644 (file)
@@ -471,7 +471,7 @@ class InstantiationControllerTest extends CommonRestController {
         validateQueryPageable("instances?size=4", 10); // only works if page is also informed, so listAll
         validateQueryPageable("instances?stateChangeResult=FAILED,TIMEOUT", 0);
         validateQueryPageable("instances?deployState=UNDEPLOYED", 10);
-        validateQueryPageable("instances?stateChangeResult=NO_ERROR&deployState=UNDEPLOYED", 0);
+        validateQueryPageable("instances?stateChangeResult=NO_ERROR&deployState=UNDEPLOYED", 10);
         validateQueryPageable("instances?sort=name&sortOrder=DESC", 10);
     }