Add SO APIs to Nokia VNFM adapter
[vfc/nfvo/driver/vnfm/svnfm.git] / nokiav2 / driver / src / test / java / org / onap / vfc / nfvo / driver / vnfm / svnfm / nokia / vnfm / TestLifecycleManager.java
index 02be5a8..0ece008 100644 (file)
@@ -288,30 +288,7 @@ public class TestLifecycleManager extends TestBase {
     }
 
     /**
-     * invalid VIM type results in failure
-     */
-    @Test
-    public void testInstantiationWithInvalidVimType() throws Exception {
-        //given
-        VnfInstantiateRequest instantiationRequest = prepareInstantiationRequest(VimInfo.VimInfoTypeEnum.OTHER_VIM_INFO, false);
-        when(vnfApi.vnfsPost(createRequest.capture(), eq(NOKIA_LCM_API_VERSION))).thenReturn(buildObservable(vnfInfo));
-        when(logger.isInfoEnabled()).thenReturn(false);
-        //when
-        try {
-            lifecycleManager.createAndInstantiate(VNFM_ID, instantiationRequest, restResponse);
-            //verify
-            fail();
-        } catch (Exception e) {
-            assertEquals("Only OPENSTACK_V2_INFO, OPENSTACK_V3_INFO and VMWARE_VCLOUD_INFO is the supported VIM types", e.getMessage());
-        }
-        verify(vnfApi, never()).vnfsPost(Mockito.any(), Mockito.any());
-        verify(logger, never()).info(eq("Starting {} operation on VNF with {} identifier with {} parameter"), eq("creation"), eq("not yet specified"), anyString());
-        verify(logger, never()).info(eq("Starting {} operation on VNF with {} identifier with {} parameter"), eq("instantiation"), eq(VNF_ID), anyString());
-        verify(logger).error("Only OPENSTACK_V2_INFO, OPENSTACK_V3_INFO and VMWARE_VCLOUD_INFO is the supported VIM types");
-    }
-
-    /**
-     * test instantiation with KeyStone V2 based with SSL
+     * test instantiation with KeyStone V2TOSCA based with SSL
      */
     @Test
     public void testInstantiationV2WithSsl() throws Exception {
@@ -578,70 +555,6 @@ public class TestLifecycleManager extends TestBase {
         assertTrue(actualVim.getInterfaceInfo().isSkipCertificateHostnameCheck());
     }
 
-    /**
-     * verify backward compatibility with Amsterdam release
-     */
-    @Test
-    public void testInstantiationV3WithNoDomain() throws Exception {
-        additionalParam.setInstantiationLevel(INSTANTIATION_LEVEL);
-        additionalParam.setDomain("myDomain");
-        VnfInstantiateRequest instantiationRequest = prepareInstantiationRequest(VimInfo.VimInfoTypeEnum.OPENSTACK_V3_INFO, false);
-        vimInfo.setDomain(null);
-        when(vnfApi.vnfsPost(createRequest.capture(), eq(NOKIA_LCM_API_VERSION))).thenReturn(buildObservable(vnfInfo));
-        when(vfcGrantManager.requestGrantForInstantiate(VNFM_ID, VNF_ID, VIM_ID, ONAP_CSAR_ID, INSTANTIATION_LEVEL, cbamVnfdContent, JOB_ID)).thenReturn(grantResponse);
-        grantResponse.setVimId(VIM_ID);
-        GrantVNFResponseVimAccessInfo accessInfo = new GrantVNFResponseVimAccessInfo();
-        accessInfo.setTenant(TENANT);
-        vimInfo.setSslInsecure(null);
-        grantResponse.setAccessInfo(accessInfo);
-        ArgumentCaptor<InstantiateVnfRequest> actualInstantiationRequest = ArgumentCaptor.forClass(InstantiateVnfRequest.class);
-        when(vnfApi.vnfsVnfInstanceIdInstantiatePost(eq(VNF_ID), actualInstantiationRequest.capture(), eq(NOKIA_LCM_API_VERSION))).thenReturn(buildObservable(instantiationOperationExecution));
-        //when
-        VnfInstantiateResponse response = lifecycleManager.createAndInstantiate(VNFM_ID, instantiationRequest, restResponse);
-        waitForJobToFinishInJobManager(finished);
-        assertEquals(1, actualInstantiationRequest.getValue().getVims().size());
-        //verify
-        OPENSTACKV3INFO actualVim = (OPENSTACKV3INFO) actualInstantiationRequest.getValue().getVims().get(0);
-        assertEquals(VIM_ID, actualVim.getId());
-        assertEquals(VimInfo.VimInfoTypeEnum.OPENSTACK_V3_INFO, actualVim.getVimInfoType());
-        assertEquals("cloudUrl", actualVim.getInterfaceInfo().getEndpoint());
-        //FIXME assertEquals();actualVim.getInterfaceInfo().getTrustedCertificates());
-        assertEquals("vimPassword", actualVim.getAccessInfo().getPassword());
-        assertEquals("regionId", actualVim.getAccessInfo().getRegion());
-        assertEquals("myTenant", actualVim.getAccessInfo().getProject());
-        assertEquals("myDomain", actualVim.getAccessInfo().getDomain());
-        assertEquals("vimUsername", actualVim.getAccessInfo().getUsername());
-        assertTrue(actualVim.getInterfaceInfo().isSkipCertificateVerification());
-        assertTrue(actualVim.getInterfaceInfo().isSkipCertificateHostnameCheck());
-        verify(logger).warn("Setting domain from additional parameters");
-    }
-
-    /**
-     * verify backward compatibility with Amsterdam release
-     * if no domain is specified error is propagated
-     */
-    @Test
-    public void testInstantiationV3WithNoDomainFail() throws Exception {
-        VnfInstantiateRequest instantiationRequest = prepareInstantiationRequest(VimInfo.VimInfoTypeEnum.OPENSTACK_V3_INFO, false);
-        vimInfo.setDomain(null);
-        when(vnfApi.vnfsPost(createRequest.capture(), eq(NOKIA_LCM_API_VERSION))).thenReturn(buildObservable(vnfInfo));
-        additionalParam.setInstantiationLevel(INSTANTIATION_LEVEL);
-        when(vfcGrantManager.requestGrantForInstantiate(VNFM_ID, VNF_ID, VIM_ID, ONAP_CSAR_ID, INSTANTIATION_LEVEL, cbamVnfdContent, JOB_ID)).thenReturn(grantResponse);
-        grantResponse.setVimId(VIM_ID);
-        GrantVNFResponseVimAccessInfo accessInfo = new GrantVNFResponseVimAccessInfo();
-        accessInfo.setTenant(TENANT);
-        vimInfo.setSslInsecure(null);
-        grantResponse.setAccessInfo(accessInfo);
-        ArgumentCaptor<InstantiateVnfRequest> actualInstantiationRequest = ArgumentCaptor.forClass(InstantiateVnfRequest.class);
-        when(vnfApi.vnfsVnfInstanceIdInstantiatePost(eq(VNF_ID), actualInstantiationRequest.capture(), eq(NOKIA_LCM_API_VERSION))).thenReturn(buildObservable(instantiationOperationExecution));
-        //when
-        VnfInstantiateResponse response = lifecycleManager.createAndInstantiate(VNFM_ID, instantiationRequest, restResponse);
-        waitForJobToFinishInJobManager(finished);
-        assertEquals(0, actualInstantiationRequest.getAllValues().size());
-        //verify
-        verify(logger).error("The cloud did not supply the cloud domain (Amsterdam release) and was not supplied as additional data");
-    }
-
     /**
      * test instantiation with vcloud
      */
@@ -908,7 +821,7 @@ public class TestLifecycleManager extends TestBase {
             fail();
         } catch (RuntimeException e) {
             assertEquals(expectedException, e.getCause().getCause());
-            verify(logger).error("Unable to set the externalVnfmId,onapCsarId properties on the VNF with " + VNF_ID +" identifier", expectedException);
+            verify(logger).error("Unable to set the externalVnfmId,onapCsarId properties on the VNF with " + VNF_ID + " identifier", expectedException);
         }
     }
 
@@ -1198,7 +1111,7 @@ public class TestLifecycleManager extends TestBase {
         notificationIsProcessedBeforeDeletingTheVnf.verify(notificationManager).waitForTerminationToBeProcessed("terminationId");
         notificationIsProcessedBeforeDeletingTheVnf.verify(vnfApi).vnfsVnfInstanceIdDelete(VNF_ID, NOKIA_LCM_API_VERSION);
     }
-    
+
     /**
      * test explicit forceful termination
      */
@@ -1683,23 +1596,6 @@ public class TestLifecycleManager extends TestBase {
         }
     }
 
-    public static class X{
-        public Map<String, String> getInputs() {
-            return inputs;
-        }
-
-        public void setInputs(Map<String, String> inputs) {
-            this.inputs = inputs;
-        }
-
-        @SerializedName("inputs")
-        public Map<String,String> inputs = new HashMap<String,String>();
-
-        public String vimId;
-
-        public String properties;
-    }
-
     private VnfInstantiateRequest prepareInstantiationRequest(VimInfo.VimInfoTypeEnum cloudType, boolean addExtension) {
         VnfInstantiateRequest instantiationRequest = new VnfInstantiateRequest();
         instantiationRequest.setVnfPackageId(ONAP_CSAR_ID);
@@ -1726,17 +1622,15 @@ public class TestLifecycleManager extends TestBase {
         additionalParam.setInstantiationLevel("level1");
         switch (cloudType) {
             case OPENSTACK_V2_INFO:
-                additionalParam.setVimType(VimInfo.VimInfoTypeEnum.OPENSTACK_V2_INFO);
+                vimInfo.setType("openstack");
                 break;
             case OPENSTACK_V3_INFO:
-                additionalParam.setVimType(VimInfo.VimInfoTypeEnum.OPENSTACK_V3_INFO);
+                vimInfo.setType("openstack");
                 vimInfo.setDomain("myDomain");
                 break;
             case VMWARE_VCLOUD_INFO:
-                additionalParam.setVimType(VimInfo.VimInfoTypeEnum.VMWARE_VCLOUD_INFO);
+                vimInfo.setType("vmware");
                 break;
-            default:
-                additionalParam.setVimType(VimInfo.VimInfoTypeEnum.OTHER_VIM_INFO);
         }
 
         Map<String, List<NetworkAddress>> exteranalConnectionPointAddresses = new HashMap<>();
@@ -1775,7 +1669,7 @@ public class TestLifecycleManager extends TestBase {
         image.setVnfdSoftwareImageId("imageId");
         additionalParam.getSoftwareImages().add(image);
         additionalParam.setAdditionalParams(new JsonParser().parse("{ \"a\" : \"b\" }"));
-        if(addExtensions) {
+        if (addExtensions) {
             VnfProperty p1 = new VnfProperty();
             p1.setName("n1");
             p1.setValue(Lists.newArrayList("a", "b"));
@@ -1844,7 +1738,6 @@ public class TestLifecycleManager extends TestBase {
         assertTrue(actualVim.getInterfaceInfo().isSkipCertificateHostnameCheck());
     }
 
-
     /**
      * additional params of instantiation may be passed as directly attached artifact
      */
@@ -1929,4 +1822,19 @@ public class TestLifecycleManager extends TestBase {
         assertTrue(actualVim.getInterfaceInfo().isSkipCertificateHostnameCheck());
         verify(logger).info("The instantiation input for VNF with {} CSAR id does not have an " + LifecycleManager.ETSI_CONFIG + " section", ONAP_CSAR_ID);
     }
+
+    public static class X {
+        @SerializedName("inputs")
+        public Map<String, String> inputs = new HashMap<String, String>();
+        public String vimId;
+        public String properties;
+
+        public Map<String, String> getInputs() {
+            return inputs;
+        }
+
+        public void setInputs(Map<String, String> inputs) {
+            this.inputs = inputs;
+        }
+    }
 }