package org.openecomp.mso.apihandlerinfra;\r
\r
\r
+import static org.junit.Assert.assertTrue;\r
+\r
+import java.io.ByteArrayInputStream;\r
+import java.io.InputStream;\r
+import java.util.Collections;\r
+import java.util.HashMap;\r
+import java.util.List;\r
+import javax.ws.rs.core.Response;\r
+import mockit.Mock;\r
+import mockit.MockUp;\r
import org.apache.http.HttpResponse;\r
import org.apache.http.ProtocolVersion;\r
import org.apache.http.entity.BasicHttpEntity;\r
import org.apache.http.message.BasicHttpResponse;\r
import org.hibernate.criterion.Criterion;\r
import org.hibernate.criterion.Order;\r
+import org.junit.BeforeClass;\r
import org.junit.Ignore;\r
import org.junit.Test;\r
-\r
-import javax.ws.rs.core.Response;\r
-\r
-import static org.junit.Assert.assertFalse;\r
-import static org.junit.Assert.assertTrue;\r
-import static org.junit.Assert.fail;\r
-\r
-import java.io.ByteArrayInputStream;\r
-import java.io.InputStream;\r
-import java.util.Collections;\r
-import java.util.HashMap;\r
-import java.util.List;\r
-\r
import org.openecomp.mso.apihandler.common.CamundaClient;\r
import org.openecomp.mso.apihandler.common.RequestClient;\r
import org.openecomp.mso.apihandler.common.RequestClientFactory;\r
+import org.openecomp.mso.apihandler.common.RequestClientParamater;\r
import org.openecomp.mso.db.catalog.CatalogDatabase;\r
import org.openecomp.mso.db.catalog.beans.Service;\r
import org.openecomp.mso.db.catalog.beans.ServiceRecipe;\r
+import org.openecomp.mso.db.catalog.beans.VfModule;\r
+import org.openecomp.mso.db.catalog.beans.VfModuleCustomization;\r
+import org.openecomp.mso.db.catalog.beans.VnfComponentsRecipe;\r
+import org.openecomp.mso.db.catalog.beans.VnfRecipe;\r
+import org.openecomp.mso.db.catalog.beans.VnfResource;\r
import org.openecomp.mso.properties.MsoJavaProperties;\r
+import org.openecomp.mso.properties.MsoPropertiesFactory;\r
import org.openecomp.mso.requestsdb.InfraActiveRequests;\r
import org.openecomp.mso.requestsdb.RequestsDatabase;\r
\r
-import mockit.Mock;\r
-import mockit.MockUp;\r
-\r
public class ServiceInstanceTest {\r
\r
/*** Create Service Instance Test Cases ***/\r
- \r
+\r
+ @BeforeClass\r
+ public static void setUp() throws Exception {\r
+ MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();\r
+ msoPropertiesFactory.removeAllMsoProperties();\r
+ msoPropertiesFactory.initializeMsoProperties(Constants.MSO_PROP_APIHANDLER_INFRA, "src/test/resources/mso.apihandler-infra.properties");\r
+ }\r
+\r
+\r
@Test\r
public void createServiceInstanceInvalidModelInfo(){\r
ServiceInstances instance = new ServiceInstances();\r
"Locked instance - This service (testService) already has a request being worked with a status of null (RequestId - null). The existing request must finish or be cleaned up before proceeding."));\r
}\r
\r
- @Ignore // 1802 merge\r
@Test\r
public void createServiceInstanceTestDBException(){\r
new MockUp<RequestsDatabase>() {\r
+ "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
Response resp = instance.createServiceInstance(requestJson, "v2");\r
String respBody = resp.getEntity().toString();\r
- assertTrue(respBody.contains("Exception while creating record in DB null"));\r
+ assertTrue(respBody.contains("Exception while creating record in DB") && respBody.contains("NullPointerException"));\r
}\r
\r
@Ignore // 1802 merge\r
+ "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
Response resp = instance.createServiceInstance(requestJson, "v2");\r
String respBody = resp.getEntity().toString();\r
- assertTrue(respBody.contains("Failed calling bpmn properties"));\r
+ assertTrue(respBody.contains("Failed calling bpmn properties")); // was: Request Failed due to BPEL error\r
}\r
\r
- @Ignore // 1802 merge\r
@Test(expected = Exception.class)\r
public void createServiceInstanceTest200Http(){\r
new MockUp<RequestsDatabase>() {\r
\r
new MockUp<CamundaClient>() {\r
@Mock\r
- public HttpResponse post(String requestId, boolean isBaseVfModule,\r
- int recipeTimeout, String requestAction, String serviceInstanceId,\r
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,\r
- String serviceType, String vnfType, String vfModuleType, String networkType,\r
- String requestDetails, String recipeParamXsd){ \r
+ public HttpResponse post(RequestClientParamater requestClientParamater) {\r
ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
HttpResponse resp = new BasicHttpResponse(pv,200, "test response");\r
BasicHttpEntity entity = new BasicHttpEntity();\r
- String body = "{\"response\":\"success\",\"message\":\"success\"}";\r
+ String body = "{\"content\":\"success\",\"message\":\"success\"}";\r
InputStream instream = new ByteArrayInputStream(body.getBytes());\r
entity.setContent(instream);\r
resp.setEntity(entity);\r
String respBody = resp.getEntity().toString();\r
}\r
\r
- @Ignore // 1802 merge\r
@Test\r
public void createServiceInstanceTest500Http(){\r
new MockUp<RequestsDatabase>() {\r
\r
new MockUp<CamundaClient>() {\r
@Mock\r
- public HttpResponse post(String requestId, boolean isBaseVfModule,\r
- int recipeTimeout, String requestAction, String serviceInstanceId,\r
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,\r
- String serviceType, String vnfType, String vfModuleType, String networkType,\r
- String requestDetails, String recipeParamXsd){ \r
+ public HttpResponse post(RequestClientParamater requestClientParamater) {\r
ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
HttpResponse resp = new BasicHttpResponse(pv,500, "test response");\r
BasicHttpEntity entity = new BasicHttpEntity();\r
- String body = "{\"response\":\"success\",\"message\":\"success\"}";\r
+ String body = "{\"content\":\"success\",\"message\":\"success\"}";\r
InputStream instream = new ByteArrayInputStream(body.getBytes());\r
entity.setContent(instream);\r
resp.setEntity(entity);\r
\r
new MockUp<CamundaClient>() {\r
@Mock\r
- public HttpResponse post(String requestId, boolean isBaseVfModule,\r
- int recipeTimeout, String requestAction, String serviceInstanceId,\r
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,\r
- String serviceType, String vnfType, String vfModuleType, String networkType,\r
- String requestDetails, String recipeParamXsd){ \r
+ public HttpResponse post(RequestClientParamater requestClientParamater) {\r
ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
HttpResponse resp = new BasicHttpResponse(pv,500, "test response");\r
BasicHttpEntity entity = new BasicHttpEntity();\r
- String body = "{\"response\":\"success\",\"message\":\"success\"}";\r
+ String body = "{\"content\":\"success\",\"message\":\"success\"}";\r
InputStream instream = new ByteArrayInputStream(body.getBytes());\r
entity.setContent(instream);\r
resp.setEntity(entity);\r
assertTrue(respBody.contains("No valid modelVersionId is specified"));\r
}\r
\r
- @Ignore // 1802 merge\r
@Test\r
public void createServiceInstanceTestNullHttpResp(){\r
new MockUp<RequestsDatabase>() {\r
\r
new MockUp<CamundaClient>() {\r
@Mock\r
- public HttpResponse post(String requestId, boolean isBaseVfModule,\r
- int recipeTimeout, String requestAction, String serviceInstanceId,\r
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,\r
- String serviceType, String vnfType, String vfModuleType, String networkType,\r
- String requestDetails, String recipeParamXsd){ \r
+ public HttpResponse post(RequestClientParamater requestClientParamater){\r
return null;\r
}\r
};\r
+"\"networkInstanceId\":\"1882937\","\r
+"\"volumeGroupInstanceId\":\"1882935\","\r
+"\"vfModuleInstanceId\":\"1882934\","\r
- + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\"}}}";\r
+ + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\":\"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\"}}}";\r
Response resp = instance.createServiceInstance(requestJson, "v2");\r
String respBody = resp.getEntity().toString();\r
assertTrue(respBody.contains("Error parsing request.") && respBody.contains("No valid modelName is specified"));\r
+"\"networkInstanceId\":\"1882937\","\r
+"\"volumeGroupInstanceId\":\"1882935\","\r
+"\"vfModuleInstanceId\":\"1882934\","\r
- + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": true},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
+ + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": true,\"subscriptionServiceType\":\"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
Response resp = instance.createServiceInstance(requestJson, "v2");\r
String respBody = resp.getEntity().toString();\r
assertTrue(respBody.contains("Error parsing request.") && respBody.contains("AutoBuildVfModule is not valid in the v2 version"));\r
assertTrue(respStr.contains("Error parsing request.") && respStr.contains("No valid serviceInstanceId matching the serviceInstanceId in request URI is specified"));\r
}\r
\r
- @Ignore // 1802 merge\r
@Test\r
public void activateServiceInstanceTestNormal(){\r
ServiceInstances instance = new ServiceInstances();\r
assertTrue(respStr.contains("Error parsing request.") && respStr.contains("No valid serviceInstanceId matching the serviceInstanceId in request URI is specified"));\r
}\r
\r
- @Ignore // 1802 merge\r
@Test\r
public void deactivateServiceInstanceTestNormal(){\r
ServiceInstances instance = new ServiceInstances();\r
assertTrue(respStr.contains("Error parsing request.") && respStr.contains("No valid modelVersionId is specified"));\r
}\r
\r
- @Ignore // 1802 merge\r
@Test\r
public void deleteServiceInstanceTestNormal(){\r
ServiceInstances instance = new ServiceInstances();\r
assertTrue(respStr.contains("Error parsing request.") && respStr.contains("No valid tenantId is specified"));\r
}\r
\r
- @Ignore // 1802 merge\r
@Test\r
public void createVNFInstanceTestNormal(){\r
+\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
+ return null;\r
+ }\r
+ };\r
+\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public int updateInfraStatus (String requestId, String requestStatus, long progress, String lastModifiedBy) {\r
+ return 1;\r
+ }\r
+ };\r
+\r
+ new MockUp<MsoRequest>() {\r
+ @Mock\r
+ public void createRequestRecord (Status status, Action action) {\r
+ return;\r
+ }\r
+ };\r
+\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public Service getServiceByModelName (String defaultServiceModelName) {\r
+ Service serviceRecord = new Service();\r
+ serviceRecord.setModelUUID("2883992993");\r
+ return serviceRecord;\r
+ }\r
+ };\r
+\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
+ ServiceRecipe recipe =new ServiceRecipe();\r
+ recipe.setOrchestrationUri("/test/mso");\r
+ recipe.setRecipeTimeout(1000);\r
+ return recipe;\r
+ }\r
+ };\r
+ new MockUp<RequestClientFactory>() {\r
+ @Mock\r
+ public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
+ RequestClient client = new CamundaClient();\r
+ client.setUrl("/test/url");\r
+ return client;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public VnfResource getVnfResourceByModelCustomizationId(String modelCustomizationId) {\r
+ VnfResource vnfResource = new VnfResource();\r
+ return vnfResource;\r
+ }\r
+ };\r
+\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public VnfRecipe getVnfRecipe (String vnfType, String action) {\r
+ VnfRecipe recipe =new VnfRecipe();\r
+ recipe.setOrchestrationUri("/test/mso");\r
+ recipe.setRecipeTimeout(1000);\r
+ return recipe;\r
+ }\r
+ };\r
+\r
+\r
+ new MockUp<CamundaClient>() {\r
+ @Mock\r
+ public HttpResponse post(RequestClientParamater requestClientParamater) {\r
+ ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
+ HttpResponse resp = new BasicHttpResponse(pv,200, "test response");\r
+ BasicHttpEntity entity = new BasicHttpEntity();\r
+\r
+ final String body = "{\"content\":\"success\",\"message\":\"success\"}";\r
+ InputStream instream = new ByteArrayInputStream(body.getBytes());\r
+ entity.setContent(instream);\r
+ resp.setEntity(entity);\r
+ return resp;\r
+ }\r
+ };\r
+\r
ServiceInstances instance = new ServiceInstances();\r
String s = "\"cloudConfiguration\":{}";\r
- String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
- +"\"vnfInstanceId\":\"1882938\","\r
- +"\"networkInstanceId\":\"1882937\","\r
- +"\"volumeGroupInstanceId\":\"1882935\","\r
- +"\"vfModuleInstanceId\":\"1882934\","\r
- + "\"requestDetails\": {\"cloudConfiguration\":{\"lcpCloudRegionId\":\"2993841\",\"tenantId\":\"2910032\"}, \"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}";\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\",\"vnfInstanceId\":\"1882938\"," +\r
+ "\"networkInstanceId\":\"1882937\",\"volumeGroupInstanceId\":\"1882935\",\"vfModuleInstanceId\":\"1882934\"," +\r
+ "\"requestDetails\":{\"cloudConfiguration\":{\"lcpCloudRegionId\":\"2993841\",\"tenantId\":\"2910032\"}," +\r
+ "\"relatedInstanceList\":[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\"," +\r
+ "\"modelInfo\":{\"modelInvariantId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\":{\"source\":\"VID\",\"requestorId\":\"zz9999\",\"instanceName\":\"testService\",\"productFamilyId\":\"productFamilyId1\"}," +\r
+ "\"requestParameters\":{\"autoBuildVfModules\":false,\"subscriptionServiceType\":\"test\",\"aLaCarte\":false},\"modelInfo\":{\"modelInvariantId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"vnf\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\"}}}";\r
Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
String respStr = resp.getEntity().toString();\r
- assertTrue(respStr.contains("SVC2000"));\r
+ assertTrue(respStr.equals("success"));\r
}\r
\r
/*** Replace Vnf Instance Test Cases ***/\r
- @Ignore // 1802 merge\r
@Test\r
public void replaceVNFInstanceTestNormal(){\r
ServiceInstances instance = new ServiceInstances();\r
}\r
\r
/*** Update Vnf Instance Test Cases ***/\r
- \r
+\r
@Test\r
public void deleteVNFInstanceTestNormal(){\r
ServiceInstances instance = new ServiceInstances();\r
String respStr = resp.getEntity().toString();\r
assertTrue(respStr.contains("SVC2000"));\r
}\r
+\r
+ @Test\r
+ public void createVFModuleTestNormal(){\r
+\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
+ return null;\r
+ }\r
+ };\r
+\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public int updateInfraStatus (String requestId, String requestStatus, long progress, String lastModifiedBy) {\r
+ return 1;\r
+ }\r
+ };\r
+\r
+ new MockUp<MsoRequest>() {\r
+ @Mock\r
+ public void createRequestRecord (Status status, Action action) {\r
+ return;\r
+ }\r
+ };\r
+\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public Service getServiceByModelName (String defaultServiceModelName) {\r
+ Service serviceRecord = new Service();\r
+ serviceRecord.setModelUUID("2883992993");\r
+ return serviceRecord;\r
+ }\r
+ };\r
+\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
+ ServiceRecipe recipe =new ServiceRecipe();\r
+ recipe.setOrchestrationUri("/test/mso");\r
+ recipe.setRecipeTimeout(1000);\r
+ return recipe;\r
+ }\r
+ };\r
+ new MockUp<RequestClientFactory>() {\r
+ @Mock\r
+ public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
+ RequestClient client = new CamundaClient();\r
+ client.setUrl("/test/url");\r
+ return client;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public VnfResource getVnfResourceByModelCustomizationId(String modelCustomizationId) {\r
+ VnfResource vnfResource = new VnfResource();\r
+ return vnfResource;\r
+ }\r
+ };\r
+\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public VnfComponentsRecipe getVnfComponentsRecipeByVfModuleModelUUId (String vfModuleModelUUId, String vnfComponentType, String action) {\r
+ VnfComponentsRecipe recipe =new VnfComponentsRecipe();\r
+ recipe.setOrchestrationUri("/test/mso");\r
+ recipe.setRecipeTimeout(1000);\r
+ return recipe;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public VfModule getVfModuleByModelUuid(String modelUuid) {\r
+ VfModule vfModule =new VfModule();\r
+ return vfModule;\r
+ }\r
+ };\r
+\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public VfModuleCustomization getVfModuleCustomizationByModelCustomizationId(String modelCustomizationUuid) {\r
+ VfModuleCustomization vfModuleCustomization =new VfModuleCustomization();\r
+ final VfModule vfModule = new VfModule();\r
+ vfModule.setModelUUID("296e278c-bfa8-496e-b59e-fb1fe715f726");\r
+ vfModuleCustomization.setVfModule(vfModule);\r
+ return vfModuleCustomization;\r
+ }\r
+ };\r
+\r
+\r
+ new MockUp<CamundaClient>() {\r
+ @Mock\r
+ public HttpResponse post(RequestClientParamater requestClientParamater){\r
+ ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
+ HttpResponse resp = new BasicHttpResponse(pv,200, "test response");\r
+ BasicHttpEntity entity = new BasicHttpEntity();\r
+\r
+ final String body = "{\"content\":\"success\",\"message\":\"success\"}";\r
+ InputStream instream = new ByteArrayInputStream(body.getBytes());\r
+ entity.setContent(instream);\r
+ resp.setEntity(entity);\r
+ return resp;\r
+ }\r
+ };\r
+\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String s = "\"cloudConfiguration\":{}";\r
+ String requestJson = "{\"serviceInstanceId\":\"43b34d6d-1ab2-4c7a-a3a0-5471306550c5\",\"vnfInstanceId\":\"7b1ead4f-ea06-45c6-921e-124061e5eae7\",\"networkInstanceId\":\"1882937\",\"volumeGroupInstanceId\":\"1882935\",\"vfModuleInstanceId\":\"1882934\",\"requestDetails\":{\"requestInfo\":{\"instanceName\":\"vf-inst\",\"source\":\"VID\",\"suppressRollback\":false,\"requestorId\":\"123123\"},\"modelInfo\":{\"modelType\":\"vfModule\",\"modelInvariantId\":\"dde10afa-c732-4f0f-8501-2d2e01ea46ef\",\"modelVersionId\":\"296e278c-bfa8-496e-b59e-fb1fe715f726\",\"modelName\":\"CarrierTosca0::module-1\",\"modelCustomizationId\":\"ce0fdd17-c677-4bb5-b047-97016ec1e403\",\"modelCustomizationName\":\"ce0fdd17-c677-4bb5-b047-97016ec1e403\",\"modelVersion\":\"1.0\"},\"requestParameters\":{\"userParams\":[]},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"EastUS\",\"tenantId\":\"48de34f6-65a1-4d09-84b4-68b011151672\"},\"relatedInstanceList\":[{\"relatedInstance\":{\"instanceId\":\"43b34d6d-1ab2-4c7a-a3a0-5471306550c5\",\"modelInfo\":{\"modelType\":\"service\",\"modelInvariantId\":\"1192c9b7-bc24-42c9-8f11-415dc679be88\",\"modelVersionId\":\"acb8b74b-afe6-4cc2-92c3-0a09961ab77e\",\"modelName\":\"service\",\"modelVersion\":\"1.0\"}}},{\"relatedInstance\":{\"instanceId\":\"7b1ead4f-ea06-45c6-921e-124061e5eae7\",\"modelInfo\":{\"modelType\":\"vnf\",\"modelInvariantId\":\"a545165e-9646-4030-824c-b9d9c66a886a\",\"modelVersionId\":\"a0b6dffe-0de3-4099-8b94-dc05be942914\",\"modelName\":\"vnf-mdoel\",\"modelVersion\":\"1.0\",\"modelCustomizationName\":\"vnf-mdoel 0\"}}}]}}";\r
+ Response resp = instance.createVfModuleInstance(requestJson, "v5","43b34d6d-1ab2-4c7a-a3a0-5471306550c5", "7b1ead4f-ea06-45c6-921e-124061e5eae7");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.equals("success"));\r
+ }\r
+\r
+ @Test\r
+ public void createPortConfigurationTestNormal() {\r
+\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
+ return null;\r
+ }\r
+ };\r
+\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public int updateInfraStatus (String requestId, String requestStatus, long progress, String lastModifiedBy) {\r
+ return 1;\r
+ }\r
+ };\r
+\r
+ new MockUp<MsoRequest>() {\r
+ @Mock\r
+ public void createRequestRecord (Status status, Action action) {\r
+ return;\r
+ }\r
+ };\r
+\r
+ new MockUp<CamundaClient>() {\r
+ @Mock\r
+ public HttpResponse post(RequestClientParamater requestClientParamater) {\r
+ ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
+ HttpResponse resp = new BasicHttpResponse(pv,200, "test response");\r
+ BasicHttpEntity entity = new BasicHttpEntity();\r
+\r
+ final String body = "{\"content\":\"success\",\"message\":\"success\"}";\r
+ InputStream instream = new ByteArrayInputStream(body.getBytes());\r
+ entity.setContent(instream);\r
+ resp.setEntity(entity);\r
+ return resp;\r
+ }\r
+ };\r
+\r
+ ServiceInstances sir = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"43b34d6d-1ab2-4c7a-a3a0-5471306550c5\",\"vnfInstanceId\":\"7b1ead4f-ea06-45c6-921e-124061e5eae7\",\"networkInstanceId\":\"1882937\",\"volumeGroupInstanceId\":\"1882935\",\"vfModuleInstanceId\":\"1882934\",\"requestDetails\":{\"requestInfo\":{\"instanceName\":\"vf-inst\",\"source\":\"VID\",\"suppressRollback\":false,\"requestorId\":\"123123\"},\"modelInfo\":{\"modelType\":\"vfModule\",\"modelInvariantId\":\"dde10afa-c732-4f0f-8501-2d2e01ea46ef\",\"modelVersionId\":\"296e278c-bfa8-496e-b59e-fb1fe715f726\",\"modelName\":\"CarrierTosca0::module-1\",\"modelCustomizationId\":\"ce0fdd17-c677-4bb5-b047-97016ec1e403\",\"modelCustomizationName\":\"ce0fdd17-c677-4bb5-b047-97016ec1e403\",\"modelVersion\":\"1.0\"},\"requestParameters\":{\"userParams\":[]},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"EastUS\",\"tenantId\":\"48de34f6-65a1-4d09-84b4-68b011151672\"},\"relatedInstanceList\":[{\"relatedInstance\":{\"instanceId\":\"43b34d6d-1ab2-4c7a-a3a0-5471306550c5\",\"modelInfo\":{\"modelType\":\"service\",\"modelInvariantId\":\"1192c9b7-bc24-42c9-8f11-415dc679be88\",\"modelVersionId\":\"acb8b74b-afe6-4cc2-92c3-0a09961ab77e\",\"modelName\":\"service\",\"modelVersion\":\"1.0\"}}},{\"relatedInstance\":{\"instanceId\":\"7b1ead4f-ea06-45c6-921e-124061e5eae7\",\"modelInfo\":{\"modelType\":\"vnf\",\"modelInvariantId\":\"a545165e-9646-4030-824c-b9d9c66a886a\",\"modelVersionId\":\"a0b6dffe-0de3-4099-8b94-dc05be942914\",\"modelName\":\"vnf-mdoel\",\"modelVersion\":\"1.0\",\"modelCustomizationName\":\"vnf-mdoel 0\"}}}]}}";\r
+ final Response response = sir.createPortConfiguration(requestJson, "v5", "43b34d6d-1ab2-4c7a-a3a0-5471306550c5");\r
+ }\r
+\r
+ @Test\r
+ public void createPortConfigurationTestBlankOrchestrationURI() {\r
+\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
+ return null;\r
+ }\r
+ };\r
+\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public int updateInfraStatus (String requestId, String requestStatus, long progress, String lastModifiedBy) {\r
+ return 1;\r
+ }\r
+ };\r
+\r
+ new MockUp<MsoRequest>() {\r
+ @Mock\r
+ public void createRequestRecord (Status status, Action action) {\r
+ return;\r
+ }\r
+ };\r
+\r
+ ServiceInstances sir = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"43b34d6d-1ab2-4c7a-a3a0-5471306550c5\",\"vnfInstanceId\":\"7b1ead4f-ea06-45c6-921e-124061e5eae7\",\"networkInstanceId\":\"1882937\",\"volumeGroupInstanceId\":\"1882935\",\"vfModuleInstanceId\":\"1882934\",\"requestDetails\":{\"requestInfo\":{\"instanceName\":\"vf-inst\",\"source\":\"VID\",\"suppressRollback\":false,\"requestorId\":\"123123\"},\"modelInfo\":{\"modelType\":\"vfModule\",\"modelInvariantId\":\"dde10afa-c732-4f0f-8501-2d2e01ea46ef\",\"modelVersionId\":\"296e278c-bfa8-496e-b59e-fb1fe715f726\",\"modelName\":\"CarrierTosca0::module-1\",\"modelCustomizationId\":\"ce0fdd17-c677-4bb5-b047-97016ec1e403\",\"modelCustomizationName\":\"ce0fdd17-c677-4bb5-b047-97016ec1e403\",\"modelVersion\":\"1.0\"},\"requestParameters\":{\"userParams\":[]},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"EastUS\",\"tenantId\":\"48de34f6-65a1-4d09-84b4-68b011151672\"},\"relatedInstanceList\":[{\"relatedInstance\":{\"instanceId\":\"43b34d6d-1ab2-4c7a-a3a0-5471306550c5\",\"modelInfo\":{\"modelType\":\"service\",\"modelInvariantId\":\"1192c9b7-bc24-42c9-8f11-415dc679be88\",\"modelVersionId\":\"acb8b74b-afe6-4cc2-92c3-0a09961ab77e\",\"modelName\":\"service\",\"modelVersion\":\"1.0\"}}},{\"relatedInstance\":{\"instanceId\":\"7b1ead4f-ea06-45c6-921e-124061e5eae7\",\"modelInfo\":{\"modelType\":\"vnf\",\"modelInvariantId\":\"a545165e-9646-4030-824c-b9d9c66a886a\",\"modelVersionId\":\"a0b6dffe-0de3-4099-8b94-dc05be942914\",\"modelName\":\"vnf-mdoel\",\"modelVersion\":\"1.0\",\"modelCustomizationName\":\"vnf-mdoel 0\"}}}]}}";\r
+ final Response response = sir.createPortConfiguration(requestJson, "v5", "43b34d6d-1ab2-4c7a-a3a0-5471306550c5");\r
+ }\r
}\r