Update Pdp Group state per PAP API 77/98777/1
authorJim Hahn <jrh3@att.com>
Fri, 22 Nov 2019 19:57:22 +0000 (14:57 -0500)
committerJim Hahn <jrh3@att.com>
Fri, 22 Nov 2019 19:57:22 +0000 (14:57 -0500)
The PAP API can be used to update the state of a Pdp Group.  However,
the state wasn't being updated - fixed.

Issue-ID: POLICY-2269
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I67fa3409424cfdb4b53b17e86f4cf354732d87e8

main/src/main/java/org/onap/policy/pap/main/rest/depundep/PdpGroupDeployProvider.java
main/src/test/java/org/onap/policy/pap/main/rest/depundep/TestPdpGroupDeployProvider.java

index da9e46f..2f94d39 100644 (file)
@@ -192,6 +192,8 @@ public class PdpGroupDeployProvider extends ProviderBase {
         }
 
         boolean updated = updateField(dbgroup.getDescription(), group.getDescription(), dbgroup::setDescription);
+        updated = updateField(dbgroup.getPdpGroupState(), group.getPdpGroupState(), dbgroup::setPdpGroupState)
+                        || updated;
         updated = notifyPdpsDelSubGroups(data, dbgroup, group) || updated;
         updated = addOrUpdateSubGroups(data, dbgroup, group, result) || updated;
 
index 899b569..60f9d2e 100644 (file)
@@ -232,6 +232,22 @@ public class TestPdpGroupDeployProvider extends ProviderSuper {
         assertEquals(newgrp.toString(), group.toString());
     }
 
+    @Test
+    public void testUpdateGroup_NewState() throws Exception {
+        PdpGroups groups = loadPdpGroups("createGroups.json");
+        PdpGroup newgrp = groups.getGroups().get(0);
+        PdpGroup group = new PdpGroup(newgrp);
+        group.setPdpGroupState(PdpState.TEST);
+        when(dao.getPdpGroups(group.getName())).thenReturn(Arrays.asList(group));
+
+        prov.createOrUpdateGroups(groups);
+
+        assertGroupUpdateOnly(group);
+
+        assertEquals(PdpState.ACTIVE, group.getPdpGroupState());
+        assertEquals(newgrp.toString(), group.toString());
+    }
+
     @Test
     public void testUpdateGroup_NewSubGroup() throws Exception {
         PdpGroups groups = loadPdpGroups("createGroupsNewSub.json");