1 package org.onap.so.bpmn.infrastructure.service.composition;
3 import com.fasterxml.jackson.databind.DeserializationFeature;
4 import com.fasterxml.jackson.databind.ObjectMapper;
5 import org.junit.Assert;
6 import org.junit.Before;
8 import org.onap.so.bpmn.common.BuildingBlockExecution;
9 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
10 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
11 import org.onap.so.bpmn.servicedecomposition.bbobjects.OwningEntity;
12 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
13 import org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock;
14 import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
15 import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestParameters;
16 import org.onap.so.bpmn.servicedecomposition.bbobjects.Project;
17 import org.onap.so.serviceinstancebeans.CloudConfiguration;
18 import org.onap.so.serviceinstancebeans.InstanceDirection;
19 import org.onap.so.serviceinstancebeans.ModelInfo;
20 import org.onap.so.serviceinstancebeans.ModelType;
21 import org.onap.so.serviceinstancebeans.RelatedInstance;
22 import org.onap.so.serviceinstancebeans.RelatedInstanceList;
23 import org.onap.so.serviceinstancebeans.RequestInfo;
24 import org.onap.so.serviceinstancebeans.Service;
25 import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
26 import org.onap.so.serviceinstancebeans.SubscriberInfo;
27 import java.io.IOException;
28 import java.util.List;
30 import java.util.UUID;
31 import static org.mockito.Mockito.doReturn;
32 import static org.mockito.Mockito.mock;
34 public class ChildServiceRequestBuilderTest {
36 private BuildingBlockExecution mockExecution;
37 private List<Map<String, Object>> userParamsExpected;
40 public void setUp() throws IOException {
41 String incomingRequest =
42 "{\"requestDetails\":{\"subscriberInfo\":{\"globalSubscriberId\":\"ubuntu-customer\"},\"requestInfo\":{\"suppressRollback\":false,\"instanceName\":\"LcmDemo\",\"productFamilyId\":\"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\"requestorId\":\"portal\",\"source\":\"postman\"},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"123\",\"tenantId\":\"e2710e84063b421fab08189818761d55\",\"cloudOwner\":\"cloudOwner\"},\"requestParameters\":{\"subscriptionServiceType\":\"ubuntu\",\"userParams\":[{\"Homing_Solution\":\"none\"},{\"service\":{\"instanceParams\":[],\"resources\":{\"vnfs\":[{\"modelInfo\":{\"modelName\":\"UbuntuSriovVF\",\"modelVersionId\":\"5b5d07f0-7449-4eec-95eb-531ddef18240\",\"modelInvariantUuid\":\"9ed17b82-11f3-44cc-a86f-32739360617e\",\"modelVersion\":\"1.0\",\"modelCustomizationId\":\"ae139d3d-b2ae-462c-b09d-c85bdc2e3073\",\"modelInstanceName\":\"UbuntuSriovVF0\"},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"123\",\"tenantId\":\"e2710e84063b421fab08189818761d55\",\"cloudOwner\":\"cloudOwner\"},\"platform\":{\"platformName\":\"openstack\"},\"lineOfBusiness\":{\"lineOfBusinessName\":\"wireless\"},\"productFamilyId\":\"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\"instanceName\":\"vnf-instanceName\",\"instanceParams\":[{\"vnf-name\":\"vnf-vnf-name\",\"vnf_name\":\"UbuntuVNFName\"}],\"vfModules\":[{\"modelInfo\":{\"modelName\":\"Ubuntusriovvf..base..module-0\",\"modelVersionId\":\"f4ef24dd-7a4e-4eef-83b7-c58f2f3e36e4\",\"modelInvariantUuid\":\"719aab1e-c551-46e0-87e8-a78dcd7891da\",\"modelVersion\":\"1\",\"modelCustomizationId\":\"dea421a8-c1b8-4044-8ca1-58c30de3b315\"},\"instanceName\":\"lcm-demo-network-1\",\"instanceParams\":[{\"name\":\"lcm-demo-network-1\",\"cidr\":\"10.10.10.0/24\"}]},{\"modelInfo\":{\"modelName\":\"Ubuntusriovvf..ubuntu-vf-module..module-1\",\"modelVersionId\":\"112f2de4-4f09-4567-9de1-2d271cb6e164\",\"modelInvariantUuid\":\"ba6d2e11-4e82-4bb8-9d52-a2962a263a09\",\"modelVersion\":\"1\",\"modelCustomizationId\":\"7bc2649e-b96b-44ec-adfe-4a6167f3034e\"},\"instanceName\":\"lcm-demo-ubuntu-1\",\"instanceParams\":[{\"name\":\"lcm-demo-ubuntu-1\",\"network_mgmt\":\"networkMgmt\",\"key_name\":\"demo\",\"network_name\":\"lcm-demo-network-1\",\"image_name\":\"imageName\",\"flavor_name\":\"m1.small\"}]}]}],\"services\":[{\"instanceParams\":[],\"resources\":{\"vnfs\":[{\"modelInfo\":{\"modelName\":\"UbuntuSriovVF\",\"modelVersionId\":\"5b5d07f0-7449-4eec-95eb-531ddef18240\",\"modelInvariantUuid\":\"9ed17b82-11f3-44cc-a86f-32739360617e\",\"modelVersion\":\"1.0\",\"modelCustomizationId\":\"ae139d3d-b2ae-462c-b09d-c85bdc2e3073\",\"modelInstanceName\":\"UbuntuSriovVF0\"},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"123\",\"tenantId\":\"e2710e84063b421fab08189818761d55\",\"cloudOwner\":\"cloudOwner\"},\"platform\":{\"platformName\":\"openstack\"},\"lineOfBusiness\":{\"lineOfBusinessName\":\"wireless\"},\"productFamilyId\":\"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\"instanceName\":\"vnf-instanceName\",\"instanceParams\":[{\"vnf-name\":\"vnf-vnf-name\",\"vnf_name\":\"UbuntuVNFName\"}],\"vfModules\":[{\"modelInfo\":{\"modelName\":\"Ubuntusriovvf..base..module-0\",\"modelVersionId\":\"f4ef24dd-7a4e-4eef-83b7-c58f2f3e36e4\",\"modelInvariantUuid\":\"719aab1e-c551-46e0-87e8-a78dcd7891da\",\"modelVersion\":\"1\",\"modelCustomizationId\":\"dea421a8-c1b8-4044-8ca1-58c30de3b315\"},\"instanceName\":\"lcm-demo-network-1\",\"instanceParams\":[{\"name\":\"lcm-demo-network-1\",\"cidr\":\"10.10.10.0/24\"}]},{\"modelInfo\":{\"modelName\":\"Ubuntusriovvf..ubuntu-vf-module..module-1\",\"modelVersionId\":\"112f2de4-4f09-4567-9de1-2d271cb6e164\",\"modelInvariantUuid\":\"ba6d2e11-4e82-4bb8-9d52-a2962a263a09\",\"modelVersion\":\"1\",\"modelCustomizationId\":\"7bc2649e-b96b-44ec-adfe-4a6167f3034e\"},\"instanceName\":\"lcm-demo-ubuntu-1\",\"instanceParams\":[{\"name\":\"lcm-demo-ubuntu-1\",\"network_mgmt\":\"networkMgmt\",\"key_name\":\"demo\",\"network_name\":\"lcm-demo-network-1\",\"image_name\":\"imageName\",\"flavor_name\":\"m1.small\"}]}]}]},\"modelInfo\":{\"modelVersion\":\"2.0\",\"modelVersionId\":\"5bc2b6b3-c9bb-49a1-89c8-4dac5b236d52\",\"modelInvariantId\":\"a316f8fa-c886-483f-801b-6663e35b836c\",\"modelCustomizationId\":\"cs1-svc-modelCustomizationId\",\"modelName\":\"GuilinLcmSVC\",\"modelType\":\"service\"},\"instanceName\":\"service1-instanceName\"},{\"instanceParams\":[],\"resources\":{\"vnfs\":[{\"modelInfo\":{\"modelName\":\"UbuntuSriovVF\",\"modelVersionId\":\"5b5d07f0-7449-4eec-95eb-531ddef18240\",\"modelInvariantUuid\":\"9ed17b82-11f3-44cc-a86f-32739360617e\",\"modelVersion\":\"1.0\",\"modelCustomizationId\":\"ae139d3d-b2ae-462c-b09d-c85bdc2e3073\",\"modelInstanceName\":\"UbuntuSriovVF0\"},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"123\",\"tenantId\":\"e2710e84063b421fab08189818761d55\",\"cloudOwner\":\"cloudOwner\"},\"platform\":{\"platformName\":\"openstack\"},\"lineOfBusiness\":{\"lineOfBusinessName\":\"wireless\"},\"productFamilyId\":\"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\"instanceName\":\"vnf-instanceName\",\"instanceParams\":[{\"vnf-name\":\"vnf-vnf-name\",\"vnf_name\":\"UbuntuVNFName\"}],\"vfModules\":[{\"modelInfo\":{\"modelName\":\"Ubuntusriovvf..base..module-0\",\"modelVersionId\":\"f4ef24dd-7a4e-4eef-83b7-c58f2f3e36e4\",\"modelInvariantUuid\":\"719aab1e-c551-46e0-87e8-a78dcd7891da\",\"modelVersion\":\"1\",\"modelCustomizationId\":\"dea421a8-c1b8-4044-8ca1-58c30de3b315\"},\"instanceName\":\"lcm-demo-network-1\",\"instanceParams\":[{\"name\":\"lcm-demo-network-1\",\"cidr\":\"10.10.10.0/24\"}]},{\"modelInfo\":{\"modelName\":\"Ubuntusriovvf..ubuntu-vf-module..module-1\",\"modelVersionId\":\"112f2de4-4f09-4567-9de1-2d271cb6e164\",\"modelInvariantUuid\":\"ba6d2e11-4e82-4bb8-9d52-a2962a263a09\",\"modelVersion\":\"1\",\"modelCustomizationId\":\"7bc2649e-b96b-44ec-adfe-4a6167f3034e\"},\"instanceName\":\"lcm-demo-ubuntu-1\",\"instanceParams\":[{\"name\":\"lcm-demo-ubuntu-1\",\"network_mgmt\":\"networkMgmt\",\"key_name\":\"demo\",\"network_name\":\"lcm-demo-network-1\",\"image_name\":\"imageName\",\"flavor_name\":\"m1.small\"}]}]}]},\"modelInfo\":{\"modelVersion\":\"2.0\",\"modelVersionId\":\"5bc2b6b3-c9bb-49a1-89c8-4dac5b236d52\",\"modelInvariantId\":\"a316f8fa-c886-483f-801b-6663e35b836c\",\"modelCustomizationId\":\"cs1-svc-modelCustomizationId\",\"modelName\":\"GuilinLcmSVC\",\"modelType\":\"service\"},\"instanceName\":\"service2-instanceName\"}]},\"modelInfo\":{\"modelVersion\":\"2.0\",\"modelVersionId\":\"5bc2b6b3-c9bb-49a1-89c8-4dac5b236d52\",\"modelInvariantId\":\"a316f8fa-c886-483f-801b-6663e35b836c\",\"modelName\":\"GuilinLcmSVC\",\"modelType\":\"service\"}}}],\"aLaCarte\":false},\"project\":{\"projectName\":\"Project-UbuntuDemo\"},\"owningEntity\":{\"owningEntityId\":\"33a8b609-1cfe-4d19-8dc2-5b95b921de1e\",\"owningEntityName\":\"demo\"},\"modelInfo\":{\"modelVersion\":\"2.0\",\"modelVersionId\":\"5bc2b6b3-c9bb-49a1-89c8-4dac5b236d52\",\"modelInvariantId\":\"a316f8fa-c886-483f-801b-6663e35b836c\",\"modelName\":\"GuilinLcmSVC\",\"modelType\":\"service\"}}}";
44 ObjectMapper mapper = new ObjectMapper();
45 mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
47 ServiceInstancesRequest request = mapper.readValue(incomingRequest, ServiceInstancesRequest.class);
48 userParamsExpected = request.getRequestDetails().getRequestParameters().getUserParams();
49 RequestContext context = new RequestContext();
50 RequestParameters parameters = new RequestParameters();
51 parameters.setUserParams(request.getRequestDetails().getRequestParameters().getUserParams());
52 context.setRequestParameters(parameters);
53 context.setProductFamilyId("FamilyId");
54 context.setSource("source");
55 context.setRequestorId("RequestOrId");
56 context.setAction("createInstance");
58 CloudRegion cloudRegion = new CloudRegion();
59 cloudRegion.setCloudOwner("CloudOwner");
60 cloudRegion.setLcpCloudRegionId("my-region-id");
61 cloudRegion.setTenantId("tenant-id");
63 Customer customer = new Customer();
64 customer.setGlobalCustomerId("GlobalCustomerId");
65 customer.setSubscriberName("SubscriberName");
67 ServiceInstance serviceInstance = new ServiceInstance();
68 OwningEntity owningEntity = new OwningEntity();
69 owningEntity.setOwningEntityId("owningEntityId");
70 owningEntity.setOwningEntityName("owningEntityName");
71 serviceInstance.setOwningEntity(owningEntity);
73 Project project = new Project();
74 project.setProjectName("projectName");
75 serviceInstance.setProject(project);
77 serviceInstance.setServiceInstanceId("serviceInstanceId");
79 GeneralBuildingBlock gbb = new GeneralBuildingBlock();
80 gbb.setCloudRegion(cloudRegion);
81 gbb.setCustomer(customer);
82 gbb.setRequestContext(context);
83 gbb.setServiceInstance(serviceInstance);
84 mockExecution = mock(BuildingBlockExecution.class);
85 doReturn(gbb).when(mockExecution).getGeneralBuildingBlock();
86 doReturn("CreateChildServiceBB").when(mockExecution).getFlowToBeCalled();
90 public void deleteChildServiceRequestBuilderTest() {
91 Service parent = new Service();
92 Service child = new Service();
94 ChildServiceRequestBuilder builder = ChildServiceRequestBuilder.getInstance(mockExecution, parent, child);
95 ServiceInstancesRequest sir = builder
96 .setParentRequestId(mockExecution.getGeneralBuildingBlock().getRequestContext().getMsoRequestId())
97 .setCorrelationId(UUID.randomUUID().toString()).setChildSvcInstanceId("childInstanceId").build();
99 Assert.assertEquals("childInstanceId", sir.getServiceInstanceId());
100 Assert.assertEquals("serviceInstanceId",
101 sir.getRequestDetails().getRelatedInstanceList()[0].getRelatedInstance().getInstanceId());
105 public void createChildServiceRequestBuilderTest() {
107 ServiceInstancesRequest sir = ChildServiceRequestBuilder.getInstance(mockExecution, "service1-instanceName")
108 .setParentRequestId(mockExecution.getGeneralBuildingBlock().getRequestContext().getMsoRequestId())
109 .setCorrelationId(UUID.randomUUID().toString()).setChildSvcInstanceId("childInstanceId").build();
111 Assert.assertEquals("childInstanceId", sir.getServiceInstanceId());
114 ModelInfo modelInfo = sir.getRequestDetails().getModelInfo();
115 Assert.assertEquals("a316f8fa-c886-483f-801b-6663e35b836c", modelInfo.getModelInvariantId());
116 Assert.assertEquals(ModelType.service, modelInfo.getModelType());
117 Assert.assertEquals("GuilinLcmSVC", modelInfo.getModelName());
118 Assert.assertEquals("2.0", modelInfo.getModelVersion());
119 Assert.assertEquals("cs1-svc-modelCustomizationId", modelInfo.getModelCustomizationId());
120 Assert.assertEquals("5bc2b6b3-c9bb-49a1-89c8-4dac5b236d52", modelInfo.getModelVersionId());
121 Assert.assertEquals("5bc2b6b3-c9bb-49a1-89c8-4dac5b236d52", modelInfo.getModelUuid());
122 Assert.assertEquals("a316f8fa-c886-483f-801b-6663e35b836c", modelInfo.getModelInvariantUuid());
125 RequestInfo requestInfo = sir.getRequestDetails().getRequestInfo();
126 Assert.assertNotNull(requestInfo.getCorrelator());
127 Assert.assertEquals("FamilyId", requestInfo.getProductFamilyId());
128 Assert.assertEquals("source", requestInfo.getSource());
129 Assert.assertEquals("service1-instanceName", requestInfo.getInstanceName());
130 Assert.assertEquals(false, requestInfo.getSuppressRollback());
131 Assert.assertEquals("RequestOrId", requestInfo.getRequestorId());
133 RelatedInstanceList[] relatedInstanceList = sir.getRequestDetails().getRelatedInstanceList();
134 Assert.assertEquals(1, relatedInstanceList.length);
135 RelatedInstance relatedInstance = relatedInstanceList[0].getRelatedInstance();
136 Assert.assertEquals("serviceInstanceId", relatedInstance.getInstanceId());
137 Assert.assertEquals(InstanceDirection.source, relatedInstance.getInstanceDirection());
139 ModelInfo parentModel = relatedInstance.getModelInfo();
140 Assert.assertEquals("a316f8fa-c886-483f-801b-6663e35b836c", parentModel.getModelInvariantId());
141 Assert.assertEquals(ModelType.service, parentModel.getModelType());
142 Assert.assertEquals("GuilinLcmSVC", parentModel.getModelName());
143 Assert.assertEquals("2.0", parentModel.getModelVersion());
144 Assert.assertEquals("5bc2b6b3-c9bb-49a1-89c8-4dac5b236d52", parentModel.getModelVersionId());
145 Assert.assertEquals("5bc2b6b3-c9bb-49a1-89c8-4dac5b236d52", parentModel.getModelUuid());
146 Assert.assertEquals("a316f8fa-c886-483f-801b-6663e35b836c", parentModel.getModelInvariantUuid());
148 SubscriberInfo subsciberInfo = sir.getRequestDetails().getSubscriberInfo();
149 Assert.assertEquals("GlobalCustomerId", subsciberInfo.getGlobalSubscriberId());
150 Assert.assertEquals("SubscriberName", subsciberInfo.getSubscriberName());
152 CloudConfiguration cloudConfiguration = sir.getRequestDetails().getCloudConfiguration();
153 Assert.assertEquals("tenant-id", cloudConfiguration.getTenantId());
154 Assert.assertEquals("CloudOwner", cloudConfiguration.getCloudOwner());
155 Assert.assertEquals("my-region-id", cloudConfiguration.getLcpCloudRegionId());
157 org.onap.so.serviceinstancebeans.RequestParameters requestParameters =
158 sir.getRequestDetails().getRequestParameters();
159 Assert.assertEquals(2, requestParameters.getUserParams().size());
160 Assert.assertEquals(userParamsExpected.get(0), requestParameters.getUserParams().get(0));
162 ObjectMapper mapper = new ObjectMapper();
163 mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
166 String expectedChildService =
167 mapper.writeValueAsString(getChildService(userParamsExpected, "service1-instanceName"));
168 String actualChildService =
169 mapper.writeValueAsString(requestParameters.getUserParams().get(1).get("service"));
170 Assert.assertEquals(expectedChildService, actualChildService);
171 } catch (Exception e) {
175 org.onap.so.serviceinstancebeans.Project project = sir.getRequestDetails().getProject();
176 Assert.assertEquals("projectName", project.getProjectName());
178 org.onap.so.serviceinstancebeans.OwningEntity owningEntity = sir.getRequestDetails().getOwningEntity();
179 Assert.assertEquals("owningEntityId", owningEntity.getOwningEntityId());
180 Assert.assertEquals("owningEntityName", owningEntity.getOwningEntityName());
184 public void childServiceCloudConfigurationRequestBuilderTest() throws IOException {
185 String incomingRequest =
186 "{\"requestDetails\":{\"subscriberInfo\":{\"globalSubscriberId\":\"ubuntu-customer\"},\"requestInfo\":{\"suppressRollback\":false,\"instanceName\":\"onap-test-parent-child-service\",\"productFamilyId\":\"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\"requestorId\":\"portal\",\"source\":\"postman\"},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"215\",\"tenantId\":\"e2710e84063b421fab08189818761d55\",\"cloudOwner\":\"iaas\"},\"requestParameters\":{\"subscriptionServiceType\":\"ubuntu\",\"userParams\":[{\"Homing_Solution\":\"none\"},{\"service\":{\"instanceParams\":[],\"resources\":{\"services\":[{\"instanceParams\":[],\"resources\":{},\"modelInfo\":{\"modelVersion\":\"3.0\",\"modelVersionId\":\"872efe6d-c787-4caf-b6f8-3234a7bfc5cf\",\"modelInvariantId\":\"a316f8fa-c886-483f-801b-6663e35b836c\",\"modelName\":\"GuilinLcmSVC\",\"modelType\":\"service\"},\"instanceName\":\"service1-instanceName-child\",\"cloudConfiguration\":{\"lcpCloudRegionId\":\"test\",\"tenantId\":\"1234567890\",\"cloudOwner\":\"demo\"}},{\"instanceParams\":[],\"resources\":{},\"modelInfo\":{\"modelVersion\":\"3.0\",\"modelVersionId\":\"872efe6d-c787-4caf-b6f8-3234a7bfc5cf\",\"modelInvariantId\":\"a316f8fa-c886-483f-801b-6663e35b836c\",\"modelName\":\"GuilinLcmSVC\",\"modelType\":\"service\"},\"instanceName\":\"service2-instanceName-child\"}]},\"modelInfo\":{\"modelVersion\":\"3.0\",\"modelVersionId\":\"872efe6d-c787-4caf-b6f8-3234a7bfc5cf\",\"modelInvariantId\":\"a316f8fa-c886-483f-801b-6663e35b836c\",\"modelName\":\"GuilinLcmSVC\",\"modelType\":\"service\"}}}],\"aLaCarte\":false},\"project\":{\"projectName\":\"Project-UbuntuDemo\"},\"owningEntity\":{\"owningEntityId\":\"33a8b609-1cfe-4d19-8dc2-5b95b921de1e\",\"owningEntityName\":\"seb\"},\"modelInfo\":{\"modelVersion\":\"3.0\",\"modelVersionId\":\"872efe6d-c787-4caf-b6f8-3234a7bfc5cf\",\"modelInvariantId\":\"a316f8fa-c886-483f-801b-6663e35b836c\",\"modelName\":\"GuilinLcmSVC\",\"modelType\":\"service\"}}}";
188 ObjectMapper mapper = new ObjectMapper();
189 mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
191 ServiceInstancesRequest request = mapper.readValue(incomingRequest, ServiceInstancesRequest.class);
193 RequestContext context = new RequestContext();
194 RequestParameters parameters = new RequestParameters();
195 parameters.setUserParams(request.getRequestDetails().getRequestParameters().getUserParams());
196 context.setRequestParameters(parameters);
197 context.setProductFamilyId("FamilyId");
198 context.setSource("source");
199 context.setRequestorId("RequestOrId");
200 context.setAction("createInstance");
202 CloudRegion cloudRegion = new CloudRegion();
203 cloudRegion.setCloudOwner("CloudOwner");
204 cloudRegion.setLcpCloudRegionId("my-region-id");
205 cloudRegion.setTenantId("tenant-id");
207 ServiceInstance serviceInstance = new ServiceInstance();
208 OwningEntity owningEntity = new OwningEntity();
209 owningEntity.setOwningEntityId("owningEntityId");
210 owningEntity.setOwningEntityName("owningEntityName");
211 serviceInstance.setOwningEntity(owningEntity);
213 GeneralBuildingBlock gbb = new GeneralBuildingBlock();
214 gbb.setCloudRegion(cloudRegion);
215 gbb.setRequestContext(context);
216 gbb.setServiceInstance(serviceInstance);
217 mockExecution = mock(BuildingBlockExecution.class);
218 doReturn(gbb).when(mockExecution).getGeneralBuildingBlock();
219 doReturn("CreateChildServiceBB").when(mockExecution).getFlowToBeCalled();
221 ServiceInstancesRequest sir = ChildServiceRequestBuilder
222 .getInstance(mockExecution, "service1-instanceName-child")
223 .setParentRequestId(mockExecution.getGeneralBuildingBlock().getRequestContext().getMsoRequestId())
224 .setCorrelationId(UUID.randomUUID().toString()).setChildSvcInstanceId("childInstanceId").build();
226 Assert.assertEquals("childInstanceId", sir.getServiceInstanceId());
228 CloudConfiguration cloudConfiguration = sir.getRequestDetails().getCloudConfiguration();
229 Assert.assertEquals("1234567890", cloudConfiguration.getTenantId());
230 Assert.assertEquals("demo", cloudConfiguration.getCloudOwner());
231 Assert.assertEquals("test", cloudConfiguration.getLcpCloudRegionId());
234 private Service getChildService(List<Map<String, Object>> userParams, String serviceInstanceName)
236 String USERPARAMSERVICE = "service";
237 for (Map<String, Object> params : userParams) {
238 if (params.containsKey(USERPARAMSERVICE)) {
239 ObjectMapper obj = new ObjectMapper();
240 String input = obj.writeValueAsString(params.get(USERPARAMSERVICE));
241 Service validate = obj.readValue(input, Service.class);
242 if (validate.getResources().getServices() != null) {
243 for (Service service : validate.getResources().getServices()) {
244 if (serviceInstanceName.equals(service.getInstanceName())) {