summaryrefslogtreecommitdiffstats
path: root/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ReqCapOccurrencesTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ReqCapOccurrencesTest.java')
-rw-r--r--asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ReqCapOccurrencesTest.java1194
1 files changed, 0 insertions, 1194 deletions
diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ReqCapOccurrencesTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ReqCapOccurrencesTest.java
deleted file mode 100644
index fdec8346fc..0000000000
--- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ReqCapOccurrencesTest.java
+++ /dev/null
@@ -1,1194 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdc.ci.tests.execute.service;
-
-import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_SUCCESS;
-import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertNotNull;
-import static org.testng.AssertJUnit.assertTrue;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-
-import org.apache.http.client.ClientProtocolException;
-import org.junit.rules.TestName;
-import org.openecomp.sdc.be.dao.api.ActionStatus;
-import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
-import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
-import org.openecomp.sdc.be.model.CapReqDef;
-import org.openecomp.sdc.be.model.CapabilityDefinition;
-import org.openecomp.sdc.be.model.CapabilityRequirementRelationship;
-import org.openecomp.sdc.be.model.Component;
-import org.openecomp.sdc.be.model.ComponentInstance;
-import org.openecomp.sdc.be.model.RelationshipImpl;
-import org.openecomp.sdc.be.model.RelationshipInfo;
-import org.openecomp.sdc.be.model.RequirementCapabilityRelDef;
-import org.openecomp.sdc.be.model.RequirementDefinition;
-import org.openecomp.sdc.be.model.Resource;
-import org.openecomp.sdc.be.model.Service;
-import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.ci.tests.api.ComponentInstanceBaseTest;
-import org.openecomp.sdc.ci.tests.datatypes.ImportReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
-import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
-import org.openecomp.sdc.ci.tests.datatypes.enums.NormativeTypesEnum;
-import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
-import org.openecomp.sdc.ci.tests.datatypes.enums.ServiceCategoriesEnum;
-import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
-import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
-import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
-import org.openecomp.sdc.ci.tests.utils.general.ImportUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.ComponentInstanceRestUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.ComponentRestUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
-import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
-import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils;
-import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
-public class ReqCapOccurrencesTest extends ComponentInstanceBaseTest {
-
- private ImportReqDetails importReqDetails1; // atomic resource
- private ImportReqDetails importReqDetails2;
- private ImportReqDetails importReqDetails3;
- private ImportReqDetails importReqDetails4;
- private Resource resourceVFC1;
- private Resource resourceVFC2;
- private Resource resourceVFC3;
- private Resource resourceVFC4;
- private ResourceReqDetails resourceDetailsVF100;
- private ResourceReqDetails resourceDetailsVF200;
- private Resource resourceVF100;
- private Resource resourceVF200;
- protected String testResourcesPath;
-
- protected final String importYmlWithReq11 = "softwareComponentReq11.yml";
- protected final String importYmlWithReq12 = "softwareComponentReq12.yml";
- protected final String importYmlWithCap11 = "computeCap11.yml";
- protected final String importYmlWithCap1Unbounded = "computeCap1UNBOUNDED.yml";
- protected final String capabilitiesAndRequirementsType = "tosca.capabilities.Container";
-
- public ReqCapOccurrencesTest() {
- super(new TestName(), ReqCapOccurrencesTest.class.getSimpleName());
- }
-
- @BeforeMethod
- public void before() throws Exception {
- // Do not use call init() from ComponentInstanceBaseTest
- expectedContainerCapabilities = new LinkedHashMap<String, List<CapabilityDefinition>>();
- expectedContainerRequirements = new LinkedHashMap<String, List<RequirementDefinition>>();
- removedRequirements = new HashMap<>();
- expectedContInstReqCap = new HashMap<>();
-
- RestResponse importResourceResponse;
- sdncDesignerDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
- sdncAdminDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN);
- // import yml file location
- String sourceDir = config.getResourceConfigDir();
- final String workDir = "importToscaResourceByCreateUrl";
- testResourcesPath = sourceDir + File.separator + workDir;
- ///// Create atomic resources /////////////////////////
- // import VFC1 with Requirements : MIN=1 MAX=2
- ///// (tosca.capabilities.Container)
- importReqDetails1 = ElementFactory.getDefaultImportResource("VFC1");
- importResourceResponse = importedResource(importReqDetails1, importYmlWithReq12);
- // resourceVFC1 =
- // ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse());
- RestResponse restResponse = LifecycleRestUtils.changeResourceState(importReqDetails1, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- resourceVFC1 = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- // import VFC2 with Capabilities : MIN 1 MAX UNBOUNDED
- // (tosca.capabilities.Container)
- importReqDetails2 = ElementFactory.getDefaultImportResource("VFC2");
- importResourceResponse = importedResource(importReqDetails2, importYmlWithCap1Unbounded);
- // resourceVFC2 =
- // ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse());
- restResponse = LifecycleRestUtils.changeResourceState(importReqDetails2, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- resourceVFC2 = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- // import VFC3 with Capabilities : MIN 1 MAX 1
- // (tosca.capabilities.Container)
- importReqDetails3 = ElementFactory.getDefaultImportResource("VFC3");
- importResourceResponse = importedResource(importReqDetails3, importYmlWithCap11);
- // resourceVFC3 =
- // ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse());
- restResponse = LifecycleRestUtils.changeResourceState(importReqDetails3, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- resourceVFC3 = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
- // import VFC4 with Requirements : MIN 1 MAX 1
- // (tosca.capabilities.Container)
- importReqDetails4 = ElementFactory.getDefaultImportResource("VFC4");
- importResourceResponse = importedResource(importReqDetails4, importYmlWithReq11);
- // resourceVFC4 =
- // ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse());
- restResponse = LifecycleRestUtils.changeResourceState(importReqDetails4, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- resourceVFC4 = ResponseParser.convertResourceResponseToJavaObject(restResponse.getResponse());
-
- // create VF100
- resourceDetailsVF100 = ElementFactory.getDefaultResourceByType("VF1000", NormativeTypesEnum.ROOT,
- ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, sdncDesignerDetails.getUserId(),
- ResourceTypeEnum.VF.toString());
- RestResponse createResourceVF100 = ResourceRestUtils.createResource(resourceDetailsVF100, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createResourceVF100);
- // create VF200
- resourceDetailsVF200 = ElementFactory.getDefaultResourceByType("VF2000", NormativeTypesEnum.ROOT,
- ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, sdncDesignerDetails.getUserId(),
- ResourceTypeEnum.VF.toString());
- RestResponse createResourceVF200 = ResourceRestUtils.createResource(resourceDetailsVF200, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createResourceVF200);
- // Create Service
- serviceDetails_01 = ElementFactory.getDefaultService("newtestservice1", ServiceCategoriesEnum.MOBILITY,
- sdncDesignerDetails.getUserId());
- RestResponse createServiceRestResponse = ServiceRestUtils.createService(serviceDetails_01, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createServiceRestResponse);
-
- }
-
- // US628514 Capability/Requirement "Occurrences" attribute in CREATE/DELETE
- // Relation APIs
- // Container = SERVICE , Container instance = VF
- @Test
- public void capAndReqOccurrencesInServiceAndHisInstancesNoAssociation() throws Exception, Exception {
- RestResponse getResourseRestResponse;
- // Add instance of VFC1 (Req MIN=1 MAX=2) to VF1000
- ComponentInstance componentInstanceReq = createComponentInstance(importReqDetails1, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceReq);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Add instance of VFC21 (Cap MIN=1 MAX=UNBOUNDED) to VF2000
- ComponentInstance componentInstanceCap = createComponentInstance(importReqDetails2, sdncDesignerDetails,
- resourceDetailsVF200);
- assertNotNull(componentInstanceCap);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF200.getUniqueId());
- resourceVF200 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Check-In both VFs
- RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF100, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF200, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- // Create VF instances
- RestResponse createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF100,
- sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF200, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- // get service
- RestResponse getServiceResponse = ServiceRestUtils.getService(serviceDetails_01, sdncDesignerDetails);
- ResourceRestUtils.checkSuccess(getServiceResponse);
- Service service = ResponseParser.parseToObjectUsingMapper(getServiceResponse.getResponse(), Service.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "1";
- String containerMaxReq = "2";
- String containerMinCap = "1";
- String containerMaxCap = "UNBOUNDED";
- verifyContainerCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType, containerMinReq,
- containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType,
- resourceVF200, resourceVF100);
- }
-
- @Test
- public void serviceInstanceAssociationReqMaxOccurrencesNotReached() throws Exception, Exception {
- RestResponse getResourseRestResponse;
- // Add instance of VFC1 (Req MIN=1 MAX=2) to VF1000
- ComponentInstance componentInstanceReq = createComponentInstance(importReqDetails1, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceReq);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Add instance of VFC2 (Cap MIN=1 MAX=UNBOUNDED) to VF2000
- ComponentInstance componentInstanceCap = createComponentInstance(importReqDetails2, sdncDesignerDetails,
- resourceDetailsVF200);
- assertNotNull(componentInstanceCap);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF200.getUniqueId());
- resourceVF200 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Check-In both VFs
- RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF100, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF200, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- // Create VF instances
- RestResponse createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF100,
- sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String fromCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF200, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String toCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- // associate 2 VFs
- String capType = capabilitiesAndRequirementsType;
- String reqName = "host";
- RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
- serviceDetails_01);
- ResourceRestUtils.checkSuccess(getResourceResponse);
- CapReqDef capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
- List<CapabilityDefinition> capList = capReqDef.getCapabilities().get(capType);
- List<RequirementDefinition> reqList = capReqDef.getRequirements().get(capType);
- RequirementCapabilityRelDef requirementDef = getReqCapRelation(fromCompInstId, toCompInstId, capType, reqName,
- capList, reqList, componentInstanceReq.getUniqueId(), componentInstanceCap.getUniqueId());
- RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
- sdncDesignerDetails, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE);
- ResourceRestUtils.checkSuccess(associateInstances);
- // get service
- RestResponse getServiceResponse = ServiceRestUtils.getService(serviceDetails_01, sdncDesignerDetails);
- ResourceRestUtils.checkSuccess(getServiceResponse);
- Service service = ResponseParser.parseToObjectUsingMapper(getServiceResponse.getResponse(), Service.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "0";
- String containerMaxReq = "1";
- String containerMinCap = "0";
- String containerMaxCap = "UNBOUNDED";
- verifyContainerCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType, containerMinReq,
- containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType,
- resourceVF200, resourceVF100);
- }
-
- @Test
- public void serviceInstanceAssociationReqMaxOccurrencesIsReached() throws Exception, Exception {
- RestResponse getResourseRestResponse;
- // Add instance of VFC4 (Req MIN=1 MAX=1) to VF1000
- ComponentInstance componentInstanceReq = createComponentInstance(importReqDetails4, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceReq);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Add instance of VFC2 (Cap MIN=1 MAX=UNBOUNDED) to VF2000
- ComponentInstance componentInstanceCap = createComponentInstance(importReqDetails2, sdncDesignerDetails,
- resourceDetailsVF200);
- assertNotNull(componentInstanceCap);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF200.getUniqueId());
- resourceVF200 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Check-In both VFs
- RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF100, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF200, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- // Create VF instances
- RestResponse createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF100,
- sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String fromCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF200, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String toCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- // associate 2 VFs
- String capType = capabilitiesAndRequirementsType;
- String reqName = "host";
- RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
- serviceDetails_01);
- ResourceRestUtils.checkSuccess(getResourceResponse);
- CapReqDef capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
- List<CapabilityDefinition> capList = capReqDef.getCapabilities().get(capType);
- List<RequirementDefinition> reqList = capReqDef.getRequirements().get(capType);
- RequirementCapabilityRelDef requirementDef = getReqCapRelation(fromCompInstId, toCompInstId, capType, reqName,
- capList, reqList, componentInstanceReq.getUniqueId(), componentInstanceCap.getUniqueId());
- RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
- sdncDesignerDetails, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE);
- ResourceRestUtils.checkSuccess(associateInstances);
- // get service
- RestResponse getServiceResponse = ServiceRestUtils.getService(serviceDetails_01, sdncDesignerDetails);
- ResourceRestUtils.checkSuccess(getServiceResponse);
- Service service = ResponseParser.parseToObjectUsingMapper(getServiceResponse.getResponse(), Service.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "0";
- String containerMaxReq = "0";
- String containerMinCap = "0";
- String containerMaxCap = "UNBOUNDED";
- verifyContainerCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType, containerMinReq,
- containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType,
- resourceVF200, resourceVF100);
- }
-
- @Test
- public void associateServiceInstanceWhenReqMaxOccurrencesAlreadyReached() throws Exception, Exception {
- RestResponse getResourseRestResponse;
- // Add instance of VFC4 (Req MIN=1 MAX=1) to VF1000
- ComponentInstance componentInstanceReq = createComponentInstance(importReqDetails4, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceReq);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Add instance of VFC2 (Cap MIN=1 MAX=UNBOUNDED) to VF2.00
- ComponentInstance componentInstanceCap = createComponentInstance(importReqDetails2, sdncDesignerDetails,
- resourceDetailsVF200);
- assertNotNull(componentInstanceCap);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF200.getUniqueId());
- resourceVF200 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Check-In both VFs
- RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF100, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF200, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- // Create VF instances
- RestResponse createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF100,
- sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String vf1Name = ResponseParser.getValueFromJsonResponse(createVFInstResp.getResponse(), "name");
- String fromCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF200, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String vf2Name = ResponseParser.getValueFromJsonResponse(createVFInstResp.getResponse(), "name");
- String toCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- // associate 2 VFs
- String capType = capabilitiesAndRequirementsType;
- String reqName = "host";
- RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
- serviceDetails_01);
- ResourceRestUtils.checkSuccess(getResourceResponse);
- CapReqDef capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
- List<CapabilityDefinition> capList = capReqDef.getCapabilities().get(capType);
- List<RequirementDefinition> reqList = capReqDef.getRequirements().get(capType);
- RequirementCapabilityRelDef requirementDef = getReqCapRelation(fromCompInstId, toCompInstId, capType, reqName,
- capList, reqList, componentInstanceReq.getUniqueId(), componentInstanceCap.getUniqueId());
- RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
- sdncDesignerDetails, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE);
- ResourceRestUtils.checkSuccess(associateInstances);
- // associate same instances again - when requirement Max Occurrences
- // reached
- associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef, sdncDesignerDetails,
- serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE);
- assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_NOT_FOUND,
- associateInstances.getErrorCode().intValue());
- ArrayList<String> varibales = new ArrayList<String>();
- varibales.add(vf1Name);
- varibales.add(vf2Name);
- varibales.add("host");
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_INSTANCE_MATCH_NOT_FOUND.name(), varibales,
- associateInstances.getResponse());
- // get service
- RestResponse getServiceResponse = ServiceRestUtils.getService(serviceDetails_01, sdncDesignerDetails);
- ResourceRestUtils.checkSuccess(getServiceResponse);
- Service service = ResponseParser.parseToObjectUsingMapper(getServiceResponse.getResponse(), Service.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "0";
- String containerMaxReq = "0";
- String containerMinCap = "0";
- String containerMaxCap = "UNBOUNDED";
- verifyContainerCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType, containerMinReq,
- containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType,
- resourceVF200, resourceVF100);
- }
-
- @Test
- public void serviceInstanceAssociationCapMaxOccurrencesIsReached() throws Exception, Exception {
- RestResponse getResourseRestResponse;
- // Add instance of VFC1 (Req MIN=1 MAX=2) to VF1000
- ComponentInstance componentInstanceReq = createComponentInstance(importReqDetails1, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceReq);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Add instance of VFC3 (Cap MIN=1 MAX=1) to VF2000
- ComponentInstance componentInstanceCap = createComponentInstance(importReqDetails3, sdncDesignerDetails,
- resourceDetailsVF200);
- assertNotNull(componentInstanceCap);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF200.getUniqueId());
- resourceVF200 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Check-In both VFs
- RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF100, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF200, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- // Create VF instances
- RestResponse createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF100,
- sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String fromCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF200, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String toCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- // associate 2 VFs
- String capType = capabilitiesAndRequirementsType;
- String reqName = "host";
- RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
- serviceDetails_01);
- ResourceRestUtils.checkSuccess(getResourceResponse);
- CapReqDef capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
- List<CapabilityDefinition> capList = capReqDef.getCapabilities().get(capType);
- List<RequirementDefinition> reqList = capReqDef.getRequirements().get(capType);
- RequirementCapabilityRelDef requirementDef = getReqCapRelation(fromCompInstId, toCompInstId, capType, reqName,
- capList, reqList, componentInstanceReq.getUniqueId(), componentInstanceCap.getUniqueId());
- RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
- sdncDesignerDetails, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE);
- ResourceRestUtils.checkSuccess(associateInstances);
- // get service
- RestResponse getServiceResponse = ServiceRestUtils.getService(serviceDetails_01, sdncDesignerDetails);
- ResourceRestUtils.checkSuccess(getServiceResponse);
- Service service = ResponseParser.parseToObjectUsingMapper(getServiceResponse.getResponse(), Service.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "0";
- String containerMaxReq = "1";
- String containerMinCap = "0";
- String containerMaxCap = "0";
- verifyContainerCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType, containerMinReq,
- containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType,
- resourceVF200, resourceVF100);
- }
-
- @Test
- public void associationServiceInstanceWhenCapMaxOccurrencesAlreadyReached() throws Exception, Exception {
- RestResponse getResourseRestResponse;
- // Add instance of VFC1 (Req MIN=1 MAX=2) to VF1000
- ComponentInstance componentInstanceReq = createComponentInstance(importReqDetails1, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceReq);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Add instance of VFC3 (Cap MIN=1 MAX=1) to VF2000
- ComponentInstance componentInstanceCap = createComponentInstance(importReqDetails3, sdncDesignerDetails,
- resourceDetailsVF200);
- assertNotNull(componentInstanceCap);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF200.getUniqueId());
- resourceVF200 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Check-In both VFs
- RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF100, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF200, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- // Create VF instances
- RestResponse createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF100,
- sdncDesignerDetails);
- // RestResponse createVFInstResp = createVFInstance(serviceDetails_01,
- // resourceDetailsVF100, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String vf1Name = ResponseParser.getValueFromJsonResponse(createVFInstResp.getResponse(), "name");
- String fromCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF200, sdncDesignerDetails);
- // createVFInstResp = createVFInstance(serviceDetails_01,
- // resourceDetailsVF200, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String vf2Name = ResponseParser.getValueFromJsonResponse(createVFInstResp.getResponse(), "name");
- String toCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- // associate 2 VFs
- String capType = capabilitiesAndRequirementsType;
- String reqName = "host";
- RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
- serviceDetails_01);
- ResourceRestUtils.checkSuccess(getResourceResponse);
- CapReqDef capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
- List<CapabilityDefinition> capList = capReqDef.getCapabilities().get(capType);
- List<RequirementDefinition> reqList = capReqDef.getRequirements().get(capType);
- RequirementCapabilityRelDef requirementDef = getReqCapRelation(fromCompInstId, toCompInstId, capType, reqName,
- capList, reqList, componentInstanceReq.getUniqueId(), componentInstanceCap.getUniqueId());
- RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
- sdncDesignerDetails, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE);
- ResourceRestUtils.checkSuccess(associateInstances);
- // get service
- RestResponse getServiceResponse = ServiceRestUtils.getService(serviceDetails_01, sdncDesignerDetails);
- ResourceRestUtils.checkSuccess(getServiceResponse);
- Service service = ResponseParser.parseToObjectUsingMapper(getServiceResponse.getResponse(), Service.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "0";
- String containerMaxReq = "1";
- String containerMinCap = "0";
- String containerMaxCap = "0";
- verifyContainerCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType, containerMinReq,
- containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType,
- resourceVF200, resourceVF100);
- // associate same instances again - when requirement Max Occurrences
- // reached
- associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef, sdncDesignerDetails,
- serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE);
- assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_NOT_FOUND,
- associateInstances.getErrorCode().intValue());
- ArrayList<String> varibales = new ArrayList<String>();
- varibales.add(vf1Name);
- varibales.add(vf2Name);
- varibales.add("host");
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_INSTANCE_RELATION_NOT_FOUND.name(),
- varibales, associateInstances.getResponse());
- }
-
- @Test
- public void associationAndDisassociateServiceInstancesWhenReqMaxOccurrencesAlreadyReached()
- throws Exception, Exception {
- RestResponse getResourseRestResponse;
- // Add instance of VFC4 (Req MIN=1 MAX=1) to VF1000
- ComponentInstance componentInstanceReq = createComponentInstance(importReqDetails4, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceReq);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Add instance of VFC3 (Cap MIN=1 MAX=1) to VF2000
- ComponentInstance componentInstanceCap = createComponentInstance(importReqDetails3, sdncDesignerDetails,
- resourceDetailsVF200);
- assertNotNull(componentInstanceCap);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF200.getUniqueId());
- resourceVF200 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Check-In both VFs
- RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF100, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF200, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- // Create VF instances
- RestResponse createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF100,
- sdncDesignerDetails);
- // RestResponse createVFInstResp = createVFInstance(serviceDetails_01,
- // resourceDetailsVF100, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String fromCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF200, sdncDesignerDetails);
- // createVFInstResp = createVFInstance(serviceDetails_01,
- // resourceDetailsVF200, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String toCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- // associate 2 VF Instances
- String capType = capabilitiesAndRequirementsType;
- String reqName = "host";
- RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
- serviceDetails_01);
- ResourceRestUtils.checkSuccess(getResourceResponse);
- CapReqDef capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
- List<CapabilityDefinition> capList = capReqDef.getCapabilities().get(capType);
- List<RequirementDefinition> reqList = capReqDef.getRequirements().get(capType);
- RequirementCapabilityRelDef requirementDef = getReqCapRelation(fromCompInstId, toCompInstId, capType, reqName,
- capList, reqList, componentInstanceReq.getUniqueId(), componentInstanceCap.getUniqueId());
- RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
- sdncDesignerDetails, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE);
- ResourceRestUtils.checkSuccess(associateInstances);
- // get service
- RestResponse getServiceResponse = ServiceRestUtils.getService(serviceDetails_01, sdncDesignerDetails);
- ResourceRestUtils.checkSuccess(getServiceResponse);
- Service service = ResponseParser.parseToObjectUsingMapper(getServiceResponse.getResponse(), Service.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "0";
- String containerMaxReq = "0";
- String containerMinCap = "0";
- String containerMaxCap = "0";
- verifyContainerCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType, containerMinReq,
- containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType,
- resourceVF200, resourceVF100);
- // Disassociate 2 VF Instances
- RestResponse dissociateInstances = ComponentInstanceRestUtils.dissociateInstances(requirementDef,
- sdncDesignerDetails, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE);
- assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS,
- dissociateInstances.getErrorCode().intValue());
- assertTrue(getComponentInstancesRelations(resourceDetailsVF100.getUniqueId()).isEmpty());
- // get service and verify Occurrences in container and container
- // instance requirements and Capabilities
- getServiceResponse = ServiceRestUtils.getService(serviceDetails_01, sdncDesignerDetails);
- ResourceRestUtils.checkSuccess(getServiceResponse);
- service = ResponseParser.parseToObjectUsingMapper(getServiceResponse.getResponse(), Service.class);
- containerMinReq = "1";
- containerMaxReq = "1";
- containerMinCap = "1";
- containerMaxCap = "1";
- verifyContainerCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType, containerMinReq,
- containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType,
- resourceVF200, resourceVF100);
- }
-
- @Test(enabled = false)
- public void aaaa() throws Exception, Exception {
- RestResponse getResourseRestResponse;
- // Add instance of VFC1 (Req MIN=1 MAX=2) to VF1000
- ComponentInstance componentInstanceReq = createComponentInstance(importReqDetails1, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceReq);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Add instance of VFC3 (Cap MIN=1 MAX=1) to VF2000
- ComponentInstance componentInstanceCap = createComponentInstance(importReqDetails3, sdncDesignerDetails,
- resourceDetailsVF200);
- assertNotNull(componentInstanceCap);
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF200.getUniqueId());
- resourceVF200 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Check-In both VFs
- RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF100, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF200, sdncDesignerDetails,
- LifeCycleStatesEnum.CHECKIN);
- ResourceRestUtils.checkSuccess(restResponse);
- // Create VF instances
- // RestResponse createVFInstResp =
- // createVFInstanceDuringSetup(serviceDetails_01, resourceDetailsVF100,
- // sdncDesignerDetails);
- RestResponse createVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF100, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String vf1Name = ResponseParser.getValueFromJsonResponse(createVFInstResp.getResponse(), "name");
- String fromCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- // createVFInstResp = createVFInstanceDuringSetup(serviceDetails_01,
- // resourceDetailsVF200, sdncDesignerDetails);
- createVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF200, sdncDesignerDetails);
- ResourceRestUtils.checkCreateResponse(createVFInstResp);
- String vf2Name = ResponseParser.getValueFromJsonResponse(createVFInstResp.getResponse(), "name");
- String toCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp);
- // associate 2 VFs
- String capType = capabilitiesAndRequirementsType;
- String reqName = "host";
- RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails,
- serviceDetails_01);
- ResourceRestUtils.checkSuccess(getResourceResponse);
- CapReqDef capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class);
- List<CapabilityDefinition> capList = capReqDef.getCapabilities().get(capType);
- List<RequirementDefinition> reqList = capReqDef.getRequirements().get(capType);
- RequirementCapabilityRelDef requirementDef = getReqCapRelation(fromCompInstId, toCompInstId, capType, reqName,
- capList, reqList, componentInstanceReq.getUniqueId(), componentInstanceCap.getUniqueId());
- RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
- sdncDesignerDetails, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE);
- ResourceRestUtils.checkSuccess(associateInstances);
- getComponentAndValidateRIs(serviceDetails_01, 2, 1);
- // get service
- RestResponse getServiceResponse = ServiceRestUtils.getService(serviceDetails_01, sdncDesignerDetails);
- ResourceRestUtils.checkSuccess(getServiceResponse);
- Service service = ResponseParser.parseToObjectUsingMapper(getServiceResponse.getResponse(), Service.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "0";
- String containerMaxReq = "1";
- String containerMinCap = "0";
- String containerMaxCap = "0";
- verifyContainerCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType, containerMinReq,
- containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(service, capabilitiesAndRequirementsType,
- resourceVF200, resourceVF100);
- // associate same instances again - when requirement Max Occurrences
- // reached
- associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef, sdncDesignerDetails,
- serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE);
- assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_NOT_FOUND,
- associateInstances.getErrorCode().intValue());
- ArrayList<String> varibales = new ArrayList<String>();
- varibales.add(vf1Name);
- varibales.add(vf2Name);
- varibales.add("host");
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_INSTANCE_RELATION_NOT_FOUND.name(),
- varibales, associateInstances.getResponse());
- }
-
- //////////////////////////////////////////////////////////////////////////////////////////////////
- // US628514 Capability/Requirement "Occurrences" attribute in CREATE/DELETE
- ////////////////////////////////////////////////////////////////////////////////////////////////// Relation
- ////////////////////////////////////////////////////////////////////////////////////////////////// APIs
- // Container = VF , Container instance = VFC
- @Test
- public void capAndReqOccurrencesInVfAndHisInstancesNoAssociation() throws Exception, Exception {
- // Add VFC1 and VFC2 instances in VF
- ComponentInstance createComponentInstance1 = createComponentInstance(importReqDetails1, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(createComponentInstance1);
- ComponentInstance createComponentInstance2 = createComponentInstance(importReqDetails2, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(createComponentInstance2);
- // GET resource
- RestResponse getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "1";
- String containerMaxReq = "2";
- String containerMinCap = "1";
- String containerMaxCap = "UNBOUNDED";
- verifyContainerCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- containerMinReq, containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- resourceVFC2, resourceVFC1);
- }
-
- @Test
- public void vfInstanceAssociationReqMaxOccurrencesNotReached() throws Exception, Exception {
- // Add VFC1 (with Requirements: tosca.capabilities.Container, MIN=1
- // MAX=2) instance to VF
- ComponentInstance componentInstanceWithReq = createComponentInstance(importReqDetails1, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceWithReq);
- // Add VFC2 (with Capabilities: tosca.capabilities.Container, MIN=1,
- // MAX=UNBOUNDED ) instance to VF
- ComponentInstance componentInstanceWithCap = createComponentInstance(importReqDetails2, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceWithCap);
- // associate Instances
- CapReqDef capReqDefBeforeAssociate = getResourceReqCap(resourceDetailsVF100);
- RequirementCapabilityRelDef requirementDef = setRelationshipBetweenInstances(componentInstanceWithReq,
- componentInstanceWithCap, capReqDefBeforeAssociate);
- RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
- sdncDesignerDetails, resourceDetailsVF100.getUniqueId(), ComponentTypeEnum.RESOURCE);
- assertEquals("Check response code ", STATUS_CODE_SUCCESS, associateInstances.getErrorCode().intValue());
- assertTrue(checkRealtionship(requirementDef.getFromNode(), requirementDef.getToNode(),
- resourceDetailsVF100.getUniqueId()));
- // GET resource
- RestResponse getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "0";
- String containerMaxReq = "1";
- String containerMinCap = "0";
- String containerMaxCap = "UNBOUNDED";
- verifyContainerCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- containerMinReq, containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- resourceVFC2, resourceVFC1);
-
- }
-
- @Test
- public void vfInstanceAssociationReqMaxOccurrencesIsReached() throws Exception, Exception {
- // Add VFC4 (with Requirements: tosca.capabilities.Container, MIN=1
- // MAX=1) instance to VF
- ComponentInstance componentInstanceWithReq = createComponentInstance(importReqDetails4, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceWithReq);
- // Add VFC2 (with Capabilities: tosca.capabilities.Container, MIN=1,
- // MAX=UNBOUNDED ) instance to VF
- ComponentInstance componentInstanceWithCap = createComponentInstance(importReqDetails2, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceWithCap);
- // associate Instances
- CapReqDef capReqDefBeforeAssociate = getResourceReqCap(resourceDetailsVF100);
- RequirementCapabilityRelDef requirementDef = setRelationshipBetweenInstances(componentInstanceWithReq,
- componentInstanceWithCap, capReqDefBeforeAssociate);
- RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
- sdncDesignerDetails, resourceDetailsVF100.getUniqueId(), ComponentTypeEnum.RESOURCE);
- assertEquals("Check response code ", STATUS_CODE_SUCCESS, associateInstances.getErrorCode().intValue());
- assertTrue(checkRealtionship(requirementDef.getFromNode(), requirementDef.getToNode(),
- resourceDetailsVF100.getUniqueId()));
- // GET resource
- RestResponse getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "0";
- String containerMaxReq = "0";
- String containerMinCap = "0";
- String containerMaxCap = "UNBOUNDED";
- verifyContainerCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- containerMinReq, containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- resourceVFC2, resourceVFC4);
- }
-
- @Test
- public void associateVfInstanceWhenReqMaxOccurrencesAlreadyReached() throws Exception, Exception {
- // Add VFC4 (with Requirements: tosca.capabilities.Container, MIN=1
- // MAX=1) instance to VF
- ComponentInstance componentInstanceWithReq = createComponentInstance(importReqDetails4, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceWithReq);
- // Add VFC2 (with Capabilities: tosca.capabilities.Container, MIN=1,
- // MAX=UNBOUNDED ) instance to VF
- ComponentInstance componentInstanceWithCap = createComponentInstance(importReqDetails2, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceWithCap);
- // associate Instances
- CapReqDef capReqDefBeforeAssociate = getResourceReqCap(resourceDetailsVF100);
- RequirementCapabilityRelDef requirementDef = setRelationshipBetweenInstances(componentInstanceWithReq,
- componentInstanceWithCap, capReqDefBeforeAssociate);
- RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
- sdncDesignerDetails, resourceDetailsVF100.getUniqueId(), ComponentTypeEnum.RESOURCE);
- assertEquals("Check response code ", STATUS_CODE_SUCCESS, associateInstances.getErrorCode().intValue());
- assertTrue(checkRealtionship(requirementDef.getFromNode(), requirementDef.getToNode(),
- resourceDetailsVF100.getUniqueId()));
- // GET resource
- RestResponse getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "0";
- String containerMaxReq = "0";
- String containerMinCap = "0";
- String containerMaxCap = "UNBOUNDED";
- verifyContainerCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- containerMinReq, containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- resourceVFC2, resourceVFC4);
- // associate same instances again - when requirement Max Occurrences
- // reached
- associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef, sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId(), ComponentTypeEnum.RESOURCE);
- assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_NOT_FOUND,
- associateInstances.getErrorCode().intValue());
- ArrayList<String> varibales = new ArrayList<String>();
- varibales.add(componentInstanceWithReq.getName());
- varibales.add(componentInstanceWithCap.getName());
- varibales.add("host");
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_INSTANCE_MATCH_NOT_FOUND.name(), varibales,
- associateInstances.getResponse());
-
- }
-
- @Test
- public void vfInstanceAssociationCapMaxOccurrencesIsReached() throws Exception, Exception {
- // Add VFC1 (with Requirements: tosca.capabilities.Container, MIN=1
- // MAX=2) instance to VF
- ComponentInstance componentInstanceWithReq = createComponentInstance(importReqDetails1, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceWithReq);
- // Add VFC3 (with Capabilities: tosca.capabilities.Container, MIN=1
- // MAX=1 ) instance to VF
- ComponentInstance componentInstanceWithCap = createComponentInstance(importReqDetails3, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceWithCap);
- // associate Instances
- CapReqDef capReqDefBeforeAssociate = getResourceReqCap(resourceDetailsVF100);
- RequirementCapabilityRelDef requirementDef = setRelationshipBetweenInstances(componentInstanceWithReq,
- componentInstanceWithCap, capReqDefBeforeAssociate);
- RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
- sdncDesignerDetails, resourceDetailsVF100.getUniqueId(), ComponentTypeEnum.RESOURCE);
- assertEquals("Check response code ", STATUS_CODE_SUCCESS, associateInstances.getErrorCode().intValue());
- assertTrue(checkRealtionship(requirementDef.getFromNode(), requirementDef.getToNode(),
- resourceDetailsVF100.getUniqueId()));
- // GET resource
- RestResponse getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "0";
- String containerMaxReq = "1";
- String containerMinCap = "0";
- String containerMaxCap = "0";
- verifyContainerCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- containerMinReq, containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- resourceVFC3, resourceVFC1);
- }
-
- @Test
- public void associationVfInstanceWhenCapMaxOccurrencesAlreadyReached() throws Exception, Exception {
- // Add VFC1 (with Requirements: tosca.capabilities.Container, MIN=1
- // MAX=2) instance to VF
- ComponentInstance componentInstanceWithReq = createComponentInstance(importReqDetails1, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceWithReq);
- // Add VFC3 (with Capabilities: tosca.capabilities.Container, MIN=1
- // MAX=1 ) instance to VF
- ComponentInstance componentInstanceWithCap = createComponentInstance(importReqDetails3, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceWithCap);
- // associate Instances
- CapReqDef capReqDefBeforeAssociate = getResourceReqCap(resourceDetailsVF100);
- RequirementCapabilityRelDef requirementDef = setRelationshipBetweenInstances(componentInstanceWithReq,
- componentInstanceWithCap, capReqDefBeforeAssociate);
- RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
- sdncDesignerDetails, resourceDetailsVF100.getUniqueId(), ComponentTypeEnum.RESOURCE);
- assertEquals("Check response code ", STATUS_CODE_SUCCESS, associateInstances.getErrorCode().intValue());
- assertTrue(checkRealtionship(requirementDef.getFromNode(), requirementDef.getToNode(),
- resourceDetailsVF100.getUniqueId()));
- // GET resource
- RestResponse getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "0";
- String containerMaxReq = "1";
- String containerMinCap = "0";
- String containerMaxCap = "0";
- verifyContainerCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- containerMinReq, containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- resourceVFC3, resourceVFC1);
- // associate same instances again - when requirement Max Occurrences
- // reached
- associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef, sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId(), ComponentTypeEnum.RESOURCE);
- assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_NOT_FOUND,
- associateInstances.getErrorCode().intValue());
- ArrayList<String> varibales = new ArrayList<String>();
- varibales.add(componentInstanceWithReq.getName());
- varibales.add(componentInstanceWithCap.getName());
- varibales.add("host");
- ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_INSTANCE_RELATION_NOT_FOUND.name(),
- varibales, associateInstances.getResponse());
- }
-
- @Test
- public void associationAndDisassociateVfInstancesWhenReqMaxOccurrencesAlreadyReached() throws Exception, Exception {
- // Add VFC4 (with Requirements: tosca.capabilities.Container, MIN=1
- // MAX=1) instance to VF
- ComponentInstance componentInstanceWithReq = createComponentInstance(importReqDetails4, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceWithReq);
- // Add VFC3 (with Capabilities: tosca.capabilities.Container, MIN=1
- // MAX=1 ) instance to VF
- ComponentInstance componentInstanceWithCap = createComponentInstance(importReqDetails3, sdncDesignerDetails,
- resourceDetailsVF100);
- assertNotNull(componentInstanceWithCap);
- // associate Instances
- CapReqDef capReqDefBeforeAssociate = getResourceReqCap(resourceDetailsVF100);
- RequirementCapabilityRelDef requirementDef = setRelationshipBetweenInstances(componentInstanceWithReq,
- componentInstanceWithCap, capReqDefBeforeAssociate);
- RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef,
- sdncDesignerDetails, resourceDetailsVF100.getUniqueId(), ComponentTypeEnum.RESOURCE);
- ResourceRestUtils.checkSuccess(associateInstances);
- assertTrue(checkRealtionship(requirementDef.getFromNode(), requirementDef.getToNode(),
- resourceDetailsVF100.getUniqueId()));
- // GET resource
- RestResponse getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Verify Container requirements and Capabilities
- String containerMinReq = "0";
- String containerMaxReq = "0";
- String containerMinCap = "0";
- String containerMaxCap = "0";
- verifyContainerCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- containerMinReq, containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- resourceVFC3, resourceVFC4);
- // Disassociate 2 Instances
- RestResponse dissociateInstances = ComponentInstanceRestUtils.dissociateInstances(requirementDef,
- sdncDesignerDetails, resourceDetailsVF100.getUniqueId(), ComponentTypeEnum.RESOURCE);
- assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS,
- dissociateInstances.getErrorCode().intValue());
- assertTrue(getComponentInstancesRelations(resourceDetailsVF100.getUniqueId()).isEmpty());
- // GET resource
- getResourseRestResponse = ResourceRestUtils.getResource(sdncDesignerDetails,
- resourceDetailsVF100.getUniqueId());
- resourceVF100 = ResponseParser.parseToObjectUsingMapper(getResourseRestResponse.getResponse(), Resource.class);
- // Verify Container requirements and Capabilities
- containerMinReq = "1";
- containerMaxReq = "1";
- containerMinCap = "1";
- containerMaxCap = "1";
- verifyContainerCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- containerMinReq, containerMaxReq, containerMinCap, containerMaxCap);
- verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(resourceVF100, capabilitiesAndRequirementsType,
- resourceVFC3, resourceVFC4);
- }
-
- ///////////////////////////////////////
-
- private boolean checkRealtionship(String fromNode, String toNode, String resourceUniqueId) throws Exception {
- List<RequirementCapabilityRelDef> componentInstancesRelations = getComponentInstancesRelations(
- resourceUniqueId);
- RequirementCapabilityRelDef requirementCapabilityRelDef = componentInstancesRelations.get(0);
- boolean fromNodeCheck = requirementCapabilityRelDef.getFromNode().equals(fromNode);
- boolean toNodeCheck = requirementCapabilityRelDef.getToNode().equals(toNode);
-
- return fromNodeCheck && toNodeCheck;
- }
-
- private List<RequirementCapabilityRelDef> getComponentInstancesRelations(String resourceUniqueId)
- throws ClientProtocolException, IOException {
- Resource resource = getVfAsResourceObject(resourceUniqueId);
- List<RequirementCapabilityRelDef> componenRelationInstances = resource.getComponentInstancesRelations();
-
- return componenRelationInstances;
- }
-
- private Resource getVfAsResourceObject(String resourceUniqueId) throws ClientProtocolException, IOException {
- RestResponse getResource = ResourceRestUtils.getResource(resourceUniqueId);
- Resource resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class);
- return resource;
- }
-
- private RequirementCapabilityRelDef setRelationshipBetweenInstances(ComponentInstance riReq,
- ComponentInstance riCap, CapReqDef capReqDef) throws Exception {
-
- String capbilityUid = capReqDef.getCapabilities().get("tosca.capabilities.Container").get(0).getUniqueId();
- String requirementUid = capReqDef.getRequirements().get("tosca.capabilities.Container").get(0).getUniqueId();
-
- RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef();
- requirementDef.setFromNode(riReq.getUniqueId());
- requirementDef.setToNode(riCap.getUniqueId());
-
- RelationshipInfo pair = new RelationshipInfo();
- pair.setRequirementOwnerId(riReq.getUniqueId());
- pair.setCapabilityOwnerId(riCap.getUniqueId());
- pair.setRequirement("host");
- RelationshipImpl relationship = new RelationshipImpl();
- relationship.setType("tosca.capabilities.Container");
- pair.setRelationships(relationship);
- pair.setCapabilityUid(capbilityUid);
- pair.setRequirementUid(requirementUid);
- List<CapabilityRequirementRelationship> relationships = new ArrayList<>();
- CapabilityRequirementRelationship capReqRel = new CapabilityRequirementRelationship();
- relationships.add(capReqRel);
- capReqRel.setRelation(pair);
- requirementDef.setRelationships(relationships);
- return requirementDef;
- }
-
- private CapReqDef getResourceReqCap(ResourceReqDetails res) throws IOException {
- RestResponse getResourceBeforeAssociate = ComponentRestUtils
- .getComponentRequirmentsCapabilities(sdncDesignerDetails, resourceDetailsVF100);
- CapReqDef capReqDef = ResponseParser.parseToObject(getResourceBeforeAssociate.getResponse(), CapReqDef.class);
- return capReqDef;
- }
-
- private RestResponse importedResource(ImportReqDetails importReqDetails, String ymlFile) throws Exception {
- importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath,
- ymlFile);
- RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails,
- sdncDesignerDetails, null);
- assertEquals("Check response code after importing resource", BaseRestUtils.STATUS_CODE_CREATED,
- importResourceResponse.getErrorCode().intValue());
- return importResourceResponse;
- }
-
- private ComponentInstance createComponentInstance(ResourceReqDetails res, User user, ResourceReqDetails vf)
- throws Exception {
- RestResponse response = ResourceRestUtils.createResourceInstance(res, user, vf.getUniqueId());
- ResourceRestUtils.checkCreateResponse(response);
- ComponentInstance compInstance = ResponseParser.parseToObject(response.getResponse(), ComponentInstance.class);
- return compInstance;
- }
-
- private void verifyContainerCapabilitiesAndRequirementsOccurrences(Component component,
- String CapabilitiesAndRequirementsType, String minReqOccurrences, String maxReqOccurrences,
- String minCapabilities, String maxCapabilities) throws Exception {
- boolean isRequirementAppear = false;
- boolean isCapabilityAppear = false;
- List<RequirementDefinition> requirements;
- List<CapabilityDefinition> capabilities;
- requirements = component.getRequirements().get(CapabilitiesAndRequirementsType);
- if (maxReqOccurrences == "0") {
- assertTrue(requirements == null);
- } // if container MAX requirement = 0
- if (maxReqOccurrences != "0") {
- assertNotNull(requirements);
- for (RequirementDefinition req : requirements) {
- switch (req.getName()) {
- case "host":
- assertTrue("Check Min Requirement Occurrences ", req.getMinOccurrences().equals(minReqOccurrences));
- assertTrue("Check Max Requirement Occurrences ", req.getMaxOccurrences().equals(maxReqOccurrences));
- isRequirementAppear = true;
- break;
- }
- assertTrue(isRequirementAppear);
- isRequirementAppear = false;
- }
- }
- // Container Capabilities
- capabilities = component.getCapabilities().get(CapabilitiesAndRequirementsType);
- if (maxCapabilities == "0") {// if container MAX capabilities = 0
- assertTrue(capabilities == null);
- }
- if (maxCapabilities != "0") {
- assertNotNull(capabilities);
- for (CapabilityDefinition cap : capabilities) {
- switch (cap.getName()) {
- case "host":
- assertTrue("Check Min capability Occurrences ", cap.getMinOccurrences().equals(minCapabilities));
- assertTrue("Check Max capability Occurrences ", cap.getMaxOccurrences().equals(maxCapabilities));
- isCapabilityAppear = true;
- break;
- }
- assertTrue(isCapabilityAppear);
- isCapabilityAppear = false;
- }
- }
-
- }
-
- private void verifyContainerInstanceCapabilitiesAndRequirementsOccurrences(Component component,
- String CapabilitiesAndRequirementsType, Resource vfWithCapabilities, Resource vfWithRequirements)
- throws Exception {
- boolean isCapReqAppear = false;
- List<ComponentInstance> listOfComponentInstances = component.getComponentInstances();
-
- for (ComponentInstance instance : listOfComponentInstances) {
- if (instance.getComponentUid().equals(vfWithCapabilities.getUniqueId())) {
- List<CapabilityDefinition> capFromResource = vfWithCapabilities.getCapabilities()
- .get(CapabilitiesAndRequirementsType);
- List<CapabilityDefinition> capFromInstance = instance.getCapabilities()
- .get(CapabilitiesAndRequirementsType);
- for (CapabilityDefinition resourceCap : capFromResource)
- for (CapabilityDefinition instanceReq : capFromInstance) {
- if (resourceCap.getUniqueId().equals(instanceReq.getUniqueId())) {
- assertTrue("Check Min capability Occurrences ",
- resourceCap.getMinOccurrences().equals(instanceReq.getMinOccurrences()));
- assertTrue("Check Max capability Occurrences ",
- resourceCap.getMaxOccurrences().equals(instanceReq.getMaxOccurrences()));
- isCapReqAppear = true;
- break;
- }
-
- }
- }
-
- if (instance.getComponentUid().equals(vfWithRequirements.getUniqueId())) {
- List<RequirementDefinition> reqFromAtomicResource = vfWithRequirements.getRequirements()
- .get(CapabilitiesAndRequirementsType);
- List<RequirementDefinition> reqFromInstance = instance.getRequirements()
- .get(CapabilitiesAndRequirementsType);
- for (RequirementDefinition resourceReq : reqFromAtomicResource)
- for (RequirementDefinition instanceReq : reqFromInstance) {
- if (resourceReq.getUniqueId().equals(instanceReq.getUniqueId())) {
- assertTrue("Check Min Requirement Occurrences ",
- resourceReq.getMinOccurrences().equals(instanceReq.getMinOccurrences()));
- assertTrue("Check Max Requirement Occurrences ",
- resourceReq.getMaxOccurrences().equals(instanceReq.getMaxOccurrences()));
- isCapReqAppear = true;
- break;
- }
- }
- }
- assertTrue(isCapReqAppear);
- isCapReqAppear = false;
- }
-
- }
-
- private RequirementCapabilityRelDef getReqCapRelation(String reqCompInstId, String capCompInstId, String capType,
- String reqName, List<CapabilityDefinition> capList, List<RequirementDefinition> reqList,
- String vfc1UniqueId, String vfc2UniqueId) {
- return ElementFactory.getReqCapRelation(reqCompInstId, capCompInstId, vfc1UniqueId, vfc2UniqueId, capType,
- reqName, capList, reqList);
- }
-
-}