Merge "Add APPC-LCM actor"
[policy/models.git] / models-interactions / model-actors / actor.appc / src / test / java / org / onap / policy / controlloop / actor / appc / AppcServiceProviderTest.java
index 553dfde..068f0b5 100644 (file)
 package org.onap.policy.controlloop.actor.appc;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 import java.time.Instant;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.UUID;
+import java.util.stream.Collectors;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -35,11 +38,12 @@ import org.onap.policy.appc.Request;
 import org.onap.policy.appc.Response;
 import org.onap.policy.appc.ResponseCode;
 import org.onap.policy.appc.util.Serialization;
-import org.onap.policy.common.endpoints.http.server.HttpServletServer;
+import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
 import org.onap.policy.controlloop.ControlLoopEventStatus;
 import org.onap.policy.controlloop.ControlLoopOperation;
 import org.onap.policy.controlloop.ControlLoopTargetType;
 import org.onap.policy.controlloop.VirtualControlLoopEvent;
+import org.onap.policy.controlloop.actor.test.BasicActor;
 import org.onap.policy.controlloop.policy.Policy;
 import org.onap.policy.controlloop.policy.Target;
 import org.onap.policy.controlloop.policy.TargetType;
@@ -47,7 +51,7 @@ import org.onap.policy.simulators.Util;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class AppcServiceProviderTest {
+public class AppcServiceProviderTest extends BasicActor {
 
     private static final String GENERIC_VNF_ID = "generic-vnf.vnf-id";
 
@@ -71,8 +75,8 @@ public class AppcServiceProviderTest {
 
     static {
         /*
-         * Construct an onset with an AAI subtag containing generic-vnf.vnf-id and a target type of
-         * VM.
+         * Construct an onset with an AAI subtag containing generic-vnf.vnf-id and a
+         * target type of VM.
          */
         onsetEvent = new VirtualControlLoopEvent();
         onsetEvent.setClosedLoopControlName("closedLoopControlName-Test");
@@ -110,6 +114,7 @@ public class AppcServiceProviderTest {
 
     /**
      * Set up before test class.
+     *
      * @throws Exception if the A&AI simulator cannot be started
      */
     @BeforeClass
@@ -122,11 +127,29 @@ public class AppcServiceProviderTest {
      */
     @AfterClass
     public static void tearDownSimulator() {
-        HttpServletServer.factory.destroy();
+        HttpServletServerFactoryInstance.getServerFactory().destroy();
     }
 
     @Test
-    public void constructModifyConfigRequestTest() {
+    public void testConstructor() {
+        AppcActorServiceProvider prov = new AppcActorServiceProvider();
+        assertEquals(0, prov.getSequenceNumber());
+
+        // verify that it has the operators we expect
+        var expected = Arrays.asList(ModifyConfigOperation.NAME).stream().sorted().collect(Collectors.toList());
+        var actual = prov.getOperationNames().stream().sorted().collect(Collectors.toList());
+
+        assertEquals(expected.toString(), actual.toString());
+    }
+
+    @Test
+    public void testActorService() {
+        // verify that it all plugs into the ActorService
+        verifyActorService(AppcActorServiceProvider.NAME, "service.yaml");
+    }
+
+    @Test
+    public void testConstructModifyConfigRequest() {
         policy.setPayload(new HashMap<>());
         policy.getPayload().put(KEY1, VALUE1);
         policy.getPayload().put(KEY2, VALUE2);
@@ -168,6 +191,7 @@ public class AppcServiceProviderTest {
         assertTrue(jsonRequest.contains(KEY2));
         assertTrue(jsonRequest.contains(SUBKEY));
         assertTrue(jsonRequest.contains(SUBVALUE));
+        assertFalse(jsonRequest.contains(SUBVALUE + ".0"));
 
         Response appcResponse = new Response(appcRequest);
         appcResponse.getStatus().setCode(ResponseCode.SUCCESS.getValue());
@@ -178,7 +202,7 @@ public class AppcServiceProviderTest {
     }
 
     @Test
-    public void constructModifyConfigRequestTest_NullPayload() {
+    public void testConstructModifyConfigRequest_NullPayload() {
 
         Request appcRequest;
         appcRequest = AppcActorServiceProvider.constructRequest(onsetEvent, operation, policy, "vnf01");