Clean up and enhancement of Actor re-design
[policy/models.git] / models-interactions / model-actors / actor.sdnc / src / test / java / org / onap / policy / controlloop / actor / sdnc / SdncActorServiceProviderTest.java
index 7b64b87..08655c3 100644 (file)
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * TestSdncActorServiceProvider
  * ================================================================================
- * Copyright (C) 2018 Huawei. All rights reserved.
- * Modifications Copyright (C) 2018 AT&T Corp. All rights reserved.
+ * Copyright (C) 2018-2019 Huawei. All rights reserved.
+ * Modifications Copyright (C) 2018-2020 AT&T Corp. All rights reserved.
  * Modifications Copyright (C) 2019 Nordix Foundation.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -25,40 +25,49 @@ package org.onap.policy.controlloop.actor.sdnc;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
 
+import java.util.Arrays;
 import java.util.Objects;
 import java.util.UUID;
-
+import java.util.stream.Collectors;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
-import org.onap.policy.aai.AaiGetVnfResponse;
-import org.onap.policy.common.endpoints.http.server.HttpServletServer;
+import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
 import org.onap.policy.controlloop.ControlLoopOperation;
 import org.onap.policy.controlloop.VirtualControlLoopEvent;
 import org.onap.policy.controlloop.policy.Policy;
-import org.onap.policy.drools.system.PolicyEngine;
 import org.onap.policy.sdnc.SdncRequest;
-import org.onap.policy.simulators.Util;
 
 public class SdncActorServiceProviderTest {
 
+    private static final String REROUTE = RerouteOperator.NAME;
+
     /**
-     * Set up for test class.
+     * Set up before test class.
+     *
+     * @throws Exception if the A&AI simulator cannot be started
      */
     @BeforeClass
-    public static void setUpSimulator() {
-        try {
-            Util.buildAaiSim();
-        } catch (Exception e) {
-            fail(e.getMessage());
-        }
+    public static void setUpSimulator() throws Exception {
+        org.onap.policy.simulators.Util.buildAaiSim();
     }
 
     @AfterClass
     public static void tearDownSimulator() {
-        HttpServletServer.factory.destroy();
+        HttpServletServerFactoryInstance.getServerFactory().destroy();
+    }
+
+    @Test
+    public void testSdncActorServiceProvider() {
+        final SdncActorServiceProvider prov = new SdncActorServiceProvider();
+
+        // verify that it has the operators we expect
+        var expected = Arrays.asList(BandwidthOnDemandOperator.NAME, RerouteOperator.NAME).stream().sorted()
+                        .collect(Collectors.toList());
+        var actual = prov.getOperationNames().stream().sorted().collect(Collectors.toList());
+
+        assertEquals(expected.toString(), actual.toString());
     }
 
     @Test
@@ -67,33 +76,29 @@ public class SdncActorServiceProviderTest {
         ControlLoopOperation operation = new ControlLoopOperation();
 
         Policy policy = new Policy();
-        policy.setRecipe("Reroute");
+        policy.setRecipe(REROUTE);
 
-        assertNull(SdncActorServiceProvider.constructRequest(onset, operation, policy));
+        SdncActorServiceProvider provider = new SdncActorServiceProvider();
+        assertNull(provider.constructRequest(onset, operation, policy));
 
         onset.getAai().put("network-information.network-id", "network-5555");
-        assertNull(SdncActorServiceProvider.constructRequest(onset, operation, policy));
+        assertNull(provider.constructRequest(onset, operation, policy));
 
-        PolicyEngine.manager.setEnvironmentProperty("aai.url", "http://localhost:6666");
-        PolicyEngine.manager.setEnvironmentProperty("aai.username", "AAI");
-        PolicyEngine.manager.setEnvironmentProperty("aai.password", "AAI");
-        assertNull(SdncActorServiceProvider.constructRequest(onset, operation, policy));
+        assertNull(provider.constructRequest(onset, operation, policy));
 
         UUID requestId = UUID.randomUUID();
         onset.setRequestId(requestId);
-        assertNull(SdncActorServiceProvider.constructRequest(onset, operation, policy));
+        assertNull(provider.constructRequest(onset, operation, policy));
 
-        PolicyEngine.manager.setEnvironmentProperty("aai.password", "AAI");
-        assertNull(SdncActorServiceProvider.constructRequest(onset, operation, policy));
+        assertNull(provider.constructRequest(onset, operation, policy));
 
         onset.getAai().put("service-instance.service-instance-id", "service-instance-01");
-        assertNotNull(SdncActorServiceProvider.constructRequest(onset, operation, policy));
+        assertNotNull(provider.constructRequest(onset, operation, policy));
 
-        policy.setRecipe("Reroute");
-        assertNotNull(SdncActorServiceProvider.constructRequest(onset, operation, policy));
+        policy.setRecipe(REROUTE);
+        assertNotNull(provider.constructRequest(onset, operation, policy));
 
-        SdncRequest request =
-                SdncActorServiceProvider.constructRequest(onset, operation, policy);
+        SdncRequest request = provider.constructRequest(onset, operation, policy);
 
         assertEquals(requestId, Objects.requireNonNull(request).getRequestId());
         assertEquals("reoptimize", request.getHealRequest().getRequestHeaderInfo().getSvcAction());
@@ -108,8 +113,8 @@ public class SdncActorServiceProviderTest {
 
         assertEquals("SDNC", sp.actor());
         assertEquals(1, sp.recipes().size());
-        assertEquals("Reroute", sp.recipes().get(0));
-        assertEquals("VM", sp.recipeTargets("Reroute").get(0));
-        assertEquals(0, sp.recipePayloads("Reroute").size());
+        assertEquals(REROUTE, sp.recipes().get(0));
+        assertEquals("VM", sp.recipeTargets(REROUTE).get(0));
+        assertEquals(0, sp.recipePayloads(REROUTE).size());
     }
 }