diff options
Diffstat (limited to 'asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute')
71 files changed, 10602 insertions, 4497 deletions
diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/TODO/ImportCapabilityTypeCITest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/TODO/ImportCapabilityTypeCITest.java index 3af40c5bb8..71e75c9a1e 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/TODO/ImportCapabilityTypeCITest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/TODO/ImportCapabilityTypeCITest.java @@ -20,6 +20,9 @@ package org.openecomp.sdc.ci.tests.execute.TODO; +import org.testng.annotations.AfterClass; +import org.testng.annotations.Test; +import org.testng.AssertJUnit; import java.io.File; import java.io.IOException; @@ -33,11 +36,8 @@ import org.apache.tinkerpop.gremlin.structure.Vertex; import org.openecomp.sdc.ci.tests.api.Urls; import org.openecomp.sdc.ci.tests.config.Config; import org.openecomp.sdc.ci.tests.utils.DbUtils; -import org.openecomp.sdc.ci.tests.utils.DbUtils.TitanState; import org.openecomp.sdc.ci.tests.utils.Utils; -import org.testng.AssertJUnit; -import org.testng.annotations.AfterClass; -import org.testng.annotations.Test; +import org.openecomp.sdc.ci.tests.utils.DbUtils.TitanState; import fj.data.Either; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ArtifactServletTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ArtifactServletTest.java index cd0647d8b1..7e363202bb 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ArtifactServletTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ArtifactServletTest.java @@ -61,8 +61,10 @@ import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum; import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum; import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; +import org.openecomp.sdc.ci.tests.utils.Utils; import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; +import org.openecomp.sdc.ci.tests.utils.general.FileUtils; import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/CrudArt.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/CrudArt.java index b3c3f3f5b6..28c346efc9 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/CrudArt.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/CrudArt.java @@ -170,7 +170,7 @@ public class CrudArt extends ComponentBaseTest { heatArtifactDetails.setPayload(payload); RestResponse addInformationalArtifactToResource = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails1, vfResourceDetails.getUniqueId()); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); // certified resource @@ -313,7 +313,7 @@ public class CrudArt extends ComponentBaseTest { String artifactLabel = "dcae inv tosca label"; ArtifactTypeEnum artifactType = ArtifactTypeEnum.DCAE_INVENTORY_TOSCA; RestResponse addArtifactToResourceInstanceResponse = addArtifactToResourceInstanceAndCertify(artifactFileName, artifactName, artifactLabel, artifactType); - logger.debug("addInformationalArtifactToResource response: {}", addArtifactToResourceInstanceResponse.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addArtifactToResourceInstanceResponse.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addArtifactToResourceInstanceResponse.getErrorCode(), addArtifactToResourceInstanceResponse.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); // Get the artifact from VF instance and change his description. @@ -333,7 +333,7 @@ public class CrudArt extends ComponentBaseTest { String fileName = heatSuccessFile; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, fileName, true); ArtifactReqDetails heatArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType()); @@ -352,7 +352,7 @@ public class CrudArt extends ComponentBaseTest { List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); // Add HEAT - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, fileName, true); ArtifactReqDetails heatArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType()); heatArtifactDetails.setPayload(payload); @@ -589,17 +589,8 @@ public class CrudArt extends ComponentBaseTest { // ---------------------------------Service // success-------------------------------- @Test() - public void addAllTypesDepArtifactToService() throws Exception, Exception { - - // String fileName = heatSuccessFile; - // List<String> listFileName = - // FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - // logger.debug("listFileName: {}", listFileName.toString()); - - // String payload = FileUtils.loadPayloadFile(listFileName, fileName, - // true); + public void addAllTypesDepArtifactToService() throws Exception { ArtifactReqDetails otherArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.OTHER.getType()); - // otherArtifactDetails.setPayload(payload); RestResponse addInformationalArtifactToService = ArtifactRestUtils.addInformationalArtifactToService(otherArtifactDetails, sdncDesignerDetails1, serviceDetails.getUniqueId()); logger.debug("addInformationalArtifactToService response: {}", addInformationalArtifactToService.getResponseMessage()); @@ -618,7 +609,7 @@ public class CrudArt extends ComponentBaseTest { String fileName = muranoFile; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, fileName, true); ArtifactReqDetails heatArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.MURANO_PKG.getType()); @@ -627,7 +618,7 @@ public class CrudArt extends ComponentBaseTest { heatArtifactDetails.setArtifactLabel("Label"); RestResponse addInformationalArtifactToService = ArtifactRestUtils.addInformationalArtifactToService(heatArtifactDetails, sdncDesignerDetails1, serviceDetails.getUniqueId()); - logger.debug("addInformationalArtifactToService response: {}", addInformationalArtifactToService.getResponseMessage()); + logger.debug("addInformationalArtifactToService response: {}", addInformationalArtifactToService.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToService.getErrorCode(), addInformationalArtifactToService.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); } @@ -679,7 +670,7 @@ public class CrudArt extends ComponentBaseTest { // update heatArtifactDetails.setPayloadData(payload); RestResponse updateInformationalArtifactToService = ArtifactRestUtils.updateInformationalArtifactOfServiceByMethod(heatArtifactDetails, serviceDetails.getUniqueId(), sdncDesignerDetails1, "POST"); - logger.debug("updateInformationalArtifactToService response: {}", updateInformationalArtifactToService.getResponseMessage()); + logger.debug("updateInformationalArtifactToService response: {}", updateInformationalArtifactToService.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + updateInformationalArtifactToService.getErrorCode(), updateInformationalArtifactToService.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); } @@ -716,7 +707,7 @@ public class CrudArt extends ComponentBaseTest { String filename1 = heatSuccessFile; // String filename2 = heatSuccessMiniFile; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, filename1, true); @@ -753,7 +744,7 @@ public class CrudArt extends ComponentBaseTest { String filename1 = heatSuccessFile; String filename2 = heatSuccessMiniFile; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, filename1, true); heatTypeArtifactDetails.setPayload(payload); @@ -782,7 +773,7 @@ public class CrudArt extends ComponentBaseTest { String fileName = heatInvalidFormat; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, fileName, true); heatTypeArtifactDetails.setPayload(payload); @@ -803,7 +794,7 @@ public class CrudArt extends ComponentBaseTest { String fileName = yamlInvalidFormat; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, fileName, true); heatTypeArtifactDetails.setPayload(payload); @@ -824,7 +815,7 @@ public class CrudArt extends ComponentBaseTest { String fileName = yangFile; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, fileName, true); @@ -847,7 +838,7 @@ public class CrudArt extends ComponentBaseTest { String fileName = heatSuccessFile; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, fileName, true); heatTypeArtifactDetails.setPayload(payload); @@ -892,7 +883,7 @@ public class CrudArt extends ComponentBaseTest { String fileName1 = heatSuccessFile; String fileName2 = heatSuccessMiniFile; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, fileName1, true); ArtifactReqDetails heatArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.OTHER.getType()); @@ -925,7 +916,7 @@ public class CrudArt extends ComponentBaseTest { String fileName = heatInvalidFormat; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, fileName, true); @@ -943,13 +934,12 @@ public class CrudArt extends ComponentBaseTest { } - // TODO Andrey Obsolete @Test(enabled = false) public void addHeatArtifactInvalidYamlFormatToService() throws Exception, Exception { String fileName = yamlInvalidFormat; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, fileName, true); @@ -957,7 +947,7 @@ public class CrudArt extends ComponentBaseTest { heatArtifactDetails.setPayload(payload); RestResponse addInformationalArtifactToService = ArtifactRestUtils.addInformationalArtifactToService(heatArtifactDetails, sdncDesignerDetails1, serviceDetails.getUniqueId()); - logger.debug("addInformationalArtifactToService response: {}", addInformationalArtifactToService.getResponseMessage()); + logger.debug("addInformationalArtifactToService response: {} ", addInformationalArtifactToService.getResponseMessage()); ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_YAML.name()); assertEquals("Check response code after adding artifact", errorInfo.getCode(), addInformationalArtifactToService.getErrorCode()); @@ -972,7 +962,7 @@ public class CrudArt extends ComponentBaseTest { String fileName = muranoFile; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, fileName, true); @@ -981,7 +971,7 @@ public class CrudArt extends ComponentBaseTest { heatArtifactDetails.setArtifactName(fileName); RestResponse addInformationalArtifactToService = ArtifactRestUtils.addInformationalArtifactToService(heatArtifactDetails, sdncDesignerDetails1, serviceDetails.getUniqueId()); - logger.debug("addInformationalArtifactToService response: {}", addInformationalArtifactToService.getResponseMessage()); + logger.debug("addInformationalArtifactToService response: {} ", addInformationalArtifactToService.getResponseMessage()); ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.WRONG_ARTIFACT_FILE_EXTENSION.name()); assertEquals("Check response code after adding artifact", errorInfo.getCode(), addInformationalArtifactToService.getErrorCode()); @@ -1019,7 +1009,7 @@ public class CrudArt extends ComponentBaseTest { String fileName = heatSuccessFile; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, fileName, true); @@ -1063,7 +1053,7 @@ public class CrudArt extends ComponentBaseTest { ArtifactTypeEnum artifactType = ArtifactTypeEnum.VNF_CATALOG; RestResponse addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); RestResponse getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); Resource resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1083,7 +1073,7 @@ public class CrudArt extends ComponentBaseTest { artifactLabel = "Label3"; artifactType = ArtifactTypeEnum.VENDOR_LICENSE; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1094,7 +1084,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.MODEL_INVENTORY_PROFILE; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1105,7 +1095,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.MODEL_QUERY_SPEC; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1116,7 +1106,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.APPC_CONFIG; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1128,12 +1118,61 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.APPC_CONFIG; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); ArtifactValidationUtils.validateArtifactsNumberInComponent(resource, ArtifactGroupTypeEnum.DEPLOYMENT, artifactType, 2); + + //MIB artifacts: SNMP_POLL, SNMP_TRAP + fileName = jsonFile; + artifactName = "artifact8.json"; + artifactLabel = "Label8"; + artifactType = ArtifactTypeEnum.SNMP_POLL; + addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); + resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); + ArtifactValidationUtils.validateArtifactsNumberInComponent(resource, ArtifactGroupTypeEnum.DEPLOYMENT, artifactType, 1); + + fileName = jsonFile; + artifactName = "artifact9.json"; + artifactLabel = "Label9"; + artifactType = ArtifactTypeEnum.SNMP_TRAP; + + addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); + resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); + ArtifactValidationUtils.validateArtifactsNumberInComponent(resource, ArtifactGroupTypeEnum.DEPLOYMENT, artifactType, 1); + + //MIB artifacts: SNMP_POLL, SNMP_TRAP + fileName = jsonFile; + artifactName = "artifact8.json"; + artifactLabel = "Label8"; + artifactType = ArtifactTypeEnum.SNMP_POLL; + + addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); + resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); + ArtifactValidationUtils.validateArtifactsNumberInComponent(resource, ArtifactGroupTypeEnum.DEPLOYMENT, artifactType, 1); + + fileName = jsonFile; + artifactName = "artifact9.json"; + artifactLabel = "Label9"; + artifactType = ArtifactTypeEnum.SNMP_TRAP; + + addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); + resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); + ArtifactValidationUtils.validateArtifactsNumberInComponent(resource, ArtifactGroupTypeEnum.DEPLOYMENT, artifactType, 1); } @Test @@ -1145,7 +1184,7 @@ public class CrudArt extends ComponentBaseTest { ArtifactTypeEnum artifactType = ArtifactTypeEnum.VNF_CATALOG; RestResponse addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfcResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); RestResponse getResource = ResourceRestUtils.getResource(vfcResourceDetails.getUniqueId()); Resource resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1156,7 +1195,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.VF_LICENSE; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfcResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfcResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1167,7 +1206,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.VENDOR_LICENSE; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfcResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfcResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1178,7 +1217,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.MODEL_INVENTORY_PROFILE; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfcResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfcResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1189,7 +1228,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.MODEL_QUERY_SPEC; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfcResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfcResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1249,7 +1288,7 @@ public class CrudArt extends ComponentBaseTest { String artifactLabel = "Label2"; ArtifactTypeEnum artifactType = ArtifactTypeEnum.VF_LICENSE; RestResponse addDeploymentArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vlResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addDeploymentArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addDeploymentArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addDeploymentArtifactToResource.getErrorCode(), addDeploymentArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); RestResponse getResource = ResourceRestUtils.getResource(vlResourceDetails.getUniqueId()); Resource resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1272,7 +1311,7 @@ public class CrudArt extends ComponentBaseTest { String artifactLabel = "Label2"; ArtifactTypeEnum artifactType = ArtifactTypeEnum.VF_LICENSE; RestResponse addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); RestResponse getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); Resource resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1281,7 +1320,7 @@ public class CrudArt extends ComponentBaseTest { artifactLabel = "Label3"; artifactType = ArtifactTypeEnum.VENDOR_LICENSE; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1451,7 +1490,7 @@ public class CrudArt extends ComponentBaseTest { String artifactLabel = "Label1"; ArtifactTypeEnum artifactType = ArtifactTypeEnum.VNF_CATALOG; RestResponse addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); RestResponse getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); Resource resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1462,7 +1501,7 @@ public class CrudArt extends ComponentBaseTest { artifactLabel = "Label2"; artifactType = ArtifactTypeEnum.APPC_CONFIG; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1473,7 +1512,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.MODEL_INVENTORY_PROFILE; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1484,7 +1523,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.MODEL_QUERY_SPEC; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1516,7 +1555,7 @@ public class CrudArt extends ComponentBaseTest { String artifactLabel = "Label7"; ArtifactTypeEnum artifactType = ArtifactTypeEnum.APPC_CONFIG; RestResponse addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfcResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code 400, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_INVALID_CONTENT); ArrayList<String> variables = new ArrayList<>(); variables.add(artifactName); @@ -1535,7 +1574,7 @@ public class CrudArt extends ComponentBaseTest { String artifactLabel = "Label7"; ArtifactTypeEnum artifactType = ArtifactTypeEnum.APPC_CONFIG; RestResponse addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, cpResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code 400, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_INVALID_CONTENT); ArrayList<String> variables = new ArrayList<>(); variables.add(artifactName); @@ -1554,7 +1593,7 @@ public class CrudArt extends ComponentBaseTest { String artifactLabel = "Label7"; ArtifactTypeEnum artifactType = ArtifactTypeEnum.APPC_CONFIG; RestResponse addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vlResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code 400, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_INVALID_CONTENT); ArrayList<String> variables = new ArrayList<>(); variables.add(artifactName); @@ -1585,7 +1624,7 @@ public class CrudArt extends ComponentBaseTest { ArtifactTypeEnum artifactType = ArtifactTypeEnum.APPC_CONFIG; RestResponse addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is 400, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_INVALID_CONTENT); ArrayList<String> variables = new ArrayList<>(); @@ -1607,7 +1646,7 @@ public class CrudArt extends ComponentBaseTest { ArtifactTypeEnum artifactType = ArtifactTypeEnum.VNF_CATALOG; RestResponse addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, cpResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); RestResponse getResource = ResourceRestUtils.getResource(cpResourceDetails.getUniqueId()); Resource resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1618,7 +1657,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.MODEL_INVENTORY_PROFILE; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, cpResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(cpResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1629,7 +1668,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.MODEL_QUERY_SPEC; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, cpResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(cpResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1645,7 +1684,7 @@ public class CrudArt extends ComponentBaseTest { ArtifactTypeEnum artifactType = ArtifactTypeEnum.VNF_CATALOG; RestResponse addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vlResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); RestResponse getResource = ResourceRestUtils.getResource(vlResourceDetails.getUniqueId()); Resource resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1656,7 +1695,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.MODEL_INVENTORY_PROFILE; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vlResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vlResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1667,7 +1706,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.MODEL_QUERY_SPEC; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vlResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vlResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1683,7 +1722,7 @@ public class CrudArt extends ComponentBaseTest { ArtifactTypeEnum artifactType = ArtifactTypeEnum.VNF_CATALOG; RestResponse addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfcResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); RestResponse getResource = ResourceRestUtils.getResource(vfcResourceDetails.getUniqueId()); Resource resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1694,7 +1733,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.MODEL_INVENTORY_PROFILE; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfcResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfcResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1705,7 +1744,7 @@ public class CrudArt extends ComponentBaseTest { artifactType = ArtifactTypeEnum.MODEL_QUERY_SPEC; addInformationalArtifactToResource = addDeploymentArtifactToResource(fileName, artifactName, artifactLabel, artifactType, vfcResourceDetails); - logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {}", addInformationalArtifactToResource.getResponseMessage()); assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToResource.getErrorCode(), addInformationalArtifactToResource.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); getResource = ResourceRestUtils.getResource(vfcResourceDetails.getUniqueId()); resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); @@ -1736,7 +1775,7 @@ public class CrudArt extends ComponentBaseTest { private ArtifactReqDetails buildArtifactReqDetailsObject(String filesPath, String artifactFileName, String artifactName, String artifactLabel, ArtifactTypeEnum artifactType) throws IOException, Exception { List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(filesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}", listFileName); String payload = FileUtils.loadPayloadFile(listFileName, artifactFileName, true); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/DownloadComponentArt.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/DownloadComponentArt.java index 0ae975207b..5ec4a86977 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/DownloadComponentArt.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/DownloadComponentArt.java @@ -91,7 +91,6 @@ import org.testng.AssertJUnit; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; - import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; @@ -108,229 +107,226 @@ public class DownloadComponentArt extends ComponentBaseTest { protected String contentTypeHeaderData = "application/json"; protected String acceptHeaderDate = "application/json"; + + protected Gson gson = new Gson(); protected JSONParser jsonParser = new JSONParser(); + protected String serviceVersion; protected ResourceReqDetails resourceDetails; protected User sdncUserDetails; protected ServiceReqDetails serviceDetails; + @BeforeMethod - public void init() throws Exception { + public void init() throws Exception{ sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - Resource resourceObj = AtomicOperationUtils - .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value(); + Resource resourceObj = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value(); Service serviceObj = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - - resourceDetails = new ResourceReqDetails(resourceObj); + + + resourceDetails = new ResourceReqDetails(resourceObj); serviceDetails = new ServiceReqDetails(serviceObj); } - - @Rule + + @Rule public static TestName name = new TestName(); public DownloadComponentArt() { super(name, DownloadComponentArt.class.getName()); } + + // External API - Download artifact for resource @Test public void downloadArtifactFromResourceViaExternalAPI() throws Exception { Resource resourceDetailsVF; - Either<Resource, RestResponse> createdResource = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory( - ResourceTypeEnum.VF, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, - UserRoleEnum.DESIGNER, true); + Either<Resource, RestResponse> createdResource = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VF, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, UserRoleEnum.DESIGNER, true); resourceDetailsVF = createdResource.left().value(); - ArtifactDefinition heatArtifact = AtomicOperationUtils - .uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVF, UserRoleEnum.DESIGNER, true, true) - .left().value(); - resourceDetails = new ResourceReqDetails(resourceDetailsVF); - + ArtifactDefinition heatArtifact = AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVF, UserRoleEnum.DESIGNER, true, true).left().value(); + resourceDetails = new ResourceReqDetails(resourceDetailsVF); + String resourceUUID = resourceDetailsVF.getUUID(); String artifactUUID = heatArtifact.getArtifactUUID(); - + System.out.println("Resource UUID: " + resourceUUID); System.out.println("Artifact UUID: " + artifactUUID); - - RestResponse restResponse = ArtifactRestUtils.getResourceDeploymentArtifactExternalAPI(resourceUUID, - artifactUUID, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), "Resource"); - + + RestResponse restResponse = ArtifactRestUtils.getResourceDeploymentArtifactExternalAPI(resourceUUID, artifactUUID, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), "Resource"); + Integer responseCode = restResponse.getErrorCode(); Integer expectedCode = 200; - Assert.assertEquals(responseCode, expectedCode, "Response code is not correct."); - + Assert.assertEquals(responseCode,expectedCode, "Response code is not correct."); + String response = restResponse.getResponse(); - + String payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9"; String decodedPaypload = Decoder.decode(payloadData); - + Assert.assertEquals(response, decodedPaypload, "Response deployment artifact not correct."); - - String auditAction = "ArtifactDownload"; - + + String auditAction = "DownloadArtifact"; + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject(); expectedResourceAuditJavaObject.setAction(auditAction); expectedResourceAuditJavaObject.setResourceName(resourceDetails.getName()); expectedResourceAuditJavaObject.setResourceType("Resource"); expectedResourceAuditJavaObject.setStatus("200"); expectedResourceAuditJavaObject.setDesc("OK"); - + expectedResourceAuditJavaObject.setCONSUMER_ID("ci"); String resource_url = String.format("/asdc/v1/catalog/resources/%s/artifacts/%s", resourceUUID, artifactUUID); expectedResourceAuditJavaObject.setRESOURCE_URL(resource_url); - - AuditValidationUtils.validateAuditDownloadExternalAPI(expectedResourceAuditJavaObject, auditAction, null, - false); + + AuditValidationUtils.validateAuditDownloadExternalAPI(expectedResourceAuditJavaObject, auditAction, null, false); } - + + // External API - Download artifact for resource - negative test @Test public void downloadArtifactFromResourceViaExternalAPINegativeTest() throws Exception { Resource resourceDetailsVF; - Either<Resource, RestResponse> createdResource = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory( - ResourceTypeEnum.VF, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, - UserRoleEnum.DESIGNER, true); + Either<Resource, RestResponse> createdResource = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VF, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, UserRoleEnum.DESIGNER, true); resourceDetailsVF = createdResource.left().value(); - ArtifactDefinition heatArtifact = AtomicOperationUtils - .uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVF, UserRoleEnum.DESIGNER, true, true) - .left().value(); - resourceDetails = new ResourceReqDetails(resourceDetailsVF); - + ArtifactDefinition heatArtifact = AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVF, UserRoleEnum.DESIGNER, true, true).left().value(); + resourceDetails = new ResourceReqDetails(resourceDetailsVF); + String resourceUUID = resourceDetailsVF.getUUID(); String artifactUUID = heatArtifact.getArtifactUUID(); - + System.out.println("Resource UUID: " + resourceUUID); System.out.println("Artifact UUID: " + artifactUUID); - - RestResponse restResponse = ArtifactRestUtils.getResourceDeploymentArtifactExternalAPI(resourceUUID, - "dfsgfdsg324", ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), "Resource"); - + + RestResponse restResponse = ArtifactRestUtils.getResourceDeploymentArtifactExternalAPI(resourceUUID, "dfsgfdsg324", ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), "Resource"); + Integer responseCode = restResponse.getErrorCode(); Integer expectedCode = 200; - Assert.assertEquals(responseCode, expectedCode, "Response code is not correct."); + Assert.assertEquals(responseCode,expectedCode, "Response code is not correct."); } - + + + + + // External API - Download artifact for service - negative test @Test public void downloadArtifactFromServiceViaExternalAPI() throws Exception { - + Service resourceDetailsService; - Either<Service, RestResponse> createdResource = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, - true); + Either<Service, RestResponse> createdResource = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true); resourceDetailsService = createdResource.left().value(); - - ArtifactDefinition heatArtifact = AtomicOperationUtils - .uploadArtifactByType(ArtifactTypeEnum.OTHER, resourceDetailsService, UserRoleEnum.DESIGNER, true, true) - .left().value(); + + ArtifactDefinition heatArtifact = AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.OTHER, resourceDetailsService, UserRoleEnum.DESIGNER, true, true).left().value(); String resourceUUID = resourceDetailsService.getUUID(); String artifactUUID = heatArtifact.getArtifactUUID(); - + System.out.println("Resource UUID: " + resourceUUID); System.out.println("Artifact UUID: " + artifactUUID); - - RestResponse restResponse = ArtifactRestUtils.getResourceDeploymentArtifactExternalAPI(resourceUUID, - artifactUUID, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), "Service"); - + + RestResponse restResponse = ArtifactRestUtils.getResourceDeploymentArtifactExternalAPI(resourceUUID, artifactUUID, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), "Service"); + Integer responseCode = restResponse.getErrorCode(); Integer expectedCode = 200; - Assert.assertEquals(responseCode, expectedCode, "Response code is not correct."); - + Assert.assertEquals(responseCode,expectedCode, "Response code is not correct."); + String response = restResponse.getResponse(); - + String payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9"; String decodedPaypload = Decoder.decode(payloadData); - + Assert.assertEquals(response, decodedPaypload, "Response deployment artifact not correct."); - - String auditAction = "ArtifactDownload"; - + + String auditAction = "DownloadArtifact"; + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject(); expectedResourceAuditJavaObject.setAction(auditAction); expectedResourceAuditJavaObject.setResourceName(resourceDetailsService.getName()); expectedResourceAuditJavaObject.setResourceType("Service"); expectedResourceAuditJavaObject.setStatus("200"); expectedResourceAuditJavaObject.setDesc("OK"); - + expectedResourceAuditJavaObject.setCONSUMER_ID("ci"); String resource_url = String.format("/asdc/v1/catalog/services/%s/artifacts/%s", resourceUUID, artifactUUID); expectedResourceAuditJavaObject.setRESOURCE_URL(resource_url); - - AuditValidationUtils.validateAuditDownloadExternalAPI(expectedResourceAuditJavaObject, auditAction, null, - false); + + AuditValidationUtils.validateAuditDownloadExternalAPI(expectedResourceAuditJavaObject, auditAction, null, false); } - - // External API - Download ComponentInstance artifact of service - negative - // test + + + + + + + // External API - Download ComponentInstance artifact of service - negative test @Test public void downloadArtifactOfComponentInstanceFromServiceViaExternalAPI() throws Exception { - - Either<Resource, RestResponse> resourceDetailsVF_01e = AtomicOperationUtils - .createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VF, NormativeTypesEnum.ROOT, - ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, UserRoleEnum.DESIGNER, true); + + Either<Resource, RestResponse> resourceDetailsVF_01e = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VF, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, UserRoleEnum.DESIGNER, true); Component resourceDetailsVF_01 = resourceDetailsVF_01e.left().value(); - ArtifactDefinition heatArtifact = AtomicOperationUtils - .uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVF_01, UserRoleEnum.DESIGNER, true, true) - .left().value(); - - resourceDetailsVF_01 = AtomicOperationUtils - .changeComponentState(resourceDetailsVF_01, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true) - .getLeft(); + ArtifactDefinition heatArtifact = AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVF_01, UserRoleEnum.DESIGNER, true, true).left().value(); + resourceDetailsVF_01 = AtomicOperationUtils.changeComponentState(resourceDetailsVF_01, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft(); + Service resourceDetailsService; - Either<Service, RestResponse> createdResource = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, - true); + Either<Service, RestResponse> createdResource = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true); resourceDetailsService = createdResource.left().value(); - - ComponentInstance resourceDetailsVF1ins_01 = AtomicOperationUtils - .addComponentInstanceToComponentContainer(resourceDetailsVF_01, resourceDetailsService, - UserRoleEnum.DESIGNER, true) - .left().value(); - + + + ComponentInstance resourceDetailsVF1ins_01 = AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceDetailsVF_01, resourceDetailsService, UserRoleEnum.DESIGNER, true).left().value(); + + System.out.println("-----"); - + + String resourceUUID = resourceDetailsService.getUUID(); - String componentInstanceUID = resourceDetailsVF1ins_01.getUniqueId(); + String componentNormalizedName = resourceDetailsVF1ins_01.getNormalizedName(); String artifactUUID = heatArtifact.getArtifactUUID(); - + System.out.println("Resource UUID: " + resourceUUID); - System.out.println("Component instance UID: " + componentInstanceUID); + System.out.println("Component NormalizedName: " + componentNormalizedName); System.out.println("Artifact UUID: " + artifactUUID); - - RestResponse restResponse = ArtifactRestUtils.getComponentInstanceDeploymentArtifactExternalAPI(resourceUUID, - componentInstanceUID, artifactUUID, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), "Service"); - // + + RestResponse restResponse = ArtifactRestUtils.getComponentInstanceDeploymentArtifactExternalAPI(resourceUUID, componentNormalizedName, artifactUUID, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), "Service"); +// Integer responseCode = restResponse.getErrorCode(); Integer expectedCode = 200; - Assert.assertEquals(responseCode, expectedCode, "Response code is not correct."); - + Assert.assertEquals(responseCode,expectedCode, "Response code is not correct."); + String response = restResponse.getResponse(); - + String payloadData = "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9"; String decodedPaypload = Decoder.decode(payloadData); - + Assert.assertEquals(response, decodedPaypload, "Response deployment artifact not correct."); - - String auditAction = "ArtifactDownload"; - + + String auditAction = "DownloadArtifact"; + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject(); expectedResourceAuditJavaObject.setAction(auditAction); expectedResourceAuditJavaObject.setResourceName(resourceDetailsVF1ins_01.getName()); expectedResourceAuditJavaObject.setResourceType("Service"); expectedResourceAuditJavaObject.setStatus("200"); expectedResourceAuditJavaObject.setDesc("OK"); - + expectedResourceAuditJavaObject.setCONSUMER_ID("ci"); - String resource_url = String.format("/asdc/v1/catalog/services/%s/resourceInstances/%s/artifacts/%s", - resourceUUID, componentInstanceUID, artifactUUID); + String resource_url = String.format("/asdc/v1/catalog/services/%s/resourceInstances/%s/artifacts/%s", resourceUUID, componentNormalizedName, artifactUUID); expectedResourceAuditJavaObject.setRESOURCE_URL(resource_url); - - AuditValidationUtils.validateAuditDownloadExternalAPI(expectedResourceAuditJavaObject, auditAction, null, - false); + + AuditValidationUtils.validateAuditDownloadExternalAPI(expectedResourceAuditJavaObject, auditAction, null, false); } - + + + + + + + + + @Test public void downloadArtifactFromResourceTest() throws Exception { @@ -339,8 +335,7 @@ public class DownloadComponentArt extends ComponentBaseTest { String jsonBody = createUploadArtifactBodyJson(); String resourceId = resourceDetails.getUniqueId(); - String url = String.format(Urls.ADD_ARTIFACT_TO_RESOURCE, config.getCatalogBeHost(), - config.getCatalogBePort(), resourceId); + String url = String.format(Urls.ADD_ARTIFACT_TO_RESOURCE, config.getCatalogBeHost(), config.getCatalogBePort(), resourceId); HttpPost httppost = createPostAddArtifactRequeast(jsonBody, url, true); HttpResponse response = httpclient.execute(httppost); int status = response.getStatusLine().getStatusCode(); @@ -349,25 +344,21 @@ public class DownloadComponentArt extends ComponentBaseTest { ArtifactDefinition origArtifact = getArtifactDataFromJson(jsonBody); addArtifactDataFromResponse(response, origArtifact); String artifactId = origArtifact.getUniqueId(); - - url = String.format(Urls.UI_DOWNLOAD_RESOURCE_ARTIFACT, config.getCatalogBeHost(), - config.getCatalogBePort(), resourceId, artifactId); + + url = String.format(Urls.UI_DOWNLOAD_RESOURCE_ARTIFACT, config.getCatalogBeHost(), config.getCatalogBePort(), resourceId, artifactId); HttpGet httpGet = createGetRequest(url); response = httpclient.execute(httpGet); status = response.getStatusLine().getStatusCode(); AssertJUnit.assertEquals("failed to download artifact", 200, status); - + InputStream inputStream = response.getEntity().getContent(); ArtifactUiDownloadData artifactUiDownloadData = getArtifactUiDownloadData(IOUtils.toString(inputStream)); - AssertJUnit.assertEquals("Downloaded payload is different from uploaded one", UPLOAD_ARTIFACT_PAYLOAD, - artifactUiDownloadData.getBase64Contents()); - AssertJUnit.assertEquals("Downloaded artifact name is different from uploaded one", UPLOAD_ARTIFACT_NAME, - artifactUiDownloadData.getArtifactName()); + AssertJUnit.assertEquals("Downloaded payload is different from uploaded one", UPLOAD_ARTIFACT_PAYLOAD, artifactUiDownloadData.getBase64Contents()); + AssertJUnit.assertEquals("Downloaded artifact name is different from uploaded one", UPLOAD_ARTIFACT_NAME, artifactUiDownloadData.getArtifactName()); // validate audit - - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor - .constructFieldsForAuditValidation(resourceDetails, resourceDetails.getVersion(), sdncUserDetails); + + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor.constructFieldsForAuditValidation(resourceDetails, resourceDetails.getVersion(), sdncUserDetails); String auditAction = "ArtifactDownload"; expectedResourceAuditJavaObject.setAction(auditAction); expectedResourceAuditJavaObject.setPrevState(""); @@ -379,7 +370,7 @@ public class DownloadComponentArt extends ComponentBaseTest { expectedResourceAuditJavaObject.setCurrArtifactUuid(origArtifact.getUniqueId()); expectedResourceAuditJavaObject.setPrevArtifactUuid(""); AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false); - + } finally { httpclient.close(); } @@ -395,8 +386,7 @@ public class DownloadComponentArt extends ComponentBaseTest { String jsonStr = createUploadArtifactBodyJson(); - String url = String.format(Urls.ADD_ARTIFACT_TO_SERVICE, config.getCatalogBeHost(), - config.getCatalogBePort(), serviceDetails.getUniqueId()); + String url = String.format(Urls.ADD_ARTIFACT_TO_SERVICE, config.getCatalogBeHost(), config.getCatalogBePort(), serviceDetails.getUniqueId()); HttpPost httpPost = createPostAddArtifactRequeast(jsonStr, url, true); CloseableHttpResponse result = httpclient.execute(httpPost); int status = result.getStatusLine().getStatusCode(); @@ -406,22 +396,18 @@ public class DownloadComponentArt extends ComponentBaseTest { addArtifactDataFromResponse(result, origArtifact); String artifactId = origArtifact.getUniqueId(); - url = String.format(Urls.UI_DOWNLOAD_SERVICE_ARTIFACT, config.getCatalogBeHost(), config.getCatalogBePort(), - serviceDetails.getUniqueId(), artifactId); + url = String.format(Urls.UI_DOWNLOAD_SERVICE_ARTIFACT, config.getCatalogBeHost(), config.getCatalogBePort(), serviceDetails.getUniqueId(), artifactId); HttpGet httpGet = createGetRequest(url); CloseableHttpResponse response2 = httpclient.execute(httpGet); status = response2.getStatusLine().getStatusCode(); AssertJUnit.assertEquals("failed to download artifact", 200, status); InputStream inputStream = response2.getEntity().getContent(); ArtifactUiDownloadData artifactUiDownloadData = getArtifactUiDownloadData(IOUtils.toString(inputStream)); - AssertJUnit.assertEquals("Downloaded payload is different from uploaded one", UPLOAD_ARTIFACT_PAYLOAD, - artifactUiDownloadData.getBase64Contents()); - AssertJUnit.assertEquals("Downloaded artifact name is different from uploaded one", UPLOAD_ARTIFACT_NAME, - artifactUiDownloadData.getArtifactName()); + AssertJUnit.assertEquals("Downloaded payload is different from uploaded one", UPLOAD_ARTIFACT_PAYLOAD, artifactUiDownloadData.getBase64Contents()); + AssertJUnit.assertEquals("Downloaded artifact name is different from uploaded one", UPLOAD_ARTIFACT_NAME, artifactUiDownloadData.getArtifactName()); // validate audit - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = AuditValidationUtils - .constructFieldsForAuditValidation(serviceDetails, serviceDetails.getVersion(), sdncUserDetails); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = AuditValidationUtils.constructFieldsForAuditValidation(serviceDetails, serviceDetails.getVersion(), sdncUserDetails); String auditAction = "ArtifactDownload"; expectedResourceAuditJavaObject.setAction(auditAction); expectedResourceAuditJavaObject.setPrevState(""); @@ -432,14 +418,12 @@ public class DownloadComponentArt extends ComponentBaseTest { expectedResourceAuditJavaObject.setArtifactData(AuditValidationUtils.buildArtifactDataAudit(origArtifact)); expectedResourceAuditJavaObject.setCurrArtifactUuid(origArtifact.getUniqueId()); expectedResourceAuditJavaObject.setPrevArtifactUuid(""); - + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, auditAction, null, false); } finally { - // RestResponse response = - // ServiceRestUtils.deleteService(serviceDetails, serviceVersion, - // sdncUserDetails ); - // checkDeleteResponse(response); +// RestResponse response = ServiceRestUtils.deleteService(serviceDetails, serviceVersion, sdncUserDetails ); +// checkDeleteResponse(response); httpclient.close(); } } @@ -455,9 +439,8 @@ public class DownloadComponentArt extends ComponentBaseTest { ArtifactDefinition origArtifact = new ArtifactDefinition(); origArtifact.setUniqueId(artifactIdNotFound); - - String url = String.format(Urls.UI_DOWNLOAD_RESOURCE_ARTIFACT, config.getCatalogBeHost(), - config.getCatalogBePort(), resourceId, artifactIdNotFound); + + String url = String.format(Urls.UI_DOWNLOAD_RESOURCE_ARTIFACT, config.getCatalogBeHost(), config.getCatalogBePort(), resourceId, artifactIdNotFound); HttpGet httpGet = createGetRequest(url); CloseableHttpResponse response = httpclient.execute(httpGet); int status = response.getStatusLine().getStatusCode(); @@ -465,8 +448,7 @@ public class DownloadComponentArt extends ComponentBaseTest { // validate audit ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_NOT_FOUND.name()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor - .constructFieldsForAuditValidation(resourceDetails, resourceDetails.getVersion(), sdncUserDetails); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor.constructFieldsForAuditValidation(resourceDetails, resourceDetails.getVersion(), sdncUserDetails); String auditAction = "ArtifactDownload"; expectedResourceAuditJavaObject.setAction(auditAction); expectedResourceAuditJavaObject.setPrevState(""); @@ -495,8 +477,7 @@ public class DownloadComponentArt extends ComponentBaseTest { ArtifactDefinition origArtifact = new ArtifactDefinition(); origArtifact.setUniqueId(artifactIdNotFound); - String url = String.format(Urls.UI_DOWNLOAD_SERVICE_ARTIFACT, config.getCatalogBeHost(), - config.getCatalogBePort(), serviceDetails.getUniqueId(), artifactIdNotFound); + String url = String.format(Urls.UI_DOWNLOAD_SERVICE_ARTIFACT, config.getCatalogBeHost(), config.getCatalogBePort(), serviceDetails.getUniqueId(), artifactIdNotFound); HttpGet httpGet = createGetRequest(url); CloseableHttpResponse response2 = httpclient.execute(httpGet); int status = response2.getStatusLine().getStatusCode(); @@ -504,8 +485,7 @@ public class DownloadComponentArt extends ComponentBaseTest { // validate audit ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_NOT_FOUND.name()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils - .constructFieldsForAuditValidation(serviceDetails, serviceDetails.getVersion(), sdncUserDetails); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ServiceValidationUtils.constructFieldsForAuditValidation(serviceDetails, serviceDetails.getVersion(), sdncUserDetails); String auditAction = "ArtifactDownload"; expectedResourceAuditJavaObject.setAction(auditAction); expectedResourceAuditJavaObject.setPrevState(""); @@ -529,11 +509,9 @@ public class DownloadComponentArt extends ComponentBaseTest { ArtifactReqDetails defaultArtifact = ElementFactory.getDefaultArtifact(); - RestResponse response = ArtifactRestUtils.addInformationalArtifactToResource(defaultArtifact, sdncUserDetails, - resourceDetails.getUniqueId()); + RestResponse response = ArtifactRestUtils.addInformationalArtifactToResource(defaultArtifact, sdncUserDetails, resourceDetails.getUniqueId()); int status = response.getErrorCode(); - AssertJUnit.assertEquals("add informational artifact request returned status: " + response.getErrorCode(), 200, - status); + AssertJUnit.assertEquals("add informational artifact request returned status: " + response.getErrorCode(), 200, status); RestResponse resourceResp = ResourceRestUtils.getResource(resourceDetails.getUniqueId()); Resource resource = ResponseParser.convertResourceResponseToJavaObject(resourceResp.getResponse()); @@ -549,7 +527,8 @@ public class DownloadComponentArt extends ComponentBaseTest { } AssertJUnit.assertTrue(isExist); } - + + protected String createUploadArtifactBodyJson() { Map<String, Object> jsonBody = new HashMap<String, Object>(); jsonBody.put("artifactName", UPLOAD_ARTIFACT_NAME); @@ -561,12 +540,12 @@ public class DownloadComponentArt extends ComponentBaseTest { jsonBody.put("artifactLabel", "configure"); return gson.toJson(jsonBody); } - + protected ArtifactDefinition getArtifactDataFromJson(String json) { Gson gson = new Gson(); JsonObject jsonElement = new JsonObject(); jsonElement = gson.fromJson(json, jsonElement.getClass()); - ArtifactDefinition artifact = new ArtifactDefinition(); + ArtifactDefinition artifact = new ArtifactDefinition(); String payload = null; JsonElement artifactPayload = jsonElement.get(Constants.ARTIFACT_PAYLOAD_DATA); if (artifactPayload != null && !artifactPayload.isJsonNull()) { @@ -575,18 +554,17 @@ public class DownloadComponentArt extends ComponentBaseTest { jsonElement.remove(Constants.ARTIFACT_PAYLOAD_DATA); artifact = gson.fromJson(jsonElement, ArtifactDefinition.class); artifact.setPayloadData(payload); - - /* - * atifact.setArtifactName(UPLOAD_ARTIFACT_NAME); - * artifact.setArtifactDisplayName("configure"); - * artifact.setArtifactType("SHELL"); artifact.setMandatory(false); - * artifact.setDescription("ff"); - * artifact.setPayloadData(UPLOAD_ARTIFACT_PAYLOAD); - * artifact.setArtifactLabel("configure"); - */ + + /*atifact.setArtifactName(UPLOAD_ARTIFACT_NAME); +artifact.setArtifactDisplayName("configure"); +artifact.setArtifactType("SHELL"); +artifact.setMandatory(false); +artifact.setDescription("ff"); +artifact.setPayloadData(UPLOAD_ARTIFACT_PAYLOAD); +artifact.setArtifactLabel("configure");*/ return artifact; } - + protected HttpGet createGetRequest(String url) { HttpGet httpGet = new HttpGet(url); httpGet.addHeader(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData); @@ -594,53 +572,49 @@ public class DownloadComponentArt extends ComponentBaseTest { httpGet.addHeader(HttpHeaderEnum.USER_ID.getValue(), sdncUserDetails.getUserId()); return httpGet; } - + protected String getArtifactUid(HttpResponse response) throws HttpResponseException, IOException, ParseException { String responseString = new BasicResponseHandler().handleResponse(response); JSONObject responseMap = (JSONObject) jsonParser.parse(responseString); String artifactId = (String) responseMap.get("uniqueId"); return artifactId; } - + protected String getArtifactEsId(HttpResponse response) throws HttpResponseException, IOException, ParseException { String responseString = new BasicResponseHandler().handleResponse(response); JSONObject responseMap = (JSONObject) jsonParser.parse(responseString); String esId = (String) responseMap.get("EsId"); return esId; } - - protected ArtifactDefinition addArtifactDataFromResponse(HttpResponse response, ArtifactDefinition artifact) - throws HttpResponseException, IOException, ParseException { - // String responseString = new - // BasicResponseHandler().handleResponse(response); + + protected ArtifactDefinition addArtifactDataFromResponse(HttpResponse response, ArtifactDefinition artifact) throws HttpResponseException, IOException, ParseException { + //String responseString = new BasicResponseHandler().handleResponse(response); HttpEntity entity = response.getEntity(); - String responseString = EntityUtils.toString(entity); + String responseString = EntityUtils.toString(entity); JSONObject responseMap = (JSONObject) jsonParser.parse(responseString); - artifact.setEsId((String) responseMap.get("esId")); + artifact.setEsId((String)responseMap.get("esId")); artifact.setUniqueId((String) responseMap.get("uniqueId")); artifact.setArtifactGroupType(ArtifactGroupTypeEnum.findType((String) responseMap.get("artifactGroupType"))); artifact.setTimeout(((Long) responseMap.get("timeout")).intValue()); return artifact; } - - protected String getLifecycleArtifactUid(CloseableHttpResponse response) - throws HttpResponseException, IOException, ParseException { + + protected String getLifecycleArtifactUid(CloseableHttpResponse response) throws HttpResponseException, IOException, ParseException { String responseString = new BasicResponseHandler().handleResponse(response); JSONObject responseMap = (JSONObject) jsonParser.parse(responseString); responseMap = (JSONObject) responseMap.get("implementation"); String artifactId = (String) responseMap.get("uniqueId"); return artifactId; } - + protected HttpDelete createDeleteArtifactRequest(String url) { HttpDelete httpDelete = new HttpDelete(url); httpDelete.addHeader(HttpHeaderEnum.USER_ID.getValue(), sdncUserDetails.getUserId()); httpDelete.addHeader(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate); return httpDelete; } - - protected HttpPost createPostAddArtifactRequeast(String jsonBody, String url, boolean addMd5Header) - throws UnsupportedEncodingException { + + protected HttpPost createPostAddArtifactRequeast(String jsonBody, String url, boolean addMd5Header) throws UnsupportedEncodingException { HttpPost httppost = new HttpPost(url); httppost.addHeader(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData); httppost.addHeader(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate); @@ -651,10 +625,10 @@ public class DownloadComponentArt extends ComponentBaseTest { StringEntity input = new StringEntity(jsonBody); input.setContentType("application/json"); httppost.setEntity(input); - log.debug("Executing request {}", httppost.getRequestLine()); + log.debug("Executing request {}" , httppost.getRequestLine()); return httppost; } - + protected String createLoadArtifactBody() { Map<String, Object> json = new HashMap<String, Object>(); json.put("artifactName", "install_apache2.sh"); @@ -662,21 +636,20 @@ public class DownloadComponentArt extends ComponentBaseTest { json.put("description", "ddd"); json.put("payloadData", "UEsDBAoAAAAIAAeLb0bDQz"); json.put("artifactLabel", "name123"); - + String jsonStr = gson.toJson(json); return jsonStr; } - + protected void checkDeleteResponse(RestResponse response) { BaseRestUtils.checkStatusCode(response, "delete request failed", false, 204, 404); } - + protected ArtifactUiDownloadData getArtifactUiDownloadData(String artifactUiDownloadDataStr) throws Exception { - + ObjectMapper mapper = new ObjectMapper(); try { - ArtifactUiDownloadData artifactUiDownloadData = mapper.readValue(artifactUiDownloadDataStr, - ArtifactUiDownloadData.class); + ArtifactUiDownloadData artifactUiDownloadData = mapper.readValue(artifactUiDownloadDataStr, ArtifactUiDownloadData.class); return artifactUiDownloadData; } catch (Exception e) { e.printStackTrace(); @@ -684,4 +657,5 @@ public class DownloadComponentArt extends ComponentBaseTest { return null; } + } diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/HeatEnvArtifact.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/HeatEnvArtifact.java new file mode 100644 index 0000000000..2ca09b36f3 --- /dev/null +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/HeatEnvArtifact.java @@ -0,0 +1,331 @@ +/*- + * ============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.artifacts; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.util.List; +import java.util.Map; + +import org.apache.commons.codec.binary.Base64; +import org.junit.Rule; +import org.junit.rules.TestName; +import org.openecomp.sdc.be.model.ArtifactDefinition; +import org.openecomp.sdc.be.model.ArtifactUiDownloadData; +import org.openecomp.sdc.be.model.ComponentInstance; +import org.openecomp.sdc.be.model.HeatParameterDefinition; +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.be.model.heat.HeatParameterType; +import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; +import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; +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.rest.ArtifactRestUtils; +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.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.testng.annotations.DataProvider; +import org.testng.annotations.Test; +import org.yaml.snakeyaml.Yaml; + +import com.google.gson.Gson; + +public class HeatEnvArtifact extends ComponentBaseTest { + + @Rule + public static TestName name = new TestName(); + + public HeatEnvArtifact() { + super(name, HeatEnvArtifact.class.getName()); + } + + @Test(enabled = true) + public void heatEnvOnResourceFormatTest() throws Exception { + + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + Resource createdResource = createVfFromCSAR(sdncModifierDetails, "csarHeatEnv.csar"); + assertNotNull(createdResource); + + RestResponse certifyState = LifecycleRestUtils.changeComponentState(createdResource, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); + BaseRestUtils.checkSuccess(certifyState); + + Resource certifiedResource = ResponseParser.parseToObjectUsingMapper(certifyState.getResponse(), Resource.class); + + ServiceReqDetails serviceDetails = ElementFactory.getDefaultService("ciNewtestservice1", ServiceCategoriesEnum.MOBILITY, sdncModifierDetails.getUserId()); + + // 2 create service + RestResponse createServiceResponse = ServiceRestUtils.createService(serviceDetails, sdncModifierDetails); + ResourceRestUtils.checkCreateResponse(createServiceResponse); + Service service = ResponseParser.parseToObjectUsingMapper(createServiceResponse.getResponse(), Service.class); + + // 3 create vf instance in service + ComponentInstanceReqDetails componentInstanceDetails = ElementFactory.getComponentInstance(certifiedResource); + RestResponse createComponentInstance = ComponentInstanceRestUtils.createComponentInstance(componentInstanceDetails, sdncModifierDetails, service); + ResourceRestUtils.checkCreateResponse(createComponentInstance); + + RestResponse getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + + List<ComponentInstance> componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + assertEquals(1, componentInstances.size()); + + ComponentInstance vfi = componentInstances.get(0); + Map<String, ArtifactDefinition> deploymentArtifacts = vfi.getDeploymentArtifacts(); + assertNotNull(deploymentArtifacts); + assertEquals(4, deploymentArtifacts.size()); + ArtifactDefinition heatEnv = deploymentArtifacts.get("heat0env"); + assertNotNull(heatEnv); + + Map<String, Object> yaml = downloadComponentInstanceYamlFile(service.getUniqueId(), vfi.getUniqueId(), sdncModifierDetails, heatEnv.getUniqueId()); + assertNotNull(yaml); + Map<String, Object> paramters = (Map<String, Object>) yaml.get("parameters"); + assertNotNull(paramters); + assertEquals(8, paramters.size()); + assertEquals(null, paramters.get("param8")); + List<HeatParameterDefinition> heatParameters = heatEnv.getListHeatParameters(); + heatParameters.forEach(p -> { + assertEquals(p.getCurrentValue(), paramters.get(p.getName())); + }); + } + + @Test(enabled = true) + public void noHeatEnvOnResourceFormatTest() throws Exception { + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + Resource createdResource = createVfFromCSAR(sdncModifierDetails, "csarHeatNoEnv.csar"); + assertNotNull(createdResource); + + RestResponse certifyState = LifecycleRestUtils.changeComponentState(createdResource, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); + BaseRestUtils.checkSuccess(certifyState); + + Resource certifiedResource = ResponseParser.parseToObjectUsingMapper(certifyState.getResponse(), Resource.class); + + ServiceReqDetails serviceDetails = ElementFactory.getDefaultService("ciNewtestservice1", ServiceCategoriesEnum.MOBILITY, sdncModifierDetails.getUserId()); + + // 2 create service + RestResponse createServiceResponse = ServiceRestUtils.createService(serviceDetails, sdncModifierDetails); + ResourceRestUtils.checkCreateResponse(createServiceResponse); + Service service = ResponseParser.parseToObjectUsingMapper(createServiceResponse.getResponse(), Service.class); + + // 3 create vf instance in service + ComponentInstanceReqDetails componentInstanceDetails = ElementFactory.getComponentInstance(certifiedResource); + RestResponse createComponentInstance = ComponentInstanceRestUtils.createComponentInstance(componentInstanceDetails, sdncModifierDetails, service); + ResourceRestUtils.checkCreateResponse(createComponentInstance); + + RestResponse getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + + List<ComponentInstance> componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + assertEquals(1, componentInstances.size()); + + ComponentInstance vfi = componentInstances.get(0); + Map<String, ArtifactDefinition> deploymentArtifacts = vfi.getDeploymentArtifacts(); + assertNotNull(deploymentArtifacts); + assertEquals(4, deploymentArtifacts.size()); + ArtifactDefinition heatEnv = deploymentArtifacts.get("heat0env"); + assertNotNull(heatEnv); + + Map<String, Object> yaml = downloadComponentInstanceYamlFile(service.getUniqueId(), vfi.getUniqueId(), sdncModifierDetails, heatEnv.getUniqueId()); + assertNotNull(yaml); + Map<String, Object> paramters = (Map<String, Object>) yaml.get("parameters"); + assertNotNull(paramters); + assertEquals(8, paramters.size()); + assertEquals(null, paramters.get("param1")); + assertEquals(null, paramters.get("param2")); + assertEquals(null, paramters.get("param4")); + assertEquals(null, paramters.get("param5")); + assertEquals(null, paramters.get("param7")); + assertEquals(null, paramters.get("param8")); + List<HeatParameterDefinition> heatParameters = heatEnv.getListHeatParameters(); + heatParameters.forEach(p -> { + assertEquals(p.getCurrentValue(), paramters.get(p.getName())); + }); + + } + + @DataProvider(name = "vfModuleCsar") + public static Object[][] csarNames() { + return new Object[][] { { "VSPPackage" }, { "csar_1" }, { "csarHeatEnv.csar" } }; + } + + @Test(dataProvider = "vfModuleCsar") + public void heatEnvOnVfDownloadNoChangesTest(String vfName) throws Exception { + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + System.out.println("Run for vf " + vfName); + Resource createdResource = createVfFromCSAR(sdncModifierDetails, vfName); + assertNotNull(createdResource); + Map<String, ArtifactDefinition> deploymentArtifacts = createdResource.getDeploymentArtifacts(); + assertNotNull(deploymentArtifacts); + + for (ArtifactDefinition artifact : deploymentArtifacts.values()) { + if (artifact.getArtifactType().equals("HEAT")) { + + ArtifactDefinition heatArtifact = artifact; + assertNotNull(heatArtifact); + + ArtifactDefinition heatEnvArtifact = deploymentArtifacts.get(artifact.getArtifactLabel() + "env"); + assertNotNull(heatEnvArtifact); + + String heatEnvId = heatEnvArtifact.getUniqueId(); + downloadHeatEnvAndValidate(sdncModifierDetails, createdResource, heatArtifact, heatEnvId); + } + } + System.out.println("Finished for vf " + vfName); + + } + + private void downloadHeatEnvAndValidate(User sdncModifierDetails, Resource createdResource, ArtifactDefinition heatArtifact, String heatEnvId) throws Exception { + RestResponse downloadResult = ArtifactRestUtils.downloadResourceArtifactInternalApi(createdResource.getUniqueId(), sdncModifierDetails, heatEnvId); + BaseRestUtils.checkSuccess(downloadResult); + + ArtifactUiDownloadData artifactUiDownloadData = ResponseParser.parseToObject(downloadResult.getResponse(), ArtifactUiDownloadData.class); + byte[] fromUiDownload = artifactUiDownloadData.getBase64Contents().getBytes(); + byte[] decodeBase64 = Base64.decodeBase64(fromUiDownload); + Yaml yaml = new Yaml(); + + InputStream inputStream = new ByteArrayInputStream(decodeBase64); + + Map<String, Object> load = (Map<String, Object>) yaml.load(inputStream); + Map<String, Object> paramters = (Map<String, Object>) load.get("parameters"); + assertNotNull(paramters); + + List<HeatParameterDefinition> heatParameters = heatArtifact.getListHeatParameters(); + assertNotNull(heatParameters); + assertEquals("Validate heat parameters size", heatParameters.size(), paramters.size()); + Gson gson = new Gson(); + heatParameters.forEach(hpInResource -> { + Object valueInFile = paramters.get(hpInResource.getName()); + Object valueInResource; + if (hpInResource.getCurrentValue() == null) { + valueInResource = hpInResource.getDefaultValue(); + } else { + valueInResource = hpInResource.getCurrentValue(); + } + if (valueInResource == null) { + assertEquals("Validate null value for parameter " + hpInResource.getName(), valueInResource, valueInFile); + } else { + HeatParameterType type = HeatParameterType.isValidType(hpInResource.getType()); + // if (type != null && (HeatParameterType.JSON == type || HeatParameterType.COMMA_DELIMITED_LIST == type)){ + // String jsonValue = gson.toJson(valueInFile).toString(); + // + // assertEquals("Validate value as json string for parameter " +hpInResource.getName() ,valueInResource, jsonValue); + // }else{ + assertEquals("Validate value for parameter " + hpInResource.getName(), valueInResource, valueInFile.toString()); + // } + } + }); + } + + @Test(enabled = true) + public void heatEnvOnVfFailedTest() throws Exception { + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + Resource createdResource = createVfFromCSAR(sdncModifierDetails, "csar_1"); + assertNotNull(createdResource); + Map<String, ArtifactDefinition> deploymentArtifacts = createdResource.getDeploymentArtifacts(); + assertNotNull(deploymentArtifacts); + String heatEnvId = "wrongId"; + RestResponse downloadResult = ArtifactRestUtils.downloadResourceArtifactInternalApi(createdResource.getUniqueId(), sdncModifierDetails, heatEnvId); + + assertEquals("Validate error code", 404, downloadResult.getErrorCode().intValue()); + + // BaseRestUtils.checkErrorResponse(downloadResult, ActionStatus.ARTIFACT_NOT_FOUND); + + } + + @Test(dataProvider = "vfModuleCsar") + public void heatEnvOnVfDownloadChangeParamTest(String vfName) throws Exception { + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + Resource createdResource = createVfFromCSAR(sdncModifierDetails, vfName); + assertNotNull(createdResource); + Map<String, ArtifactDefinition> deploymentArtifacts = createdResource.getDeploymentArtifacts(); + assertNotNull(deploymentArtifacts); + + ArtifactDefinition heatArt = deploymentArtifacts.get("heat0"); + assertNotNull(heatArt); + + List<HeatParameterDefinition> heatParameters = heatArt.getListHeatParameters(); + assertNotNull(heatParameters); + HeatParameterDefinition paramForChange = null; + for (HeatParameterDefinition hp : heatParameters) { + if (hp.getType().equals("string")) { + paramForChange = hp; + break; + } + } + assertNotNull(paramForChange); + paramForChange.setCurrentValue("newValueForTest"); + RestResponse updateResult = ArtifactRestUtils.updateDeploymentArtifactToResource(heatArt, sdncModifierDetails, createdResource.getUniqueId()); + BaseRestUtils.checkSuccess(updateResult); + + RestResponse getResourceResult = ResourceRestUtils.getResource(createdResource.getUniqueId()); + BaseRestUtils.checkSuccess(getResourceResult); + + Resource resource = ResponseParser.convertResourceResponseToJavaObject(getResourceResult.getResponse()); + assertNotNull(resource); + deploymentArtifacts = resource.getDeploymentArtifacts(); + assertNotNull(deploymentArtifacts); + + heatArt = deploymentArtifacts.get("heat0"); + assertNotNull(heatArt); + ArtifactDefinition heatEnvArt = deploymentArtifacts.get("heat0env"); + assertNotNull(heatEnvArt); + + downloadHeatEnvAndValidate(sdncModifierDetails, createdResource, heatArt, heatEnvArt.getUniqueId()); + + } + + // **************************************** + private Map<String, Object> downloadComponentInstanceYamlFile(String serviceUniqueId, String resourceInstanceId, User user, String artifactUniqeId) throws Exception { + RestResponse heatEnvDownloadResponse = ArtifactRestUtils.downloadResourceInstanceArtifact(serviceUniqueId, resourceInstanceId, user, artifactUniqeId); + BaseRestUtils.checkSuccess(heatEnvDownloadResponse); + + ArtifactUiDownloadData artifactUiDownloadData = ResponseParser.parseToObject(heatEnvDownloadResponse.getResponse(), ArtifactUiDownloadData.class); + byte[] fromUiDownload = artifactUiDownloadData.getBase64Contents().getBytes(); + byte[] decodeBase64 = Base64.decodeBase64(fromUiDownload); + Yaml yaml = new Yaml(); + + InputStream inputStream = new ByteArrayInputStream(decodeBase64); + + Map<String, Object> load = (Map<String, Object>) yaml.load(inputStream); + + return load; + } +} diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/PlaceHolderValidations.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/PlaceHolderValidations.java index 02bef89f2c..2e7b6ea4af 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/PlaceHolderValidations.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/PlaceHolderValidations.java @@ -39,15 +39,20 @@ import org.javatuples.Pair; import org.junit.Rule; 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.ArtifactDefinition; import org.openecomp.sdc.be.model.Component; +import org.openecomp.sdc.be.model.Product; 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.ComponentBaseTest; import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ProductReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo; import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; @@ -63,11 +68,14 @@ import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.general.FileUtils; import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils; 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.LifecycleRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.ProductRestUtils; 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.openecomp.sdc.exception.ResponseFormat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.testng.annotations.BeforeMethod; @@ -486,7 +494,7 @@ public class PlaceHolderValidations extends ComponentBaseTest { RestResponse delteArtifactFromResource = ArtifactRestUtils.deleteInformationalArtifactFromResource( resourceDetails1.getUniqueId(), heatArtifactDetails, sdncDesignerDetails2); - logger.debug("addInformationalArtifactToResource response: {}", delteArtifactFromResource.getResponseMessage()); + logger.debug("addInformationalArtifactToResource response: {} ",delteArtifactFromResource.getResponseMessage()); assertTrue("response code is not 200, returned :" + delteArtifactFromResource.getErrorCode(), delteArtifactFromResource.getErrorCode() == 200); @@ -685,7 +693,7 @@ public class PlaceHolderValidations extends ComponentBaseTest { String sourceDir = config.getResourceConfigDir(); String testResourcesPath = sourceDir + File.separator + folderName; List<String> listFileName = FileUtils.getFileListFromBaseDirectoryByTestName(testResourcesPath); - logger.debug("listFileName: {}", listFileName.toString()); + logger.debug("listFileName: {}",listFileName.toString()); String payload = FileUtils.loadPayloadFile(listFileName, ext, true); ArtifactReqDetails updateArtifactReqDetails = ElementFactory.getDefaultDeploymentArtifactForType(artType); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateArtResponse.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateArtResponse.java index 01169630a4..abbaa3050d 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateArtResponse.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateArtResponse.java @@ -34,6 +34,7 @@ import org.openecomp.sdc.be.model.ArtifactDefinition; import org.openecomp.sdc.be.model.HeatParameterDefinition; import org.openecomp.sdc.be.model.Resource; import org.openecomp.sdc.be.model.User; +import org.openecomp.sdc.be.model.operations.impl.AllOperationsUtil; import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; @@ -315,7 +316,7 @@ public class ValidateArtResponse extends ComponentBaseTest { ArtifactDefinition ArtifactDefinitionRespJavaObject = ResponseParser .convertArtifactDefinitionResponseToJavaObject(updateInformationalArtifactToResource.getResponse()); - List<HeatParameterDefinition> heatParameters = ArtifactDefinitionRespJavaObject.getHeatParameters(); + List<HeatParameterDefinition> heatParameters = ArtifactDefinitionRespJavaObject.getListHeatParameters(); for (HeatParameterDefinition heatParameterDefinition : heatParameters) { String verify = updateValueParam; AssertJUnit.assertTrue("verification failed", verify.equals(heatParameterDefinition.getCurrentValue())); @@ -389,7 +390,7 @@ public class ValidateArtResponse extends ComponentBaseTest { ArtifactDefinition ArtifactDefinitionRespJavaObject = ResponseParser .convertArtifactDefinitionResponseToJavaObject(updateInformationalArtifactToResource.getResponse()); - List<HeatParameterDefinition> heatParameters = ArtifactDefinitionRespJavaObject.getHeatParameters(); + List<HeatParameterDefinition> heatParameters = ArtifactDefinitionRespJavaObject.getListHeatParameters(); for (HeatParameterDefinition heatParameterDefinition : heatParameters) { String verify = updateValueParam; AssertJUnit.assertTrue("verification failed", verify.equals(heatParameterDefinition.getCurrentValue())); @@ -461,7 +462,7 @@ public class ValidateArtResponse extends ComponentBaseTest { // verify change in update response ArtifactDefinition ArtifactDefinitionRespJavaObject = ResponseParser .convertArtifactDefinitionResponseToJavaObject(updateInformationalArtifactToResource.getResponse()); - List<HeatParameterDefinition> heatParameters = ArtifactDefinitionRespJavaObject.getHeatParameters(); + List<HeatParameterDefinition> heatParameters = ArtifactDefinitionRespJavaObject.getListHeatParameters(); for (HeatParameterDefinition heatParameterDefinition : heatParameters) { // String verify = updateValueParam; if (heatParameterDefinition.getDefaultValue() != null) { @@ -541,7 +542,7 @@ public class ValidateArtResponse extends ComponentBaseTest { ArtifactDefinition ArtifactDefinitionRespJavaObject = ResponseParser .convertArtifactDefinitionResponseToJavaObject(updateInformationalArtifactToResource.getResponse()); - List<HeatParameterDefinition> heatParameters = ArtifactDefinitionRespJavaObject.getHeatParameters(); + List<HeatParameterDefinition> heatParameters = ArtifactDefinitionRespJavaObject.getListHeatParameters(); for (HeatParameterDefinition heatParameterDefinition : heatParameters) { String verify = updateValueParam; AssertJUnit.assertTrue("verification failed", verify.equals(heatParameterDefinition.getCurrentValue())); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateHeatArtFieldsFromUI.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateHeatArtFieldsFromUI.java deleted file mode 100644 index c22dcb96d4..0000000000 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateHeatArtFieldsFromUI.java +++ /dev/null @@ -1,444 +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.artifacts; - -// -//import java.util.Arrays; -//import java.util.List; -// -//import org.junit.Rule; -//import org.junit.rules.TestName; -//import org.testng.AssertJUnit; -//import org.testng.annotations.Test; -// -//import org.openecomp.sdc.be.dao.api.ActionStatus; -//import org.openecomp.sdc.be.model.ArtifactDefinition; -//import org.openecomp.sdc.be.model.ComponentInstance; -//import org.openecomp.sdc.be.model.HeatParameterDefinition; -//import org.openecomp.sdc.be.model.Resource; -//import org.openecomp.sdc.be.model.Service; -//import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails; -//import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; -//import org.openecomp.sdc.ci.tests.datatypes.enums.RespJsonKeysEnum; -//import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; -//import org.openecomp.sdc.ci.tests.preRequisites.HeatEnvBaseTest; -//import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils; -//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; -// -//public class ValidateHeatArtFieldsFromUI extends HeatEnvBaseTest { -public class ValidateHeatArtFieldsFromUI { - // - // - // - // private static final String heatExtension = "yaml"; - // private static final String yangXmlExtension = "xml"; - // private static final String muranoPkgExtension = "zip"; - // private final String folderName= "yamlFieldsValidation"; - // - // - // private final String uuidString = - // RespJsonKeysEnum.UUID.getRespJsonKeyName().toString(); - // - // public ValidateHeatArtFieldsFromUI() { - // super(name, ValidateHeatArtFieldsFromUI.class.getName()); - // } - // - // @Rule - // public static TestName name = new TestName(); - // - // - // @Test - // public void heatEnvValidateHeatArtFiledTypes_UpdateFailed() throws - // Exception { - // - // //get relevant service - // RestResponse serviceGetResponse = - // ServiceRestUtils.getService(serviceDetails2, sdncDesignerDetails); - // Service service = - // ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse()); - // List<ComponentInstance> resourceInstances = - // service.getComponentInstances(); - // ComponentInstance resourceInstance = resourceInstances.get(0); - // - // - // String defaultParam = null; - // - // //update heatEnv with invalid value in number field - // - // ArtifactDefinition artifact = getCurrentArtifactDefinitionFromService(); - // String currentHeatEnvParamBeforeUpdate = replaceHeatParamsValue(artifact, - // "home_number", "Tel Aviv"); - // ArtifactReqDetails artReq = - // ResponseParser.convertArtifactDefinitionToArtifactReqDetailsObject(artifact); - // RestResponse res = ArtifactRestUtils.updateDeploymentArtifactToRI(artReq, - // sdncDesignerDetails, resourceInstance.getUniqueId(), - // service.getUniqueId()); - // - // // validate negative response - // List<String> variables = Arrays.asList("HEAT_ENV", "number", - // "home_number"); - // ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_HEAT_PARAMETER_VALUE.name(), - // variables, res.getResponse()); - // - // //validate current value not affected - // artifact = getCurrentArtifactDefinitionFromService(); - // String currentHeatEnvParamAfterUpdate = getHeatParamsValue(artifact, - // "home_number"); - // AssertJUnit.assertTrue("HeatEnvParam was not updated: " + - // currentHeatEnvParamBeforeUpdate, - // currentHeatEnvParamBeforeUpdate.equals(currentHeatEnvParamAfterUpdate)); - // - // //update heatEnv with invalid value in boolean field - // - // artifact = getCurrentArtifactDefinitionFromService(); - // currentHeatEnvParamBeforeUpdate = replaceHeatParamsValue(artifact, - // "private_building", "Tel Aviv"); - // artReq = - // ResponseParser.convertArtifactDefinitionToArtifactReqDetailsObject(artifact); - // res = ArtifactRestUtils.updateDeploymentArtifactToRI(artReq, - // sdncDesignerDetails, resourceInstance.getUniqueId(), - // service.getUniqueId()); - // - // // validate negative response - // variables = Arrays.asList("HEAT_ENV", "boolean", "private_building"); - // ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_HEAT_PARAMETER_VALUE.name(), - // variables, res.getResponse()); - // - // //validate current value not affected - // artifact = getCurrentArtifactDefinitionFromService(); - // currentHeatEnvParamAfterUpdate = getHeatParamsValue(artifact, - // "private_building"); - // AssertJUnit.assertTrue("HeatEnvParam was not updated: " + - // currentHeatEnvParamBeforeUpdate, - // currentHeatEnvParamBeforeUpdate.equals(currentHeatEnvParamAfterUpdate)); - // - // - // - // - // //update heatEnv with invalid value in boolean field - // - // artifact = getCurrentArtifactDefinitionFromService(); - // currentHeatEnvParamBeforeUpdate = replaceHeatParamsValue(artifact, - // "city_name", "\uC2B5"); - // artReq = - // ResponseParser.convertArtifactDefinitionToArtifactReqDetailsObject(artifact); - // res = ArtifactRestUtils.updateDeploymentArtifactToRI(artReq, - // sdncDesignerDetails, resourceInstance.getUniqueId(), - // service.getUniqueId()); - // // validate negative response - // variables = Arrays.asList("HEAT_ENV", "string", "city_name"); - // ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_HEAT_PARAMETER_VALUE.name(), - // variables, res.getResponse()); - // - // //validate current value not affected - // - // artifact = getCurrentArtifactDefinitionFromService(); - // currentHeatEnvParamAfterUpdate = getHeatParamsValue(artifact, - // "city_name"); - // AssertJUnit.assertTrue("HeatEnvParam was not updated: " + - // currentHeatEnvParamBeforeUpdate, - // currentHeatEnvParamBeforeUpdate.equals(currentHeatEnvParamAfterUpdate)); - // } - // - // @Test - // public void heatValidateHeatArtFiledTypes_UpdateFailed() throws Exception - // { - // - // - // RestResponse checkOutResponse = - // LifecycleRestUtils.changeResourceState(resourceSC, sdncDesignerDetails, - // LifeCycleStatesEnum.CHECKOUT); - // AssertJUnit.assertTrue("response code is not 200, returned: " + - // checkOutResponse.getErrorCode(),checkOutResponse.getErrorCode() == 200); - // //get relevant service - // RestResponse resourceGetResponse = - // ResourceRestUtils.getResource(resourceSC, sdncDesignerDetails); - // Resource resource = - // ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); - // - // //update heatEnv with invalid value in number field - // - // ArtifactDefinition artifact = getCurrentArtifactDefinitionFromResource(); - // String currentHeatEnvParamBeforeUpdate = replaceHeatParamsValue(artifact, - // "home_number", "Tel Aviv"); - // ArtifactReqDetails artReq = - // ResponseParser.convertArtifactDefinitionToArtifactReqDetailsObject(artifact); - // RestResponse res = - // ArtifactRestUtils.updateInformationalArtifactToResource(artReq, - // sdncDesignerDetails, resource.getUniqueId()); - // // validate negative response - // List<String> variables = Arrays.asList("HEAT", "number", "home_number"); - // ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_HEAT_PARAMETER_VALUE.name(), - // variables, res.getResponse()); - // - // //validate current value not affected - // - // artifact = getCurrentArtifactDefinitionFromResource(); - // String currentHeatEnvParamAfterUpdate = getHeatParamsValue(artifact, - // "home_number"); - // AssertJUnit.assertTrue("HeatEnvParam was not updated: " + - // currentHeatEnvParamBeforeUpdate, - // currentHeatEnvParamBeforeUpdate.equals(currentHeatEnvParamAfterUpdate)); - // - // - // //update heatEnv with invalid value in boolean field - // - // artifact = getCurrentArtifactDefinitionFromResource(); - // currentHeatEnvParamBeforeUpdate = replaceHeatParamsValue(artifact, - // "private_building", "Tel Aviv"); - // artReq = - // ResponseParser.convertArtifactDefinitionToArtifactReqDetailsObject(artifact); - // res = ArtifactRestUtils.updateDeploymentArtifactToResource(artReq, - // sdncDesignerDetails, resource.getUniqueId()); - // // validate negative response - // variables = Arrays.asList("HEAT", "boolean", "private_building"); - // ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_HEAT_PARAMETER_VALUE.name(), - // variables, res.getResponse()); - // - // //validate current value not affected - // - // artifact = getCurrentArtifactDefinitionFromResource(); - // - // currentHeatEnvParamAfterUpdate = getHeatParamsValue(artifact, - // "private_building"); - // AssertJUnit.assertTrue("HeatEnvParam was not updated: " + - // currentHeatEnvParamBeforeUpdate, - // currentHeatEnvParamBeforeUpdate.equals(currentHeatEnvParamAfterUpdate)); - // - // - // //update heatEnv with invalid value in boolean field - // - // artifact = getCurrentArtifactDefinitionFromResource(); - // currentHeatEnvParamBeforeUpdate = replaceHeatParamsValue(artifact, - // "city_name", "\uC2B5"); - // - // artReq = - // ResponseParser.convertArtifactDefinitionToArtifactReqDetailsObject(artifact); - // res = ArtifactRestUtils.updateDeploymentArtifactToResource(artReq, - // sdncDesignerDetails, resource.getUniqueId()); - // // validate negative response - // variables = Arrays.asList("HEAT", "string", "city_name"); - // ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_HEAT_PARAMETER_VALUE.name(), - // variables, res.getResponse()); - // - // //validate current value not affected - // - // artifact = getCurrentArtifactDefinitionFromResource(); - // currentHeatEnvParamAfterUpdate = getHeatParamsValue(artifact, - // "city_name"); - // AssertJUnit.assertTrue("HeatEnvParam was not updated: " + - // currentHeatEnvParamBeforeUpdate, - // currentHeatEnvParamBeforeUpdate.equals(currentHeatEnvParamAfterUpdate)); - // - // } - // - // @Test - // public void heatEnvValidateHeatArtFiledTypes_boolNormalization_suc() - // throws Exception { - // - // //get relevant service - // RestResponse serviceGetResponse = - // ServiceRestUtils.getService(serviceDetails2, sdncDesignerDetails); - // Service service = - // ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse()); - // List<ComponentInstance> resourceInstances = - // service.getComponentInstances(); - // ComponentInstance resourceInstance = resourceInstances.get(0); - // - // String defaultParam = null; - // String currentHeatEnvParamBefore = null; - // String currentHeatEnvParamAfter = null; - // - // - // List<String> listOfBoolValuesToValidate = Arrays.asList("T", "on", "1", - // "yes", "y"); - // - // for (String element : listOfBoolValuesToValidate) { - // - // //update heatEnv with invalid value in boolean field - // - // ArtifactDefinition artifact = getCurrentArtifactDefinitionFromService(); - // List<HeatParameterDefinition> heatParameters = - // artifact.getHeatParameters(); - // for(HeatParameterDefinition param : heatParameters){ - // if (param.getName().equals("private_building")){ - // defaultParam = param.getDefaultValue(); - // currentHeatEnvParamBefore = param.getCurrentValue(); - // param.setCurrentValue(element); - // } - // } - // artifact.setHeatParameters(heatParameters); - // ArtifactReqDetails artReq = - // ResponseParser.convertArtifactDefinitionToArtifactReqDetailsObject(artifact); - // RestResponse res = ArtifactRestUtils.updateDeploymentArtifactToRI(artReq, - // sdncDesignerDetails, resourceInstance.getUniqueId(), - // service.getUniqueId()); - // AssertJUnit.assertTrue("response code is not 200, returned: " + - // res.getErrorCode(), res.getErrorCode() == 200); - // - // //validate current value not affected - // - // artifact = getCurrentArtifactDefinitionFromService(); - // heatParameters = artifact.getHeatParameters(); - // for(HeatParameterDefinition param : heatParameters){ - // if (param.getName().equals("private_building")){ - // currentHeatEnvParamAfter = param.getCurrentValue(); - // } - // } - // AssertJUnit.assertTrue("HeatEnvParam was not updated: " + - // currentHeatEnvParamBefore, currentHeatEnvParamAfter.equals("true")); - // - // } - // - // } - // - // - // @Test - // public void heatValidateHeatArtFiledTypes_boolNormalization_suc() throws - // Exception { - // - // RestResponse checkOutResponse = - // LifecycleRestUtils.changeResourceState(resourceSC, sdncDesignerDetails, - // LifeCycleStatesEnum.CHECKOUT); - // AssertJUnit.assertTrue("response code is not 200, returned: " + - // checkOutResponse.getErrorCode(),checkOutResponse.getErrorCode() == 200); - // //get relevant service - // RestResponse resourceGetResponse = - // ResourceRestUtils.getResource(resourceSC, sdncDesignerDetails); - // Resource resource = - // ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); - // - // - // String defaultParam = null; - // String currentHeatEnvParamBefore = null; - // String currentHeatEnvParamAfter = null; - // - // - // List<String> listOfBoolValuesToValidate = Arrays.asList("T", "on", "1", - // "yes", "y"); - // - // for (String element : listOfBoolValuesToValidate) { - // - // //update heatEnv with invalid value in boolean field - // - // ArtifactDefinition artifact = getCurrentArtifactDefinitionFromResource(); - // List<HeatParameterDefinition> heatParameters = - // artifact.getHeatParameters(); - // for(HeatParameterDefinition param : heatParameters){ - // if (param.getName().equals("private_building")){ - // defaultParam = param.getDefaultValue(); - // currentHeatEnvParamBefore = param.getCurrentValue(); - // param.setCurrentValue(element); - // } - // } - // artifact.setHeatParameters(heatParameters); - // ArtifactReqDetails artReq = - // ResponseParser.convertArtifactDefinitionToArtifactReqDetailsObject(artifact); - // RestResponse res = - // ArtifactRestUtils.updateInformationalArtifactToResource(artReq, - // sdncDesignerDetails, resource.getUniqueId()); - // AssertJUnit.assertTrue("response code is not 200, returned: " + - // res.getErrorCode(), res.getErrorCode() == 200); - // - // //validate current value not affected - // - // artifact = getCurrentArtifactDefinitionFromResource(); - // heatParameters = artifact.getHeatParameters(); - // for(HeatParameterDefinition param : heatParameters){ - // if (param.getName().equals("private_building")){ - // currentHeatEnvParamAfter = param.getCurrentValue(); - // } - // } - // AssertJUnit.assertTrue("HeatEnvParam was not updated: " + - // currentHeatEnvParamBefore, currentHeatEnvParamAfter.equals("true")); - // - // } - // - // } - // - // - // private ArtifactDefinition getCurrentArtifactDefinitionFromResource() - // throws Exception { - // - // RestResponse resourceGetResponse = - // ResourceRestUtils.getResource(resourceSC, sdncDesignerDetails); - // Resource resource = - // ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); - // - // ArtifactDefinition artifactDefinition = - // resource.getDeploymentArtifacts().get("heat"); - // - // - // return artifactDefinition; - // - // } - // - // - // private ArtifactDefinition getCurrentArtifactDefinitionFromService() - // throws Exception { - // - // RestResponse serviceGetResponse = - // ServiceRestUtils.getService(serviceDetails2, sdncDesignerDetails); - // Service service = - // ResponseParser.convertServiceResponseToJavaObject(serviceGetResponse.getResponse()); - // ArtifactDefinition artifactDefinition = new ArtifactDefinition(); - // artifactDefinition = - // service.getComponentInstances().get(0).getDeploymentArtifacts().get("heatenv"); - // - // - // return artifactDefinition; - // - // } - // - // private String replaceHeatParamsValue(ArtifactDefinition artifact, String - // paramName, String paramValue) { - // String defaultParam; - // String currentHeatEnvParam = null; - // List<HeatParameterDefinition> heatParameters = - // artifact.getHeatParameters(); - // for(HeatParameterDefinition param : heatParameters){ - // if (param.getName().equals(paramName)){ - // defaultParam = param.getDefaultValue(); - // currentHeatEnvParam = param.getCurrentValue(); - // param.setCurrentValue(paramValue); - // } - // } - // artifact.setHeatParameters(heatParameters); - // return currentHeatEnvParam; - // } - // - // private String getHeatParamsValue(ArtifactDefinition artifact, - // String paramName) { - // List<HeatParameterDefinition> heatParameters = - // artifact.getHeatParameters(); - // String currentHeatEnvParamValue = null; - // for(HeatParameterDefinition param : heatParameters){ - // if (param.getName().equals(paramName)){ - // currentHeatEnvParamValue = param.getCurrentValue(); - // } - // } - // return currentHeatEnvParamValue; - // } -} diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateHeatArtFieldsTypes.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateHeatArtFieldsTypes.java index 09cda0b73c..a00fceba49 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateHeatArtFieldsTypes.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/artifacts/ValidateHeatArtFieldsTypes.java @@ -103,7 +103,7 @@ public class ValidateHeatArtFieldsTypes extends ComponentBaseTest { response.getErrorCode() == 200); ArtifactDefinition artifactDefinitionJavaObject = ResponseParser .convertArtifactDefinitionResponseToJavaObject(response.getResponse()); - List<HeatParameterDefinition> heatParameters = artifactDefinitionJavaObject.getHeatParameters(); + List<HeatParameterDefinition> heatParameters = artifactDefinitionJavaObject.getListHeatParameters(); String currentValue = null; for (HeatParameterDefinition heatParameterDefinition : heatParameters) { if (heatParameterDefinition.getName().equals("city_name")) { diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/attribute/ComponentInstanceAttributeTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/attribute/ComponentInstanceAttributeTest.java index 58e27177d1..d1b6ff5676 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/attribute/ComponentInstanceAttributeTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/attribute/ComponentInstanceAttributeTest.java @@ -59,23 +59,34 @@ public class ComponentInstanceAttributeTest extends ComponentBaseTest { public void testUpdateAttributeOnResourceInstance() { // Prepare VF with vfc instance with Attributes String testResourcesPath = config.getResourceConfigDir() + File.separator + "importToscaResourceByCreateUrl"; - final Resource vfcWithAttributes = AtomicOperationUtils.importResource(testResourcesPath, "CPWithAttributes.yml").left().value(); - swallowException(() -> AtomicOperationUtils.changeComponentState(vfcWithAttributes, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, false)); - Resource vf = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, false).left().value(); - ComponentInstance vfcInstance = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfcWithAttributes, vf).left().value(); + final Resource vfcWithAttributes = AtomicOperationUtils + .importResource(testResourcesPath, "CPWithAttributes.yml").left().value(); + swallowException(() -> AtomicOperationUtils.changeComponentState(vfcWithAttributes, UserRoleEnum.DESIGNER, + LifeCycleStatesEnum.CHECKIN, false)); + Resource vf = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, false) + .left().value(); + ComponentInstance vfcInstance = AtomicOperationUtils + .addComponentInstanceToComponentContainer(vfcWithAttributes, vf).left().value(); // util method to get the specific attribute from the vf - Function<Resource, ComponentInstanceAttribute> attributeGetter = resourceVf -> resourceVf.getComponentInstancesAttributes().values().iterator().next().stream().filter(att -> att.getName().equals("private_address")).findAny().get(); + Function<Resource, ComponentInstanceAttribute> attributeGetter = resourceVf -> resourceVf + .getComponentInstancesAttributes().values().iterator().next().stream() + .filter(att -> att.getName().equals("private_address")).findAny().get(); // update attribute on vfc instance - final Resource vfWithInsatncePreUpdate = swallowException(() -> (Resource) AtomicOperationUtils.getCompoenntObject(vf, UserRoleEnum.DESIGNER)); + final Resource vfWithInsatncePreUpdate = swallowException( + () -> (Resource) AtomicOperationUtils.getCompoenntObject(vf, UserRoleEnum.DESIGNER)); ComponentInstanceAttribute attributeOfRI = attributeGetter.apply(vfWithInsatncePreUpdate); final String newAttValue = "NewValue"; attributeOfRI.setValue(newAttValue); String body = gson.toJson(attributeOfRI); - String url = String.format(Urls.UPDATE_ATTRIBUTE_ON_RESOURCE_INSTANCE, config.getCatalogBeHost(), config.getCatalogBePort(), ComponentTypeEnum.findParamByType(ComponentTypeEnum.RESOURCE), vf.getUniqueId(), vfcInstance.getUniqueId()); - swallowException(() -> BaseRestUtils.sendPost(url, body, UserRoleEnum.DESIGNER.getUserId(), BaseRestUtils.acceptHeaderData)); + String url = String.format(Urls.UPDATE_ATTRIBUTE_ON_RESOURCE_INSTANCE, config.getCatalogBeHost(), + config.getCatalogBePort(), ComponentTypeEnum.findParamByType(ComponentTypeEnum.RESOURCE), + vf.getUniqueId(), vfcInstance.getUniqueId()); + swallowException(() -> BaseRestUtils.sendPost(url, body, UserRoleEnum.DESIGNER.getUserId(), + BaseRestUtils.acceptHeaderData)); // Retrieve updated vf and verify attribute was updated - final Resource vfWithInsatncePostUpdate = swallowException(() -> (Resource) AtomicOperationUtils.getCompoenntObject(vf, UserRoleEnum.DESIGNER)); + final Resource vfWithInsatncePostUpdate = swallowException( + () -> (Resource) AtomicOperationUtils.getCompoenntObject(vf, UserRoleEnum.DESIGNER)); ComponentInstanceAttribute updatedAttribute = attributeGetter.apply(vfWithInsatncePostUpdate); assertEquals(updatedAttribute.getValue(), newAttValue); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CatalogDataApiTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CatalogDataApiTest.java index d9df79350b..86641eb2c7 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CatalogDataApiTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CatalogDataApiTest.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Map; +import org.apache.log4j.lf5.util.ResourceUtils; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.JSONValue; @@ -48,6 +49,7 @@ import org.openecomp.sdc.ci.tests.utils.rest.CatalogRestUtils; 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.testng.AssertJUnit; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CategoriesTests.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CategoriesTests.java index a3ee121611..3b85c052a1 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CategoriesTests.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/CategoriesTests.java @@ -54,6 +54,7 @@ import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum; import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedCategoryAudit; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; import org.openecomp.sdc.ci.tests.utils.DbUtils; +import org.openecomp.sdc.ci.tests.utils.Utils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.CategoryRestUtils; @@ -61,6 +62,7 @@ import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser; import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils; import org.openecomp.sdc.ci.tests.utils.validation.CategoryValidationUtils; import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils; +import org.testng.SkipException; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -2235,6 +2237,18 @@ public class CategoriesTests extends CategoriesBaseTest { checkAuditSuccess(PRODUCT_COMPONENT_TYPE); } + // @Test + // public void getAllResourceCategories_generalError() throws Exception + // { + // User user = new User(); + // RestResponse getAllCategoriesRest = + // CategoryRestUtils.getAllCategories(user, SERVICE_COMPONENT_TYPE); + // assertEquals("Check response code after get Category", 500, + // getAllCategoriesRest.getErrorCode().intValue()); + // Utils.checkBodyResponseOnError(ActionStatus.GENERAL_ERROR.name(), new + // ArrayList<String>(), getAllCategoriesRest.getResponse()); + // } + ////////////////////////////////////////////////////////////////////////////// @Test diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/ElementsApiTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/ElementsApiTest.java index 7f30f8ca92..2f48f4fa1e 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/ElementsApiTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/ElementsApiTest.java @@ -26,6 +26,7 @@ import static org.testng.AssertJUnit.assertNotNull; import java.util.HashMap; import java.util.Map; +import org.apache.log4j.lf5.util.ResourceUtils; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.JSONValue; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/GroupingTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/GroupingTest.java index 7858b3259f..f6b6113b99 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/GroupingTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/GroupingTest.java @@ -32,6 +32,9 @@ import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_RE import static org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils.STATUS_CODE_SUCCESS; import static org.testng.AssertJUnit.assertEquals; +import java.util.ArrayList; +import java.util.List; + import org.junit.Rule; import org.junit.rules.TestName; import org.openecomp.sdc.be.dao.api.ActionStatus; @@ -44,6 +47,7 @@ import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum; import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedCategoryAudit; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; import org.openecomp.sdc.ci.tests.utils.DbUtils; +import org.openecomp.sdc.ci.tests.utils.Utils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.CategoryRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/SubCategoriesTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/SubCategoriesTest.java index dd96ebfc2f..dcc3172d59 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/SubCategoriesTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/category/SubCategoriesTest.java @@ -47,6 +47,7 @@ import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum; import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedCategoryAudit; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; import org.openecomp.sdc.ci.tests.utils.DbUtils; +import org.openecomp.sdc.ci.tests.utils.Utils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.CategoryRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/CRUDExternalAPI.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/CRUDExternalAPI.java index 418e8f6dc8..7e8d5cf8cc 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/CRUDExternalAPI.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/CRUDExternalAPI.java @@ -22,7 +22,9 @@ package org.openecomp.sdc.ci.tests.execute.devCI; import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.util.Arrays; import java.util.HashMap; +import java.util.List; import java.util.Map; import org.apache.http.HttpEntity; @@ -35,13 +37,19 @@ import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.BasicResponseHandler; import org.apache.http.util.EntityUtils; +import org.codehaus.jackson.map.DeserializationConfig; import org.codehaus.jackson.map.ObjectMapper; +import org.codehaus.jackson.map.SerializationConfig.Feature; +import org.codehaus.jackson.map.annotate.JsonSerialize; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; import org.junit.Rule; import org.junit.rules.TestName; +import org.openecomp.sdc.be.config.BeEcompErrorManager; +import org.openecomp.sdc.be.dao.api.ActionStatus; import org.openecomp.sdc.be.datatypes.enums.AssetTypeEnum; +import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; import org.openecomp.sdc.be.model.ArtifactDefinition; import org.openecomp.sdc.be.model.ArtifactUiDownloadData; @@ -54,10 +62,11 @@ import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum; import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; import org.openecomp.sdc.ci.tests.config.Config; import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails; -import org.openecomp.sdc.ci.tests.datatypes.ResourceDetailedAssetStructure; import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; +import org.openecomp.sdc.ci.tests.datatypes.enums.DistributionNotificationStatusEnum; +import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo; 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; @@ -68,13 +77,13 @@ import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils; -import org.openecomp.sdc.ci.tests.utils.rest.AssetRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; -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.validation.AuditValidationUtils; +import org.openecomp.sdc.ci.tests.utils.validation.DistributionValidationUtils; +import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils; import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum; import org.openecomp.sdc.common.api.Constants; +import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum; import org.openecomp.sdc.common.util.GeneralUtility; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -86,9 +95,13 @@ import org.testng.annotations.Test; import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; +import com.relevantcodes.extentreports.LogStatus; import fj.data.Either; + +import static java.util.Arrays.asList; + public class CRUDExternalAPI extends ComponentBaseTest { private static Logger log = LoggerFactory.getLogger(CRUDExternalAPI.class.getName()); @@ -99,781 +112,3254 @@ public class CRUDExternalAPI extends ComponentBaseTest { protected String contentTypeHeaderData = "application/json"; protected String acceptHeaderDate = "application/json"; + + protected Gson gson = new Gson(); protected JSONParser jsonParser = new JSONParser(); + protected String serviceVersion; protected ResourceReqDetails resourceDetails; protected User sdncUserDetails; protected ServiceReqDetails serviceDetails; + @BeforeMethod - public void init() throws Exception { + public void init() throws Exception{ AtomicOperationUtils.createDefaultConsumer(true); } - - @Rule + + + @Rule public static TestName name = new TestName(); public CRUDExternalAPI() { super(name, CRUDExternalAPI.class.getName()); } + + + + @DataProvider(name="uploadArtifactOnVfcVlCpViaExternalAPI") + public static Object[][] dataProviderUploadArtifactOnVfcVlCpViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "VF_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "VENDOR_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "VF_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "VENDOR_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "VF_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "VENDOR_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.CP}, + + {LifeCycleStatesEnum.CHECKIN, "YANG_XML", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "VF_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "VENDOR_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "OTHER", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CHECKIN, "YANG_XML", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "VF_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "VENDOR_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "OTHER", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CHECKIN, "YANG_XML", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "VF_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "VENDOR_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "OTHER", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.CP}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VF_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VENDOR_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VF_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VENDOR_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VF_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VENDOR_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.CP} + }; + } + - @DataProvider(name = "uploadArtifactOnVFViaExternalAPI") + + // External API + // Upload artifact on VFC, VL, CP via external API - happy flow + @Test(dataProvider="uploadArtifactOnVfcVlCpViaExternalAPI") + public void uploadArtifactOnVfcVlCpViaExternalAPI(LifeCycleStatesEnum chosenLifeCycleState, String artifactType, ResourceTypeEnum resourceTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("chosenLifeCycleState: %s, artifactType: %s, resourceTypeEnum: %s", chosenLifeCycleState, artifactType, resourceTypeEnum)); + uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.RESOURCE, chosenLifeCycleState, artifactType, resourceTypeEnum); + } + + + + + + + + + + + + + + @DataProvider(name="uploadArtifactOnVFViaExternalAPI") public static Object[][] dataProviderUploadArtifactOnVFViaExternalAPI() { - return new Object[][] { { LifeCycleStatesEnum.CHECKIN, "DCAE_JSON" }, - { LifeCycleStatesEnum.CHECKOUT, "DCAE_POLICY" }, { LifeCycleStatesEnum.CHECKOUT, "DCAE_EVENT" }, - { LifeCycleStatesEnum.CHECKOUT, "APPC_CONFIG" }, { LifeCycleStatesEnum.CHECKOUT, "DCAE_DOC" }, - { LifeCycleStatesEnum.CHECKOUT, "DCAE_TOSCA" }, { LifeCycleStatesEnum.CHECKOUT, "YANG_XML" }, - { LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG" }, { LifeCycleStatesEnum.CHECKOUT, "VF_LICENSE" }, - { LifeCycleStatesEnum.CHECKOUT, "VENDOR_LICENSE" }, - { LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE" }, - { LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC" }, { LifeCycleStatesEnum.CHECKOUT, "OTHER" } }; + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "DCAE_JSON"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_POLICY"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_EVENT"}, + {LifeCycleStatesEnum.CHECKOUT, "APPC_CONFIG"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_DOC"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_TOSCA"}, + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML"}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CHECKOUT, "VF_LICENSE"}, + {LifeCycleStatesEnum.CHECKOUT, "VENDOR_LICENSE"}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + + {LifeCycleStatesEnum.CHECKIN, "DCAE_JSON"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_POLICY"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_EVENT"}, + {LifeCycleStatesEnum.CHECKIN, "APPC_CONFIG"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_DOC"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_TOSCA"}, + {LifeCycleStatesEnum.CHECKIN, "YANG_XML"}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CHECKIN, "VF_LICENSE"}, + {LifeCycleStatesEnum.CHECKIN, "VENDOR_LICENSE"}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CHECKIN, "OTHER"}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_JSON"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_POLICY"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_EVENT"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "APPC_CONFIG"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_DOC"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_TOSCA"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VF_LICENSE"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VENDOR_LICENSE"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER"} + }; } + + // External API // Upload artifact on VF via external API - happy flow - @Test(dataProvider = "uploadArtifactOnVFViaExternalAPI") - public void uploadArtifactOnVFViaExternalAPI(LifeCycleStatesEnum chosenLifeCycleState, String artifactType) - throws Exception { - // Method passed variable - // artifactType = "YANG_XML"; - // chosenLifeCycleState = LifeCycleStatesEnum.CHECKOUT; + @Test(dataProvider="uploadArtifactOnVFViaExternalAPI") + public void uploadArtifactOnVFViaExternalAPI(LifeCycleStatesEnum chosenLifeCycleState, String artifactType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("chosenLifeCycleState: %s, artifactType: %s", chosenLifeCycleState, artifactType)); + uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.RESOURCE, chosenLifeCycleState, artifactType, null); + } + + + + + + @DataProvider(name="uploadArtifactOnServiceViaExternalAPI") + public static Object[][] dataProviderUploadArtifactOnServiceViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML"}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {LifeCycleStatesEnum.CHECKIN, "YANG_XML"}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER"} + }; + } + + + + + + @Test(dataProvider="uploadArtifactOnServiceViaExternalAPI") + public void uploadArtifactOnServiceViaExternalAPI(LifeCycleStatesEnum chosenLifeCycleState, String artifactType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("chosenLifeCycleState: %s, artifactType: %s", chosenLifeCycleState, artifactType)); + uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.SERVICE, chosenLifeCycleState, artifactType, null); + } + + + @DataProvider(name="uploadArtifactOnServiceViaExternalAPIIncludingDistribution") + public static Object[][] dataProviderUploadArtifactOnServiceViaExternalAPIIncludingDistribution() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML"}, + }; + } + + @Test(dataProvider="uploadArtifactOnServiceViaExternalAPIIncludingDistribution") + public void uploadArtifactOnServiceViaExternalAPIIncludingDistribution(LifeCycleStatesEnum chosenLifeCycleState, String artifactType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("chosenLifeCycleState: %s, artifactType: %s", chosenLifeCycleState, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.SERVICE, chosenLifeCycleState, artifactType, null); + + component = AtomicOperationUtils.changeComponentState(component, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); + + if(config.getIsDistributionClientRunning()){ + List<String> distributionStatusList = Arrays.asList(DistributionNotificationStatusEnum.DOWNLOAD_OK.toString(), DistributionNotificationStatusEnum.DEPLOY_OK.toString(), DistributionNotificationStatusEnum.NOTIFIED.toString()); + DistributionValidationUtils.validateDistributedArtifactsByAudit((Service)component, distributionStatusList); + } + } + + + // Happy flow - get chosen life cycle state, artifact type and asset type + // Create asset, upload artifact via external API + check audit & response code + // Download artifact via external API + check audit & response code + protected Component uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum componentTypeEnum, LifeCycleStatesEnum chosenLifeCycleState, String artifactType, ResourceTypeEnum resourceTypeEnum) throws Exception { + Component component = null; + RestResponse restResponse; + int numberOfArtifact = 0; + + // get artifact data + ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("ci", artifactType, true, false); + + // create component/s & upload artifact via external api + if(ComponentTypeEnum.RESOURCE_INSTANCE == componentTypeEnum) { + + component = getComponentWithResourceInstanceInTargetLifeCycleState(chosenLifeCycleState, resourceTypeEnum); + restResponse = uploadArtifactOfRIIncludingValiditionOfAuditAndResponseCode(component, component.getComponentInstances().get(0), ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, 200); + + if((LifeCycleStatesEnum.CERTIFICATIONREQUEST == chosenLifeCycleState) && (!component.getComponentType().toString().equals(ComponentTypeEnum.RESOURCE.toString()))) { + numberOfArtifact = (component.getComponentInstances().get(0).getDeploymentArtifacts() == null ? 0 : component.getComponentInstances().get(0).getDeploymentArtifacts().size()) + 1; + } else { + numberOfArtifact = (component.getComponentInstances().get(0).getDeploymentArtifacts() == null ? 0 : component.getComponentInstances().get(0).getDeploymentArtifacts().size()) + 1; + } + } else { + component = getComponentInTargetLifeCycleState(componentTypeEnum.toString(), UserRoleEnum.DESIGNER, chosenLifeCycleState, resourceTypeEnum); + + restResponse = uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, 200); + numberOfArtifact = component.getDeploymentArtifacts().size() + 1; + } + + + + ArtifactDefinition responseArtifact = getArtifactDataFromJson(restResponse.getResponse()); + component = getNewerVersionOfComponent(component, chosenLifeCycleState); + + // Get list of deployment artifact + download them via external API + Map<String, ArtifactDefinition> deploymentArtifacts = getDeploymentArtifactsOfAsset(component, componentTypeEnum); + Assert.assertEquals(numberOfArtifact, deploymentArtifacts.keySet().size(), "Expected that number of deployment artifact will be increase by one."); + + // Download the uploaded artifact via external API + downloadResourceDeploymentArtifactExternalAPI(component, deploymentArtifacts.get(responseArtifact.getArtifactLabel()), ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentTypeEnum); + + return component; + } + + // Upload artifact via external API + Check auditing for upload operation + Check response of external API + protected RestResponse uploadArtifactOfRIIncludingValiditionOfAuditAndResponseCode(Component resourceDetails, ComponentInstance componentInstance, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, Integer expectedResponseCode) throws Exception { + RestResponse restResponse = ArtifactRestUtils.externalAPIUploadArtifactOfComponentInstanceOnAsset(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, resourceDetails.getComponentInstances().get(0)); + + // Check response of external API + Integer responseCode = restResponse.getErrorCode(); + Assert.assertEquals(responseCode, expectedResponseCode, "Response code is not correct."); + + + // Check auditing for upload operation + ArtifactDefinition responseArtifact = getArtifactDataFromJson(restResponse.getResponse()); + + AuditingActionEnum action = AuditingActionEnum.ARTIFACT_UPLOAD_BY_API; + + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, componentInstance.getNormalizedName()); + + AssetTypeEnum assetTypeEnum = AssetTypeEnum.valueOf((resourceDetails.getComponentType().getValue() + "s").toUpperCase()); + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditSuccess(assetTypeEnum, action, responseArtifact, resourceDetails); + expectedExternalAudit.setRESOURCE_NAME(componentInstance.getNormalizedName()); + expectedExternalAudit.setRESOURCE_URL("/asdc/v1/catalog/" + assetTypeEnum.getValue() + "/" + resourceDetails.getUUID() + "/resourceInstances/" + componentInstance.getNormalizedName() + "/artifacts"); + AuditValidationUtils.validateExternalAudit(expectedExternalAudit, AuditingActionEnum.ARTIFACT_UPLOAD_BY_API.getName(), body); + + return restResponse; + } + + + + + protected Component getComponentWithResourceInstanceInTargetLifeCycleState(LifeCycleStatesEnum lifeCycleStatesEnum, ResourceTypeEnum resourceTypeEnum) throws Exception { + Component component; + if(resourceTypeEnum == ResourceTypeEnum.VF) { + component = getComponentInTargetLifeCycleState(ComponentTypeEnum.SERVICE.toString(), UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, null); + + Component resourceInstanceDetails = getComponentInTargetLifeCycleState(ComponentTypeEnum.RESOURCE.getValue(), UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, null); + AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceInstanceDetails, component, UserRoleEnum.DESIGNER, true).left().value(); + + // Add artifact to service if asked for certifcationrequest - must be at least one artifact for the flow + if((LifeCycleStatesEnum.CERTIFICATIONREQUEST == lifeCycleStatesEnum) || (LifeCycleStatesEnum.STARTCERTIFICATION == lifeCycleStatesEnum)) { + } + AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.OTHER, component, UserRoleEnum.DESIGNER, true, true).left().value(); + component = AtomicOperationUtils.changeComponentState(component, UserRoleEnum.DESIGNER, lifeCycleStatesEnum, true).getLeft(); + } else { + component = getComponentInTargetLifeCycleState(ComponentTypeEnum.RESOURCE.toString(), UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, null); + Component resourceInstanceDetails = getComponentInTargetLifeCycleState(ComponentTypeEnum.RESOURCE.getValue(), UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, resourceTypeEnum); + AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceInstanceDetails, component, UserRoleEnum.DESIGNER, true).left().value(); + component = AtomicOperationUtils.changeComponentState(component, UserRoleEnum.DESIGNER, lifeCycleStatesEnum, true).getLeft(); + } + + + return component; + } + + + + + // Upload artifact via external API + Check auditing for upload operation + Check response of external API + protected RestResponse uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, Integer expectedResponseCode) throws Exception { + RestResponse restResponse = ArtifactRestUtils.externalAPIUploadArtifactOfTheAsset(resourceDetails, sdncModifierDetails, artifactReqDetails); + + // Check response of external API + Integer responseCode = restResponse.getErrorCode(); + Assert.assertEquals(responseCode, expectedResponseCode, "Response code is not correct."); + + + // Check auditing for upload operation + ArtifactDefinition responseArtifact = getArtifactDataFromJson(restResponse.getResponse()); + + AuditingActionEnum action = AuditingActionEnum.ARTIFACT_UPLOAD_BY_API; + + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getName()); + + AssetTypeEnum assetTypeEnum = AssetTypeEnum.valueOf((resourceDetails.getComponentType().getValue() + "s").toUpperCase()); + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditSuccess(assetTypeEnum, action, responseArtifact, resourceDetails); + AuditValidationUtils.validateExternalAudit(expectedExternalAudit, AuditingActionEnum.ARTIFACT_UPLOAD_BY_API.getName(), body); + + return restResponse; + } + + + + // Check Component version (increase by one if not in checkout) + // Input: component, componentLifeCycleState + // for any LifeCycleState != checkout + // find component of version +0.1 + // check that this version different for input version + // check that this component uniqueID different from input uniqueID + // Return: that version + protected Component getNewerVersionOfComponent(Component component, LifeCycleStatesEnum lifeCycleStatesEnum) throws Exception { + Component resourceDetails = null; + + if((!lifeCycleStatesEnum.equals(LifeCycleStatesEnum.CHECKOUT)) && (!lifeCycleStatesEnum.equals(LifeCycleStatesEnum.STARTCERTIFICATION))) { + + + String resourceVersion = component.getVersion(); + String resourceUniqueID = component.getUniqueId(); + + if(component.getComponentType().equals(ComponentTypeEnum.SERVICE)) { + resourceDetails = AtomicOperationUtils.getServiceObjectByNameAndVersion(UserRoleEnum.DESIGNER, component.getName(), String.format("%.1f", Double.parseDouble(component.getVersion()) + 0.1)); + } else { + resourceDetails = AtomicOperationUtils.getResourceObjectByNameAndVersion(UserRoleEnum.DESIGNER, component.getName(), String.format("%.1f", Double.parseDouble(component.getVersion()) + 0.1)); + } + + String resourceNewVersion = resourceDetails.getVersion(); + String resourceNewUniqueID = resourceDetails.getUniqueId(); + + System.out.println(resourceNewVersion); + System.out.println("Service UUID: " + resourceDetails.getUUID()); + System.out.println("Service UniqueID: " + resourceDetails.getUniqueId()); + + // Checking that new version exist + different from old one by unique id + Assert.assertNotEquals(resourceVersion, resourceNewVersion, "Expected for diffrent resource version."); + Assert.assertNotEquals(resourceUniqueID, resourceNewUniqueID, "Expected that resource will have new unique ID."); + } else { + if(component.getComponentType().equals(ComponentTypeEnum.SERVICE)) { + resourceDetails = AtomicOperationUtils.getServiceObjectByNameAndVersion(UserRoleEnum.DESIGNER, component.getName(), component.getVersion()); + } else { + resourceDetails = AtomicOperationUtils.getResourceObjectByNameAndVersion(UserRoleEnum.DESIGNER, component.getName(), component.getVersion()); + } + } + return resourceDetails; + } + + + + + + // download deployment via external api + check response code for success (200) + get artifactReqDetails and verify payload + verify audit + protected RestResponse downloadResourceDeploymentArtifactExternalAPI(Component resourceDetails, ArtifactDefinition artifactDefinition, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, ComponentTypeEnum componentTypeEnum) throws Exception { + RestResponse restResponse; + + if(componentTypeEnum == ComponentTypeEnum.RESOURCE_INSTANCE) { + restResponse = ArtifactRestUtils.getComponentInstanceDeploymentArtifactExternalAPI(resourceDetails.getUUID(), resourceDetails.getComponentInstances().get(0).getNormalizedName(), artifactDefinition.getArtifactUUID(), ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), resourceDetails.getComponentType().toString()); + } else { + restResponse = ArtifactRestUtils.getResourceDeploymentArtifactExternalAPI(resourceDetails.getUUID(), artifactDefinition.getArtifactUUID(), ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), resourceDetails.getComponentType().toString()); + } + + Integer responseCode = restResponse.getErrorCode(); + Integer expectedCode = 200; + Assert.assertEquals(responseCode,expectedCode, "Response code is not correct."); + + + // For known artifact/payload - verify payload of downloaded artfaict + if (artifactReqDetails != null) { + String response = restResponse.getResponse(); + String payloadData = artifactReqDetails.getPayload(); + String decodedPaypload = org.openecomp.sdc.ci.tests.utils.Decoder.decode(payloadData); + + Assert.assertEquals(response, decodedPaypload, "Response artifact payload not correct."); + } + + //TODO - including body - resourceDetails.getName() +// // Verify audit +// String auditAction = "DownloadArtifact"; +// +// Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); +// body.put(AuditingFieldsKeysEnum.AUDIT_STATUS, responseCode.toString()); +// body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getName()); +// +// ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject(); +// expectedResourceAuditJavaObject.setAction(auditAction); +// expectedResourceAuditJavaObject.setResourceType(resourceDetails.getComponentType().getValue()); +// expectedResourceAuditJavaObject.setStatus("200"); +// expectedResourceAuditJavaObject.setDesc("OK"); +// expectedResourceAuditJavaObject.setCONSUMER_ID("ci"); +// +// if(componentTypeEnum == ComponentTypeEnum.RESOURCE_INSTANCE) { +// expectedResourceAuditJavaObject.setResourceName(resourceDetails.getComponentInstances().get(0).getName()); +// String resource_url = String.format("/asdc/v1/catalog/services/%s/resourceInstances/%s/artifacts/%s", resourceDetails.getUUID(), resourceDetails.getComponentInstances().get(0).getNormalizedName(), artifactDefinition.getArtifactUUID()); +// expectedResourceAuditJavaObject.setRESOURCE_URL(resource_url); +// +// AuditValidationUtils.validateAuditDownloadExternalAPI(expectedResourceAuditJavaObject, auditAction, null, false); +// } else { +// expectedResourceAuditJavaObject.setResourceName(resourceDetails.getName()); +// String resource_url = String.format("/asdc/v1/catalog/services/%s/artifacts/%s", resourceDetails.getUUID(), artifactDefinition.getArtifactUUID()); +// expectedResourceAuditJavaObject.setRESOURCE_URL(resource_url); +// } +// +// AuditValidationUtils.validateAuditDownloadExternalAPI(expectedResourceAuditJavaObject, auditAction, null, false); + + return restResponse; + + } + + // download deployment via external api + check response code for success (200) + verify audit + protected void downloadResourceDeploymentArtifactExternalAPI(Component resourceDetails, ArtifactDefinition artifactDefinition, User sdncModifierDetails) throws Exception { + downloadResourceDeploymentArtifactExternalAPI(resourceDetails, artifactDefinition, sdncModifierDetails, null, resourceDetails.getComponentType()); + } + + + + + + + + + + @DataProvider(name="uploadArtifactOnRIViaExternalAPI") + public static Object[][] dataProviderUploadArtifactOnRIViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_JSON"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_POLICY"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_DOC"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_BLUEPRINT"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_EVENT"}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL"}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP"}, + + + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_JSON"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_POLICY"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_DOC"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_BLUEPRINT"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_EVENT"}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL"}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP"}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_TOSCA"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_JSON"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_POLICY"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_DOC"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_BLUEPRINT"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_EVENT"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP"} + + }; + } + + + + + + @Test(dataProvider="uploadArtifactOnRIViaExternalAPI") + public void uploadArtifactOnRIViaExternalAPI(LifeCycleStatesEnum chosenLifeCycleState, String artifactType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("chosenLifeCycleState: %s, artifactType: %s", chosenLifeCycleState, artifactType)); + uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.RESOURCE_INSTANCE, chosenLifeCycleState, artifactType, null); + } + + + + @DataProvider(name="uploadArtifactOnVfcVlCpRIViaExternalAPI") + public static Object[][] dataProviderUploadArtifactOnVfcVlCpRIViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_JSON", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_DOC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.CP}, + + + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_JSON", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_DOC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.CP}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_JSON", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_DOC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.CP} + + }; + } + + + + + + @Test(dataProvider="uploadArtifactOnVfcVlCpRIViaExternalAPI") + public void uploadArtifactOnVfcVlCpRIViaExternalAPI(LifeCycleStatesEnum chosenLifeCycleState, String artifactType, ResourceTypeEnum resourceTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("chosenLifeCycleState: %s, artifactType: %s", chosenLifeCycleState, artifactType)); + uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.RESOURCE_INSTANCE, chosenLifeCycleState, artifactType, resourceTypeEnum); + } + + + + + @DataProvider(name="uploadInvalidArtifactTypeExtensionLabelDescriptionCheckSumDuplicateLabelViaExternalAPI") + public static Object[][] dataProviderUploadInvalidArtifactTypeExtensionLabelDescriptionCheckSumDuplicateLabelViaExternalAPI() { + return new Object[][] { + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidTypeToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidTypeToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidTypeToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidTypeToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidTypeToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidTypeToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidTypeToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidTypeToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidTypeToLong"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidTypeEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidTypeEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidTypeEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidTypeEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidTypeEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidTypeEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidTypeEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidTypeEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidTypeEmpty"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidNameToLong"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidNameEmpty"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidLabelToLong"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidLabelEmpty"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidDescriptionToLong"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidDescriptionEmpty"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "uploadArtifactWithSameLabel"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "uploadArtifactWithSameLabel"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithSameLabel"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "uploadArtifactWithSameLabel"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "uploadArtifactWithSameLabel"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithSameLabel"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "uploadArtifactWithSameLabel"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "uploadArtifactWithSameLabel"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithSameLabel"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidCheckSum"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidCheckSum"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidCheckSum"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidCheckSum"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidCheckSum"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidCheckSum"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "uploadArtifactWithInvalidCheckSum"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "uploadArtifactWithInvalidCheckSum"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "uploadArtifactWithInvalidCheckSum"}, + }; + } + + + + + // InvalidArtifact + check audit & response code function + @Test(dataProvider="uploadInvalidArtifactTypeExtensionLabelDescriptionCheckSumDuplicateLabelViaExternalAPI") + public void uploadInvalidArtifactTypeExtensionLabelDescriptionCheckSumDuplicateLabelViaExternalAPI(LifeCycleStatesEnum chosenLifeCycleState, + ComponentTypeEnum componentTypeEnum, String uploadArtifactTestType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("chosenLifeCycleState: %s, componentTypeEnum: %s, uploadArtifactTestType: %s", chosenLifeCycleState, componentTypeEnum, uploadArtifactTestType)); + Component resourceDetails; + ComponentInstance componentResourceInstanceDetails = null; + ArtifactReqDetails artifactReqDetails; + + if(ComponentTypeEnum.RESOURCE_INSTANCE == componentTypeEnum) { + artifactReqDetails = ElementFactory.getArtifactByType("Abcd", ArtifactTypeEnum.DCAE_INVENTORY_DOC.toString(), true, false); + + resourceDetails = getComponentInTargetLifeCycleState(ComponentTypeEnum.SERVICE.toString(), UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, null); + resourceDetails = getComponentWithResourceInstanceInTargetLifeCycleState(chosenLifeCycleState, null); + componentResourceInstanceDetails = resourceDetails.getComponentInstances().get(0); + } else { + artifactReqDetails = ElementFactory.getArtifactByType("Abcd", ArtifactTypeEnum.OTHER.toString(), true, false); + + resourceDetails = getComponentInTargetLifeCycleState(componentTypeEnum.toString(), UserRoleEnum.DESIGNER, chosenLifeCycleState, null); + } + + + switch (uploadArtifactTestType) { + case "uploadArtifactWithInvalidTypeToLong": + uploadArtifactWithInvalidTypeToLong(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentResourceInstanceDetails); + break; + case "uploadArtifactWithInvalidTypeEmpty": + uploadArtifactWithInvalidTypeEmpty(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentResourceInstanceDetails); + break; + case "uploadArtifactWithInvalidCheckSum": + uploadArtifactWithInvalidCheckSum(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentResourceInstanceDetails); + break; + case "uploadArtifactWithInvalidNameToLong": + uploadArtifactWithInvalidNameToLong(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentResourceInstanceDetails); + break; + case "uploadArtifactWithInvalidNameEmpty": + uploadArtifactWithInvalidNameEmpty(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentResourceInstanceDetails); + break; + case "uploadArtifactWithInvalidLabelToLong": + uploadArtifactWithInvalidLabelToLong(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentResourceInstanceDetails); + break; + case "uploadArtifactWithInvalidLabelEmpty": + uploadArtifactWithInvalidLabelEmpty(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentResourceInstanceDetails); + break; + case "uploadArtifactWithInvalidDescriptionToLong": + uploadArtifactWithInvalidDescriptionToLong(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentResourceInstanceDetails); + break; + case "uploadArtifactWithInvalidDescriptionEmpty": + uploadArtifactWithInvalidDescriptionEmpty(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentResourceInstanceDetails); + break; + case "uploadArtifactWithSameLabel": + default: + uploadArtifactWithSameLabel(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentResourceInstanceDetails); + break; + } + } + + // Upload artifact with invalid type via external API - to long type + protected void uploadArtifactWithInvalidTypeToLong(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, + ComponentInstance componentResourceInstanceDetails) throws Exception { + artifactReqDetails.setArtifactType("dsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfdsdsfdsfds"); + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_TYPE_NOT_SUPPORTED.name()); + List<String> variables = asList(artifactReqDetails.getArtifactType()); + + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + artifactReqDetails, 400, componentResourceInstanceDetails, errorInfo, variables, null); + } + + // Upload artifact with invalid type via external API - empty type + protected void uploadArtifactWithInvalidTypeEmpty(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, + ComponentInstance componentResourceInstanceDetails) throws Exception { + artifactReqDetails.setArtifactType(""); + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_TYPE_NOT_SUPPORTED.name()); + List<String> variables = asList(artifactReqDetails.getArtifactType()); + + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + artifactReqDetails, 400, componentResourceInstanceDetails, errorInfo, variables, null); + } + + // Upload artifact with invalid checksum via external API + protected void uploadArtifactWithInvalidCheckSum(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, + ComponentInstance componentResourceInstanceDetails) throws Exception { + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_INVALID_MD5.name()); + List<String> variables = asList(); + uploadArtifactWithInvalidCheckSumOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + artifactReqDetails, 400, componentResourceInstanceDetails, errorInfo, variables); + } + + + // Upload artifact with valid type & invalid name via external API - name to long + protected void uploadArtifactWithInvalidNameToLong(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, + ComponentInstance componentResourceInstanceDetails) throws Exception { + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.EXCEEDS_LIMIT.name()); + List<String> variables = asList("artifact name", "255"); + artifactReqDetails.setArtifactName("invalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsinvalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidTypeinvalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidTypeghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidType"); + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + artifactReqDetails, 400, componentResourceInstanceDetails, errorInfo, variables, null); + } + + + // Upload artifact with valid type & invalid name via external API - name is empty + protected void uploadArtifactWithInvalidNameEmpty(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, + ComponentInstance componentResourceInstanceDetails) throws Exception { + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_ARTIFACT_NAME.name()); + List<String> variables = asList(); + + artifactReqDetails.setArtifactName(""); + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + artifactReqDetails, 400, componentResourceInstanceDetails, errorInfo, variables, null); + } + + + // Upload artifact with valid type & invalid label via external API - label to long + protected void uploadArtifactWithInvalidLabelToLong(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, + ComponentInstance componentResourceInstanceDetails) throws Exception { + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.EXCEEDS_LIMIT.name()); + List<String> variables = asList("artifact label", "25"); + artifactReqDetails.setArtifactLabel("invalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidType"); + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + artifactReqDetails, 400, componentResourceInstanceDetails, errorInfo, variables, null); + } + + + // Upload artifact with valid type & invalid label via external API - label is empty + protected void uploadArtifactWithInvalidLabelEmpty(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, + ComponentInstance componentResourceInstanceDetails) throws Exception { + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_DATA.name()); + List<String> variables = asList("artifact label"); + artifactReqDetails.setArtifactLabel(""); + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + artifactReqDetails, 400, componentResourceInstanceDetails, errorInfo, variables, null); + } + + + // Upload artifact with invalid description via external API - to long description + protected void uploadArtifactWithInvalidDescriptionToLong(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, + ComponentInstance componentResourceInstanceDetails) throws Exception { + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.EXCEEDS_LIMIT.name()); + List<String> variables = asList("artifact description", "256"); + artifactReqDetails.setDescription("invalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsinvalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidTypeinvalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidTypeghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidType"); + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + artifactReqDetails, 400, componentResourceInstanceDetails, errorInfo, variables, null); + } + + + // Upload artifact with invalid description via external API - empty description + protected void uploadArtifactWithInvalidDescriptionEmpty(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, + ComponentInstance componentResourceInstanceDetails) throws Exception { + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_DATA.name()); + List<String> variables = asList("artifact description"); + artifactReqDetails.setDescription(""); + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + artifactReqDetails, 400, componentResourceInstanceDetails, errorInfo, variables, null); + } + + + + + // Upload artifact with same label via external API + protected void uploadArtifactWithSameLabel(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, + ComponentInstance componentResourceInstanceDetails) throws Exception { + + RestResponse restResponse = null; + if(componentResourceInstanceDetails != null) { + restResponse = ArtifactRestUtils.externalAPIUploadArtifactOfComponentInstanceOnAsset(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentResourceInstanceDetails); + } else { + restResponse = ArtifactRestUtils.externalAPIUploadArtifactOfTheAsset(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails); - // String operationType = "Upload"; - UserRoleEnum creatorUser = UserRoleEnum.DESIGNER; - String specificUser = "DESIGNER"; + } + + ArtifactDefinition artifactDefinition = getArtifactDataFromJson(restResponse.getResponse()); + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_EXIST.name()); + + List<String> variables = asList(artifactDefinition.getArtifactDisplayName()); + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + artifactReqDetails, 400, componentResourceInstanceDetails, errorInfo, variables, null); + } + + + + + + + + + protected RestResponse uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, + Integer expectedResponseCode, ComponentInstance componentResourceInstanceDetails, ErrorInfo errorInfo, List<String> variables, LifeCycleStatesEnum lifeCycleStatesEnum) throws Exception { + RestResponse restResponse; + + if(componentResourceInstanceDetails != null) { + restResponse = ArtifactRestUtils.externalAPIUploadArtifactOfComponentInstanceOnAsset(resourceDetails, sdncModifierDetails, artifactReqDetails, componentResourceInstanceDetails); + } else { + restResponse = ArtifactRestUtils.externalAPIUploadArtifactOfTheAsset(resourceDetails, sdncModifierDetails, artifactReqDetails); - Component resourceDetails = getComponentInTargetLifeCycleState("vf", creatorUser, chosenLifeCycleState); + } + + // validate response code + Integer responseCode = restResponse.getErrorCode(); + Assert.assertEquals(responseCode, expectedResponseCode, "Response code is not correct."); + + // Check auditing for upload operation + ArtifactDefinition responseArtifact = getArtifactDataFromJson(restResponse.getResponse()); + + AuditingActionEnum action = AuditingActionEnum.ARTIFACT_UPLOAD_BY_API; + + AssetTypeEnum assetTypeEnum = AssetTypeEnum.valueOf((resourceDetails.getComponentType().getValue() + "s").toUpperCase()); +// ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditSuccess(assetTypeEnum, action, responseArtifact, resourceDetails); + + responseArtifact.setUpdaterFullName(""); + responseArtifact.setUserIdLastUpdater(sdncModifierDetails.getUserId()); + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditFailure(assetTypeEnum, action, responseArtifact, resourceDetails.getUUID(), errorInfo, variables); + expectedExternalAudit.setRESOURCE_NAME(resourceDetails.getName()); + expectedExternalAudit.setRESOURCE_TYPE(resourceDetails.getComponentType().getValue()); + expectedExternalAudit.setARTIFACT_DATA(null); + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_STATUS, responseCode.toString()); + if(componentResourceInstanceDetails != null) { + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getComponentInstances().get(0).getNormalizedName()); + expectedExternalAudit.setRESOURCE_URL("/asdc/v1/catalog/" + assetTypeEnum.getValue() + "/" + resourceDetails.getUUID() + "/resourceInstances/" + resourceDetails.getComponentInstances().get(0).getNormalizedName() + "/artifacts"); + expectedExternalAudit.setRESOURCE_NAME(resourceDetails.getComponentInstances().get(0).getNormalizedName()); + } else { + expectedExternalAudit.setRESOURCE_NAME(resourceDetails.getName()); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getName()); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getName()); + } + + AuditValidationUtils.validateExternalAudit(expectedExternalAudit, AuditingActionEnum.ARTIFACT_UPLOAD_BY_API.getName(), body); + + return restResponse; + + } - String resourceUUID = resourceDetails.getUUID(); - System.out.println("Resource UUID: " + resourceUUID); + + + + + + protected RestResponse uploadArtifactWithInvalidCheckSumOfAssetIncludingValiditionOfAuditAndResponseCode(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, + Integer expectedResponseCode, ComponentInstance componentResourceInstanceDetails, ErrorInfo errorInfo, List<String> variables) throws Exception { + RestResponse restResponse; + + if(componentResourceInstanceDetails != null) { + restResponse = ArtifactRestUtils.externalAPIUploadArtifactWithInvalidCheckSumOfComponentInstanceOnAsset(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentResourceInstanceDetails); + } else { + restResponse = ArtifactRestUtils.externalAPIUploadArtifactWithInvalidCheckSumOfTheAsset(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails); - // get artifact data - ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("Abcd", artifactType, true); + } + + // validate response code + Integer responseCode = restResponse.getErrorCode(); + Assert.assertEquals(responseCode, expectedResponseCode, "Response code is not correct."); + + // Check auditing for upload operation +// ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.DEPLOYMENT_ARTIFACT_NAME_ALREADY_EXISTS.name()); +// = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.EXCEEDS_LIMIT.name()); +// List<String> variables = asList("artifact name", "255"); + + ArtifactDefinition responseArtifact = getArtifactDataFromJson(restResponse.getResponse()); + + AuditingActionEnum action = AuditingActionEnum.ARTIFACT_UPLOAD_BY_API; + + AssetTypeEnum assetTypeEnum = AssetTypeEnum.valueOf((resourceDetails.getComponentType().getValue() + "s").toUpperCase()); +// ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditSuccess(assetTypeEnum, action, responseArtifact, resourceDetails); + + responseArtifact.setUpdaterFullName(""); + responseArtifact.setUserIdLastUpdater(sdncModifierDetails.getUserId()); + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditFailure(assetTypeEnum, action, responseArtifact, resourceDetails.getUUID(), errorInfo, variables); + expectedExternalAudit.setRESOURCE_NAME(resourceDetails.getName()); + expectedExternalAudit.setRESOURCE_TYPE(resourceDetails.getComponentType().getValue()); + expectedExternalAudit.setARTIFACT_DATA(null); + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_STATUS, responseCode.toString()); + if(componentResourceInstanceDetails != null) { + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getComponentInstances().get(0).getNormalizedName()); + expectedExternalAudit.setRESOURCE_URL("/asdc/v1/catalog/" + assetTypeEnum.getValue() + "/" + resourceDetails.getUUID() + "/resourceInstances/" + resourceDetails.getComponentInstances().get(0).getNormalizedName() + "/artifacts"); + expectedExternalAudit.setRESOURCE_NAME(resourceDetails.getComponentInstances().get(0).getNormalizedName()); + } else { + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getName()); + } + AuditValidationUtils.validateExternalAudit(expectedExternalAudit, AuditingActionEnum.ARTIFACT_UPLOAD_BY_API.getName(), body); + + return restResponse; + + } + + + + + + + + + @DataProvider(name="uploadArtifactOnVFViaExternalAPIByDiffrentUserThenCreatorOfAsset") + public static Object[][] dataProviderUploadArtifactOnVFViaExternalAPIByDiffrentUserThenCreatorOfAsset() { + return new Object[][] { + {ComponentTypeEnum.RESOURCE, UserRoleEnum.DESIGNER2, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.DESIGNER2, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.DESIGNER2, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.ADMIN, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.ADMIN, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.ADMIN, LifeCycleStatesEnum.CHECKOUT}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKOUT}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKOUT}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKOUT}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKIN}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT}, + }; + } + + + // External API + // Upload artifact by diffrent user then creator of asset - Fail + @Test(dataProvider="uploadArtifactOnVFViaExternalAPIByDiffrentUserThenCreatorOfAsset") + public void uploadArtifactOnVFViaExternalAPIByDiffrentUserThenCreatorOfAsset(ComponentTypeEnum componentTypeEnum, UserRoleEnum userRoleEnum, LifeCycleStatesEnum lifeCycleStatesEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("componentTypeEnum: %s, userRoleEnum: %s, lifeCycleStatesEnum: %s", componentTypeEnum, userRoleEnum, lifeCycleStatesEnum)); + Component resourceDetails; + ComponentInstance componentResourceInstanceDetails = null; + ArtifactReqDetails artifactReqDetails; + + if(ComponentTypeEnum.RESOURCE_INSTANCE == componentTypeEnum) { + artifactReqDetails = ElementFactory.getArtifactByType("Abcd", ArtifactTypeEnum.DCAE_INVENTORY_DOC.toString(), true, false); + + resourceDetails = getComponentWithResourceInstanceInTargetLifeCycleState(lifeCycleStatesEnum, null); + componentResourceInstanceDetails = resourceDetails.getComponentInstances().get(0); + } else { + artifactReqDetails = ElementFactory.getArtifactByType("Abcd", ArtifactTypeEnum.OTHER.toString(), true, false); + + resourceDetails = getComponentInTargetLifeCycleState(componentTypeEnum.toString(), UserRoleEnum.DESIGNER, lifeCycleStatesEnum, null); + } + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESTRICTED_OPERATION.name()); + List<String> variables = asList(); + + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(userRoleEnum), + artifactReqDetails, 409, componentResourceInstanceDetails, errorInfo, variables, lifeCycleStatesEnum); + + if(lifeCycleStatesEnum.equals(LifeCycleStatesEnum.CHECKIN)) { + performeClean(); + } + } + + + + + + @DataProvider(name="uploadArtifactOnAssetWhichNotExist") + public static Object[][] dataProviderUploadArtifactOnAssetWhichNotExist() { + return new Object[][] { + {ComponentTypeEnum.SERVICE}, + {ComponentTypeEnum.RESOURCE}, + {ComponentTypeEnum.RESOURCE_INSTANCE}, + }; + } + - RestResponse restResponse = ArtifactRestUtils.externalAPIUploadArtifactOfTheAsset(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.valueOf(specificUser.toUpperCase())), artifactReqDetails); + // External API + // Upload artifact on VF via external API - happy flow + @Test(dataProvider="uploadArtifactOnAssetWhichNotExist") + public void uploadArtifactOnAssetWhichNotExist(ComponentTypeEnum componentTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("componentTypeEnum: %s", componentTypeEnum)); + Component resourceDetails; + ComponentInstance componentResourceInstanceDetails = null; + ArtifactReqDetails artifactReqDetails; + + if(ComponentTypeEnum.RESOURCE_INSTANCE == componentTypeEnum) { + artifactReqDetails = ElementFactory.getArtifactByType("Abcd", ArtifactTypeEnum.DCAE_INVENTORY_DOC.toString(), true, false); + + resourceDetails = getComponentWithResourceInstanceInTargetLifeCycleState(LifeCycleStatesEnum.CHECKIN, null); + componentResourceInstanceDetails = resourceDetails.getComponentInstances().get(0); + + resourceDetails.setUUID("12345"); + componentResourceInstanceDetails.setNormalizedName("12345"); + } else { + artifactReqDetails = ElementFactory.getArtifactByType("Abcd", "OTHER", true, false); + + resourceDetails = getComponentInTargetLifeCycleState(componentTypeEnum.toString(), UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, null); + + resourceDetails.setUUID("12345"); + } + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESOURCE_NOT_FOUND.name()); + List<String> variables = asList("null"); + + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + artifactReqDetails, 404, componentResourceInstanceDetails, errorInfo, variables, LifeCycleStatesEnum.CHECKIN); + + performeClean(); + + } + + + @DataProvider(name="uploadArtifactOnAssetWhichInInvalidStateForUploading") + public static Object[][] dataProviderUploadArtifactOnAssetWhichInInvalidStateForUploading() { + return new Object[][] { + {ComponentTypeEnum.SERVICE}, + {ComponentTypeEnum.RESOURCE}, + {ComponentTypeEnum.RESOURCE_INSTANCE}, + }; + } + + + @Test(dataProvider="uploadArtifactOnAssetWhichInInvalidStateForUploading") + public void uploadArtifactOnAssetWhichInInvalidStateForUploading(ComponentTypeEnum componentTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("componentTypeEnum: %s", componentTypeEnum)); + Component resourceDetails; + ComponentInstance componentResourceInstanceDetails = null; + ArtifactReqDetails artifactReqDetails; + + if(ComponentTypeEnum.RESOURCE_INSTANCE == componentTypeEnum) { + artifactReqDetails = ElementFactory.getArtifactByType("Abcd", ArtifactTypeEnum.DCAE_INVENTORY_DOC.toString(), true, false); + + resourceDetails = getComponentWithResourceInstanceInTargetLifeCycleState(LifeCycleStatesEnum.STARTCERTIFICATION, null); + componentResourceInstanceDetails = resourceDetails.getComponentInstances().get(0); + } else { + artifactReqDetails = ElementFactory.getArtifactByType("Abcd", ArtifactTypeEnum.OTHER.toString(), true, false); - Integer responseCode = restResponse.getErrorCode(); - Integer expectedCode = 200; - Assert.assertEquals(responseCode, expectedCode, "Response code is not correct."); + resourceDetails = getComponentInTargetLifeCycleState(componentTypeEnum.toString(), UserRoleEnum.DESIGNER, LifeCycleStatesEnum.STARTCERTIFICATION, null); + } + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name()); + List<String> variables = asList(resourceDetails.getName(), resourceDetails.getComponentType().toString().toLowerCase(), resourceDetails.getLastUpdaterFullName().split(" ")[0], + resourceDetails.getLastUpdaterFullName().split(" ")[1], resourceDetails.getLastUpdaterUserId()); + + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + artifactReqDetails, 403, componentResourceInstanceDetails, errorInfo, variables, LifeCycleStatesEnum.STARTCERTIFICATION); + + performeClean(); + } + + + //////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////// + // Update External API // + //////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////// + + @DataProvider(name="updateArtifactForServiceViaExternalAPI") + public static Object[][] dataProviderUpdateArtifactForServiceViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML"}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {LifeCycleStatesEnum.CHECKIN, "YANG_XML"}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER"}, + {LifeCycleStatesEnum.CERTIFY, "YANG_XML"}, + {LifeCycleStatesEnum.CERTIFY, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CERTIFY, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CERTIFY, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CERTIFY, "OTHER"} + }; + } + + + + + // Update artifact for Service - Success + @Test(dataProvider="updateArtifactForServiceViaExternalAPI") + public void updateArtifactForServiceViaExternalAPI(LifeCycleStatesEnum lifeCycleStatesEnum, String artifactType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("lifeCycleStatesEnum: %s, artifactType: %s", lifeCycleStatesEnum, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.SERVICE, LifeCycleStatesEnum.CHECKOUT, artifactType, null); + updateArtifactOnAssetViaExternalAPI(component, ComponentTypeEnum.SERVICE, lifeCycleStatesEnum, artifactType); + + // for certify version check that previous version exist, and that it artifact can be download + checksum + if(lifeCycleStatesEnum.equals(LifeCycleStatesEnum.CERTIFY)) { + // Download the uploaded artifact via external API + downloadResourceDeploymentArtifactExternalAPIAndComparePayLoadOfArtifactType(component, artifactType, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), ComponentTypeEnum.SERVICE); + } + } + + @DataProvider(name="updateArtifactForVFViaExternalAPI") + public static Object[][] dataProviderUpdateArtifactForVFViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "DCAE_JSON"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_POLICY"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_EVENT"}, + {LifeCycleStatesEnum.CHECKOUT, "APPC_CONFIG"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_DOC"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_TOSCA"}, + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML"}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CHECKOUT, "VF_LICENSE"}, + {LifeCycleStatesEnum.CHECKOUT, "VENDOR_LICENSE"}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + + {LifeCycleStatesEnum.CHECKIN, "DCAE_JSON"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_POLICY"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_EVENT"}, + {LifeCycleStatesEnum.CHECKIN, "APPC_CONFIG"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_DOC"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_TOSCA"}, + {LifeCycleStatesEnum.CHECKIN, "YANG_XML"}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CHECKIN, "VF_LICENSE"}, + {LifeCycleStatesEnum.CHECKIN, "VENDOR_LICENSE"}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CHECKIN, "OTHER"}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_JSON"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_POLICY"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_EVENT"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "APPC_CONFIG"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_DOC"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_TOSCA"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VF_LICENSE"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VENDOR_LICENSE"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER"} + }; + } + + + // Update artifact for VF - Success + @Test(dataProvider="updateArtifactForVFViaExternalAPI") + public void updateArtifactForVFViaExternalAPI(LifeCycleStatesEnum lifeCycleStatesEnum, String artifactType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("lifeCycleStatesEnum: %s, artifactType: %s", lifeCycleStatesEnum, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.RESOURCE, LifeCycleStatesEnum.CHECKOUT, artifactType, null); + updateArtifactOnAssetViaExternalAPI(component, ComponentTypeEnum.RESOURCE, lifeCycleStatesEnum, artifactType); + + // for certify version check that previous version exist, and that it artifact can be download + checksum + if(lifeCycleStatesEnum.equals(LifeCycleStatesEnum.CERTIFY)) { + // Download the uploaded artifact via external API + downloadResourceDeploymentArtifactExternalAPIAndComparePayLoadOfArtifactType(component, artifactType, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), ComponentTypeEnum.RESOURCE); + } + } + + @DataProvider(name="updateArtifactForVfcVlCpViaExternalAPI") + public static Object[][] dataProviderUpdateArtifactForVfcVlCpViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "VF_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "VENDOR_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "VF_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "VENDOR_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "VF_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "VENDOR_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.CP}, + + {LifeCycleStatesEnum.CHECKIN, "YANG_XML", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "VF_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "VENDOR_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "OTHER", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CHECKIN, "YANG_XML", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "VF_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "VENDOR_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "OTHER", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CHECKIN, "YANG_XML", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "VF_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "VENDOR_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "OTHER", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.CP}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VF_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VENDOR_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VF_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VENDOR_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VF_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VENDOR_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.CP} + }; + } + + + // Update artifact for VFC/VL/CP - Success + @Test(dataProvider="updateArtifactForVfcVlCpViaExternalAPI") + public void updateArtifactForVfcVlCpViaExternalAPI(LifeCycleStatesEnum lifeCycleStatesEnum, String artifactType, ResourceTypeEnum resourceTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("lifeCycleStatesEnum: %s, artifactType: %s, resourceTypeEnum: %s", lifeCycleStatesEnum, artifactType, resourceTypeEnum)); + Component component = uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.RESOURCE, LifeCycleStatesEnum.CHECKOUT, artifactType, resourceTypeEnum); + updateArtifactOnAssetViaExternalAPI(component, ComponentTypeEnum.RESOURCE, lifeCycleStatesEnum, artifactType); + + // for certify version check that previous version exist, and that it artifact can be download + checksum + if(lifeCycleStatesEnum.equals(LifeCycleStatesEnum.CERTIFY)) { + // Download the uploaded artifact via external API + downloadResourceDeploymentArtifactExternalAPIAndComparePayLoadOfArtifactType(component, artifactType, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), ComponentTypeEnum.RESOURCE); + } + } + + @DataProvider(name="updateArtifactOfVfcVlCpForVfciVliCpiViaExternalAPI") + public static Object[][] dataProviderUpdateArtifactOfVfcVlCpForVfciVliCpiViaExternalAPI() { + return new Object[][] { + {ResourceTypeEnum.VFC}, + {ResourceTypeEnum.VL}, + {ResourceTypeEnum.CP} + }; + } + + + // Verify that it cannot update VFC/VL/CP artifact on VFCi/VLi/CPi - Failure flow + @Test(dataProvider="updateArtifactOfVfcVlCpForVfciVliCpiViaExternalAPI") + public void updateArtifactOfVfcVlCpForVfciVliCpiViaExternalAPI(ResourceTypeEnum resourceTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("resourceTypeEnum: %s", resourceTypeEnum)); + + Component resourceInstanceDetails = getComponentInTargetLifeCycleState(ComponentTypeEnum.RESOURCE.getValue(), UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, resourceTypeEnum); + ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("ci", "SNMP_TRAP", true, false); + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceInstanceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, 200); + resourceInstanceDetails = AtomicOperationUtils.changeComponentState(resourceInstanceDetails, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft(); + Component component = getComponentInTargetLifeCycleState(ComponentTypeEnum.RESOURCE.toString(), UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, null); + AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceInstanceDetails, component, UserRoleEnum.DESIGNER, true).left().value(); + component = AtomicOperationUtils.getResourceObjectByNameAndVersion(UserRoleEnum.DESIGNER, component.getName(), component.getVersion()); + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_NOT_FOUND.name()); + Map<String, ArtifactDefinition> deploymentArtifacts; + deploymentArtifacts = getDeploymentArtifactsOfAsset(component, ComponentTypeEnum.RESOURCE_INSTANCE); + String artifactUUID = null; + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci")) { + artifactUUID = deploymentArtifacts.get(key).getArtifactUUID(); + break; + } + } + List<String> variables = asList(artifactUUID); + updateArtifactOnAssetViaExternalAPI(component, ComponentTypeEnum.RESOURCE_INSTANCE, LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", errorInfo, variables, UserRoleEnum.DESIGNER, 404); - // ArtifactDefinition artifactJavaObject = - // ResponseParser.convertArtifactDefinitionResponseToJavaObject(restResponse.getResponse()); - // AuditingActionEnum action = - // AuditingActionEnum.ARTIFACT_UPLOAD_BY_API; - // ExpectedExternalAudit expectedExternalAudit = - // ElementFactory.getDefaultExternalArtifactAuditSuccess(AssetTypeEnum.RESOURCES, - // action, artifactJavaObject, resourceUUID); - // AuditValidationUtils.validateExternalAudit(expectedExternalAudit, - // AuditingActionEnum.ARTIFACT_UPLOAD_BY_API.getName(), null); } + + + + + + @DataProvider(name="updateArtifactOnRIViaExternalAPI") + public static Object[][] dataProviderUpdateArtifactOnRIViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA", null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_JSON", null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_POLICY", null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_DOC", null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_BLUEPRINT", null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_EVENT", null}, + + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA", null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_JSON", null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_POLICY", null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_DOC", null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_BLUEPRINT", null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_EVENT", null}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VF}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VF}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VF}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VF}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VF}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VF} + + }; + } + + + + + + @Test(dataProvider="updateArtifactOnRIViaExternalAPI") + public void updateArtifactOnRIViaExternalAPI(LifeCycleStatesEnum chosenLifeCycleState, String artifactType, ResourceTypeEnum resourceTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("chosenLifeCycleState: %s, artifactType: %s", chosenLifeCycleState, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.RESOURCE_INSTANCE, LifeCycleStatesEnum.CHECKOUT, artifactType, resourceTypeEnum); + updateArtifactOnAssetViaExternalAPI(component, ComponentTypeEnum.RESOURCE_INSTANCE, chosenLifeCycleState, artifactType); + + // for certify version check that previous version exist, and that it artifact can be download + checksum + if(chosenLifeCycleState.equals(LifeCycleStatesEnum.CERTIFY)) { + // Download the uploaded artifact via external API + downloadResourceDeploymentArtifactExternalAPIAndComparePayLoadOfArtifactType(component, artifactType, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), ComponentTypeEnum.RESOURCE_INSTANCE); + } + } + + + + + + + + @DataProvider(name="updateArtifactOnVfcVlCpRIViaExternalAPI") + public static Object[][] dataProviderUpdateArtifactOnVfcVlCpRIViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_JSON", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_DOC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.CP}, + + + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_JSON", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_DOC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.CP}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_JSON", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_DOC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.CP} + + }; + } + + + + + + @Test(dataProvider="updateArtifactOnVfcVlCpRIViaExternalAPI") + public void updateArtifactOnVfcVlCpRIViaExternalAPI(LifeCycleStatesEnum chosenLifeCycleState, String artifactType, ResourceTypeEnum resourceTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("chosenLifeCycleState: %s, artifactType: %s", chosenLifeCycleState, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.RESOURCE_INSTANCE, LifeCycleStatesEnum.CHECKOUT, artifactType, resourceTypeEnum); + updateArtifactOnAssetViaExternalAPI(component, ComponentTypeEnum.RESOURCE_INSTANCE, chosenLifeCycleState, artifactType); + + + // for certify version check that previous version exist, and that it artifact can be download + checksum + if(chosenLifeCycleState.equals(LifeCycleStatesEnum.CERTIFY)) { + // Download the uploaded artifact via external API + downloadResourceDeploymentArtifactExternalAPIAndComparePayLoadOfArtifactType(component, artifactType, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), ComponentTypeEnum.RESOURCE_INSTANCE); + } + } + + + + + + + + + + + @DataProvider(name="updateArtifactOnVFViaExternalAPIByDiffrentUserThenCreatorOfAsset") + public static Object[][] dataProviderUpdateArtifactOnVFViaExternalAPIByDiffrentUserThenCreatorOfAsset() { + return new Object[][] { + {ComponentTypeEnum.RESOURCE, UserRoleEnum.DESIGNER2, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.DESIGNER2, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.DESIGNER2, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.ADMIN, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.ADMIN, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.ADMIN, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA"}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA"}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA"}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA"}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA"}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + }; + } + - @DataProvider(name = "uploadArtifactOnServiceViaExternalAPI") - public static Object[][] dataProviderUploadArtifactOnServiceViaExternalAPI() { + + // External API + // Update artifact by diffrent user then creator of asset - Fail + @Test(dataProvider="updateArtifactOnVFViaExternalAPIByDiffrentUserThenCreatorOfAsset") + public void updateArtifactOnVFViaExternalAPIByDiffrentUserThenCreatorOfAsset(ComponentTypeEnum componentTypeEnum, UserRoleEnum userRoleEnum, LifeCycleStatesEnum lifeCycleStatesEnum, String artifactType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("componentTypeEnum: %s, userRoleEnum: %s, lifeCycleStatesEnum: %s, artifactType: %s", componentTypeEnum, userRoleEnum, lifeCycleStatesEnum, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(componentTypeEnum, LifeCycleStatesEnum.CHECKIN, artifactType, null); + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESTRICTED_OPERATION.name()); + List<String> variables = asList(); + updateArtifactOnAssetViaExternalAPI(component, componentTypeEnum, lifeCycleStatesEnum, artifactType, errorInfo, variables, userRoleEnum, 409); + } + + + @DataProvider(name="updateArtifactOnAssetWhichNotExist") + public static Object[][] dataProviderUpdateArtifactOnAssetWhichNotExist() { return new Object[][] { - // {LifeCycleStatesEnum.CHECKOUT, "YANG_XML"}, - // {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG"}, - // {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE"}, - // {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC"}, - // {LifeCycleStatesEnum.CHECKOUT, "OTHER"}, - { LifeCycleStatesEnum.CHECKIN, "YANG_XML" }, { LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG" }, - { LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE" }, - { LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC" }, { LifeCycleStatesEnum.CHECKIN, "OTHER" }, - { LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML" }, - { LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG" }, - { LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE" }, - { LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC" }, - { LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER" } }; - } - - @Test(dataProvider = "uploadArtifactOnServiceViaExternalAPI") - public void uploadArtifactOnServiceViaExternalAPI(LifeCycleStatesEnum chosenLifeCycleState, String artifactType) - throws Exception { - Component resourceDetails = getComponentInTargetLifeCycleState("service", UserRoleEnum.DESIGNER, - chosenLifeCycleState); - double resourceVersion = Double.parseDouble(resourceDetails.getVersion()); + {ComponentTypeEnum.SERVICE, "OTHER", null}, + {ComponentTypeEnum.RESOURCE, "OTHER", null}, + {ComponentTypeEnum.RESOURCE_INSTANCE, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VF}, + }; + } + - // get artifact data - ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("Abcd", artifactType, true); - System.out.println("Service UUID: " + resourceDetails.getUUID()); - System.out.println("Service Version: " + resourceVersion); - System.out.println("Service life cycle state: " + chosenLifeCycleState); - System.out.println("Artifact Type: " + artifactReqDetails.getArtifactType()); + // External API + // Upload artifact on VF via external API - happy flow + @Test(dataProvider="updateArtifactOnAssetWhichNotExist") + public void updateArtifactOnAssetWhichNotExist(ComponentTypeEnum componentTypeEnum, String artifactType, ResourceTypeEnum resourceTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("componentTypeEnum: %s, artifactType: %s", componentTypeEnum, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(componentTypeEnum, LifeCycleStatesEnum.CHECKIN, artifactType, resourceTypeEnum); + + // get updated artifact data + Map<String, ArtifactDefinition> deploymentArtifacts = getDeploymentArtifactsOfAsset(component, componentTypeEnum); + ArtifactReqDetails artifactReqDetails = getUpdatedArtifact(deploymentArtifacts, artifactType); + String artifactUUID = deploymentArtifacts.get(artifactReqDetails.getArtifactLabel()).getArtifactUUID(); + + // Invalid artifactUUID + String invalidArtifactUUID = "12341234-1234-1234-1234-123412341234"; + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_NOT_FOUND.name()); + List<String> variables = asList(invalidArtifactUUID); + + if(componentTypeEnum.equals(ComponentTypeEnum.RESOURCE_INSTANCE)) { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 404, component.getComponentInstances().get(0), artifactReqDetails, invalidArtifactUUID, errorInfo, variables, null); + } else { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 404, null, artifactReqDetails, invalidArtifactUUID, errorInfo, variables, null); - RestResponse restResponse = ArtifactRestUtils.externalAPIUploadArtifactOfTheAsset(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails); + } + + // Invalid componentUUID +// errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESOURCE_NOT_FOUND.name()); +// variables = asList("null"); + + if(componentTypeEnum.equals(ComponentTypeEnum.RESOURCE_INSTANCE)) { + component.getComponentInstances().get(0).setNormalizedName("invalidNormalizedName"); + + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_INSTANCE_NOT_FOUND_ON_CONTAINER.name()); + + variables = asList("invalidNormalizedName", ComponentTypeEnum.RESOURCE_INSTANCE.getValue().toLowerCase(), ComponentTypeEnum.SERVICE.getValue(), component.getName()); + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 404, component.getComponentInstances().get(0), artifactReqDetails, artifactUUID, errorInfo, variables, LifeCycleStatesEnum.CHECKIN); + } else { + component.setUUID("invalidComponentUUID"); + + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESOURCE_NOT_FOUND.name()); + variables = asList("null"); + + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 404, null, artifactReqDetails, artifactUUID, errorInfo, variables, LifeCycleStatesEnum.CHECKIN); + } + } + + + @DataProvider(name="updateArtifactOnAssetWhichInInvalidStateForUploading") + public static Object[][] dataProviderUpdateProviderDeleteArtifactOnAssetWhichInInvalidStateForUploading() { + return new Object[][] { +// {ComponentTypeEnum.SERVICE, "OTHER"}, +// {ComponentTypeEnum.RESOURCE, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, "DCAE_INVENTORY_TOSCA"}, + }; + } + + + @Test(dataProvider="updateArtifactOnAssetWhichInInvalidStateForUploading") + public void updateArtifactOnAssetWhichInInvalidStateForUploading(ComponentTypeEnum componentTypeEnum, String artifactType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("componentTypeEnum: %s, artifactType: %s", componentTypeEnum, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(componentTypeEnum, LifeCycleStatesEnum.CHECKIN, artifactType, null); + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name()); + List<String> variables = asList(component.getName(), component.getComponentType().toString().toLowerCase(), ElementFactory.getDefaultUser(UserRoleEnum.TESTER).getFirstName(), + ElementFactory.getDefaultUser(UserRoleEnum.TESTER).getLastName(), ElementFactory.getDefaultUser(UserRoleEnum.TESTER).getUserId()); + updateArtifactOnAssetViaExternalAPI(component, componentTypeEnum, LifeCycleStatesEnum.STARTCERTIFICATION, artifactType, errorInfo, variables, UserRoleEnum.DESIGNER, 403); + + } + + + + + + @DataProvider(name="updateInvalidArtifactTypeExtensionLabelDescriptionCheckSumDuplicateLabelViaExternalAPI") + public static Object[][] dataProviderUpdateInvalidArtifactTypeExtensionLabelDescriptionCheckSumDuplicateLabelViaExternalAPI() { + return new Object[][] { +// {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidCheckSum"}, +// {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidCheckSum"}, +// {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidCheckSum"}, +// {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidCheckSum"}, +// {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidCheckSum"}, +// {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidCheckSum"}, +// {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidCheckSum"}, +// {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidCheckSum"}, +// {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidCheckSum"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidNameToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidNameToLong"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidNameEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidNameEmpty"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidLabelToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidLabelToLong"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidLabelEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidLabelEmpty"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidDescriptionToLong"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidDescriptionToLong"}, + + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CHECKOUT, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CHECKIN, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE, "updateArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.SERVICE, "updateArtifactWithInvalidDescriptionEmpty"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, ComponentTypeEnum.RESOURCE_INSTANCE, "updateArtifactWithInvalidDescriptionEmpty"}, + }; + } + + + + + // InvalidArtifact + check audit & response code function + @Test(dataProvider="updateInvalidArtifactTypeExtensionLabelDescriptionCheckSumDuplicateLabelViaExternalAPI") + public void updateInvalidArtifactTypeExtensionLabelDescriptionCheckSumDuplicateLabelViaExternalAPI(LifeCycleStatesEnum chosenLifeCycleState, + ComponentTypeEnum componentTypeEnum, String uploadArtifactTestType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("chosenLifeCycleState: %s, componentTypeEnum: %s, uploadArtifactTestType: %s", chosenLifeCycleState, componentTypeEnum, uploadArtifactTestType)); + Component component; + ComponentInstance componentInstance = null; + String artifactType; + + if(ComponentTypeEnum.RESOURCE_INSTANCE == componentTypeEnum) { + artifactType = ArtifactTypeEnum.DCAE_INVENTORY_DOC.toString(); + component = uploadArtifactOnAssetViaExternalAPI(componentTypeEnum, LifeCycleStatesEnum.CHECKIN, artifactType, null); + componentInstance = component.getComponentInstances().get(0); + } else { + artifactType = ArtifactTypeEnum.OTHER.toString(); + component = uploadArtifactOnAssetViaExternalAPI(componentTypeEnum, LifeCycleStatesEnum.CHECKIN, artifactType, null); + } + + component = AtomicOperationUtils.changeComponentState(component, UserRoleEnum.DESIGNER, chosenLifeCycleState, true).getLeft(); + + switch (uploadArtifactTestType) { + case "updateArtifactWithInvalidCheckSum": + updateArtifactWithInvalidCheckSum(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactType, componentInstance); + break; + case "updateArtifactWithInvalidNameToLong": + updateArtifactWithInvalidNameToLong(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactType, componentInstance); + break; + case "updateArtifactWithInvalidNameEmpty": + updateArtifactWithInvalidNameEmpty(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactType, componentInstance); + break; + case "updateArtifactWithInvalidLabelToLong": + updateArtifactWithInvalidLabelToLong(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactType, componentInstance); + break; + case "updateArtifactWithInvalidLabelEmpty": + updateArtifactWithInvalidLabelEmpty(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactType, componentInstance); + break; + case "updateArtifactWithInvalidDescriptionToLong": + updateArtifactWithInvalidDescriptionToLong(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactType, componentInstance); + break; + case "updateArtifactWithInvalidDescriptionEmpty": + default: + updateArtifactWithInvalidDescriptionEmpty(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactType, componentInstance); + break; + } + +/////////////////////////////////////////////////////////////////////////////// +// // TODO: there is defect when checking invalid type +//// // Upload artifact with invalid type via external API +//// // invalid type +//// String artifactType = artifactReqDetails.getArtifactType(); +//// artifactReqDetails.setArtifactType("invalidType"); +//// restResponse = uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, 400, componentResourceInstanceDetails); +//// // empty type +//// artifactReqDetails.setArtifactType(""); +//// restResponse = uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, 400, componentResourceInstanceDetails); +//// artifactReqDetails.setArtifactType(artifactType); +/////////////////////////////////////////////////////////////////////////////// + } + + // TODO + // Update artifact with invalid checksum via external API + protected void updateArtifactWithInvalidCheckSum(Component component, User sdncModifierDetails, String artifactType, + ComponentInstance componentInstance) throws Exception { + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_INVALID_MD5.name()); + List<String> variables = asList(); +// uploadArtifactWithInvalidCheckSumOfAssetIncludingValiditionOfAuditAndResponseCode(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), +// artifactReqDetails, 400, componentResourceInstanceDetails, errorInfo, variables); + } + + + // Update artifact with valid type & invalid name via external API - name to long + protected void updateArtifactWithInvalidNameToLong(Component component, User sdncModifierDetails, String artifactType, + ComponentInstance componentInstance) throws Exception { + + ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("ci", artifactType, true, true); + String artifactUUID = null; + Map<String, ArtifactDefinition> deploymentArtifacts; + if(componentInstance != null) { + deploymentArtifacts = component.getComponentInstances().get(0).getDeploymentArtifacts(); + } else { + deploymentArtifacts = component.getDeploymentArtifacts(); + } + + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci")) { + artifactUUID = deploymentArtifacts.get(key).getArtifactUUID(); + break; + } + } + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.EXCEEDS_LIMIT.name()); + List<String> variables = asList("artifact name", "255"); + artifactReqDetails.setArtifactName("invalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsinvalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidTypeinvalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidTypeghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidType"); + + if(componentInstance != null) { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 400, component.getComponentInstances().get(0), artifactReqDetails, artifactUUID, errorInfo, variables, null); + } else { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 400, null, artifactReqDetails, artifactUUID, errorInfo, variables, null); - // Check response of external API - Integer responseCode = restResponse.getErrorCode(); - Integer expectedCode = 200; - Assert.assertEquals(responseCode, expectedCode, "Response code is not correct."); - - // TODO: Check auditing for upload opeartion - // ArtifactDefinition artifactJavaObject = - // ResponseParser.convertArtifactDefinitionResponseToJavaObject(restResponse.getResponse()); - // AuditingActionEnum action = - // AuditingActionEnum.ARTIFACT_UPLOAD_BY_API; - // ExpectedExternalAudit expectedExternalAudit = - // ElementFactory.getDefaultExternalArtifactAuditSuccess(AssetTypeEnum.RESOURCES, - // action, artifactJavaObject, resourceUUID); - // AuditValidationUtils.validateExternalAudit(expectedExternalAudit, - // AuditingActionEnum.ARTIFACT_UPLOAD_BY_API.getName(), null); - - // Check Service version (increase by one if not in checkout) - if (!chosenLifeCycleState.equals(LifeCycleStatesEnum.CHECKOUT)) { - double resourceNewVersion = Double.parseDouble(resourceDetails.getVersion()); - - System.out.println(resourceVersion); - System.out.println(resourceNewVersion); } } + + + // Update artifact with valid type & invalid name via external API - name is empty + protected void updateArtifactWithInvalidNameEmpty(Component component, User sdncModifierDetails, String artifactType, + ComponentInstance componentInstance) throws Exception { + + ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("ci", artifactType, true, true); + String artifactUUID = null; + Map<String, ArtifactDefinition> deploymentArtifacts; + if(componentInstance != null) { + deploymentArtifacts = component.getComponentInstances().get(0).getDeploymentArtifacts(); + } else { + deploymentArtifacts = component.getDeploymentArtifacts(); + } + + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci")) { + artifactUUID = deploymentArtifacts.get(key).getArtifactUUID(); + break; + } + } + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_ARTIFACT_NAME.name()); + List<String> variables = asList(); + artifactReqDetails.setArtifactName(""); + + if(componentInstance != null) { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 400, component.getComponentInstances().get(0), artifactReqDetails, artifactUUID, errorInfo, variables, null); + } else { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 400, null, artifactReqDetails, artifactUUID, errorInfo, variables, null); - @Test - public void artifactOperationOnRIViaExternalAPI() throws Exception { - // Method passed variable - String operationType = "Upload"; - LifeCycleStatesEnum chosenLifeCycleState = LifeCycleStatesEnum.CHECKOUT; - UserRoleEnum creatorUser = UserRoleEnum.DESIGNER; - String specificUser = "DESIGNER"; - String artifactType = "OTHER"; + } + } + + + // Update artifact with valid type & invalid label via external API - label to long + protected void updateArtifactWithInvalidLabelToLong(Component component, User sdncModifierDetails, String artifactType, + ComponentInstance componentInstance) throws Exception { + + ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("ci", artifactType, true, true); + String artifactUUID = null; + Map<String, ArtifactDefinition> deploymentArtifacts; + if(componentInstance != null) { + deploymentArtifacts = component.getComponentInstances().get(0).getDeploymentArtifacts(); + } else { + deploymentArtifacts = component.getDeploymentArtifacts(); + } + + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci")) { + artifactUUID = deploymentArtifacts.get(key).getArtifactUUID(); + break; + } + } + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_LOGICAL_NAME_CANNOT_BE_CHANGED.name()); + List<String> variables = asList(); + artifactReqDetails.setArtifactLabel("invalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidType"); + + if(componentInstance != null) { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 400, component.getComponentInstances().get(0), artifactReqDetails, artifactUUID, errorInfo, variables, null); + } else { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 400, null, artifactReqDetails, artifactUUID, errorInfo, variables, null); - Component resourceDetails = getComponentInTargetLifeCycleState("service", creatorUser, chosenLifeCycleState); - Component resourceInstanceDetails = getComponentInTargetLifeCycleState("vf", creatorUser, chosenLifeCycleState); - ComponentInstance componentResourceInstanceDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(resourceInstanceDetails, resourceDetails, - UserRoleEnum.DESIGNER, true) - .left().value(); + } + } + + + // Update artifact with valid type & invalid label via external API - label is empty + protected void updateArtifactWithInvalidLabelEmpty(Component component, User sdncModifierDetails, String artifactType, + ComponentInstance componentInstance) throws Exception { + + ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("ci", artifactType, true, true); + String artifactUUID = null; + Map<String, ArtifactDefinition> deploymentArtifacts; + if(componentInstance != null) { + deploymentArtifacts = component.getComponentInstances().get(0).getDeploymentArtifacts(); + } else { + deploymentArtifacts = component.getDeploymentArtifacts(); + } + + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci")) { + artifactUUID = deploymentArtifacts.get(key).getArtifactUUID(); + break; + } + } + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_DATA.name()); + List<String> variables = asList("artifact label"); + artifactReqDetails.setArtifactLabel(""); + + if(componentInstance != null) { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 400, component.getComponentInstances().get(0), artifactReqDetails, artifactUUID, errorInfo, variables, null); + } else { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 400, null, artifactReqDetails, artifactUUID, errorInfo, variables, null); - String resourceUUID = resourceDetails.getUUID(); - System.out.println("Resource UUID: " + resourceUUID); + } + } + + + // Update artifact with invalid description via external API - to long description + protected void updateArtifactWithInvalidDescriptionToLong(Component component, User sdncModifierDetails, String artifactType, + ComponentInstance componentInstance) throws Exception { + + ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("ci", artifactType, true, true); + String artifactUUID = null; + Map<String, ArtifactDefinition> deploymentArtifacts; + if(componentInstance != null) { + deploymentArtifacts = component.getComponentInstances().get(0).getDeploymentArtifacts(); + } else { + deploymentArtifacts = component.getDeploymentArtifacts(); + } + + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci")) { + artifactUUID = deploymentArtifacts.get(key).getArtifactUUID(); + break; + } + } + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_LOGICAL_NAME_CANNOT_BE_CHANGED.name()); + List<String> variables = asList(); + artifactReqDetails.setDescription("invalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsinvalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidTypeinvalGGfdsiofhdsouhfoidshfoidshoifhsdoifhdsouihfdsofhiufdsghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidTypeghiufghodhfioudsgafodsgaiofudsghifudsiugfhiufawsouipfhgawseiupfsadiughdfsoiuhgfaighfpasdghfdsaqgfdsgdfgidType"); + + if(componentInstance != null) { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 400, component.getComponentInstances().get(0), artifactReqDetails, artifactUUID, errorInfo, variables, null); + } else { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 400, null, artifactReqDetails, artifactUUID, errorInfo, variables, null); - // get artifact data - ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("Abcd", artifactType, true); + } + } + + + // Update artifact with invalid description via external API - empty description + protected void updateArtifactWithInvalidDescriptionEmpty(Component component, User sdncModifierDetails, String artifactType, + ComponentInstance componentInstance) throws Exception { + + ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("ci", artifactType, true, true); + String artifactUUID = null; + Map<String, ArtifactDefinition> deploymentArtifacts; + if(componentInstance != null) { + deploymentArtifacts = component.getComponentInstances().get(0).getDeploymentArtifacts(); + } else { + deploymentArtifacts = component.getDeploymentArtifacts(); + } + + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci")) { + artifactUUID = deploymentArtifacts.get(key).getArtifactUUID(); + break; + } + } + + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_LOGICAL_NAME_CANNOT_BE_CHANGED.name()); + List<String> variables = asList("artifact description"); + artifactReqDetails.setDescription(""); + + if(componentInstance != null) { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 400, component.getComponentInstances().get(0), artifactReqDetails, artifactUUID, errorInfo, variables, null); + } else { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 400, null, artifactReqDetails, artifactUUID, errorInfo, variables, null); + } + } + + // Unhappy flow - get chosen life cycle state, artifact type and asset type + // update artifact via external API + check audit & response code + // Download artifact via external API + check audit & response code + // Check artifact version, uuid & checksusm + protected Component updateArtifactOnAssetViaExternalAPI(Component component, ComponentTypeEnum componentTypeEnum, LifeCycleStatesEnum chosenLifeCycleState, String artifactType, ErrorInfo errorInfo, List<String> variables, UserRoleEnum userRoleEnum, Integer expectedResponseCode) throws Exception { + String componentVersionBeforeUpdate = null; + + // get updated artifact data + component = AtomicOperationUtils.changeComponentState(component, UserRoleEnum.DESIGNER, chosenLifeCycleState, true).getLeft(); + componentVersionBeforeUpdate = component.getVersion(); + + Map<String, ArtifactDefinition> deploymentArtifacts = getDeploymentArtifactsOfAsset(component, componentTypeEnum); + ArtifactReqDetails artifactReqDetails = getUpdatedArtifact(deploymentArtifacts, artifactType); + + String artifactName = artifactReqDetails.getArtifactLabel(); + String artifactUUID = deploymentArtifacts.get(artifactName).getArtifactUUID(); + String artifactVersionBeforeUpdate = deploymentArtifacts.get(artifactName).getArtifactVersion(); + int numberOfArtifact = deploymentArtifacts.size(); + + // create component/s & upload artifact via external api + if(ComponentTypeEnum.RESOURCE_INSTANCE == componentTypeEnum) { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(userRoleEnum), + expectedResponseCode, component.getComponentInstances().get(0), artifactReqDetails, artifactUUID, errorInfo, variables, chosenLifeCycleState); + } else { + updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(userRoleEnum), + expectedResponseCode, null, artifactReqDetails, artifactUUID, errorInfo, variables, chosenLifeCycleState); + } + + if(component.getComponentType().equals(ComponentTypeEnum.SERVICE)) { + component = AtomicOperationUtils.getServiceObjectByNameAndVersion(UserRoleEnum.DESIGNER, component.getName(), component.getVersion()); + } else { + component = AtomicOperationUtils.getResourceObjectByNameAndVersion(UserRoleEnum.DESIGNER, component.getName(), component.getVersion()); + } + + // Get list of deployment artifact + download them via external API + if(ComponentTypeEnum.RESOURCE_INSTANCE == componentTypeEnum) { + deploymentArtifacts = component.getComponentInstances().get(0).getDeploymentArtifacts(); + } else { + deploymentArtifacts = component.getDeploymentArtifacts(); + } + Assert.assertEquals(numberOfArtifact, deploymentArtifacts.keySet().size(), "Expected that number of deployment artifact will be same as before."); + Assert.assertEquals(String.valueOf((Integer.parseInt(artifactVersionBeforeUpdate))), deploymentArtifacts.get(artifactName).getArtifactVersion(), "Expected that aftifact will not change."); + Assert.assertEquals(artifactUUID, deploymentArtifacts.get(artifactName).getArtifactUUID(), "Expected that aftifactUUID will not change."); + Assert.assertEquals(componentVersionBeforeUpdate, component.getVersion(), "Expected that check-out component will not change version number."); + + return component; + } + + protected RestResponse updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(Component resourceDetails, User sdncModifierDetails, + Integer expectedResponseCode, ComponentInstance componentInstance, ArtifactReqDetails artifactReqDetails, String artifactUUID, ErrorInfo errorInfo, List<String> variables, LifeCycleStatesEnum lifeCycleStatesEnum) throws Exception { + RestResponse restResponse; + + if(componentInstance != null) { + restResponse = ArtifactRestUtils.externalAPIUpdateArtifactOfComponentInstanceOnAsset(resourceDetails, sdncModifierDetails, artifactReqDetails, componentInstance, artifactUUID); + } else { + restResponse = ArtifactRestUtils.externalAPIUpdateArtifactOfTheAsset(resourceDetails, sdncModifierDetails, artifactReqDetails, artifactUUID); + + } + + // validate response code + Integer responseCode = restResponse.getErrorCode(); + Assert.assertEquals(responseCode, expectedResponseCode, "Response code is not correct."); + + //TODO + // Check auditing for upload operation + ArtifactDefinition responseArtifact = getArtifactDataFromJson(restResponse.getResponse()); + + AuditingActionEnum action = AuditingActionEnum.ARTIFACT_UPDATE_BY_API; + + AssetTypeEnum assetTypeEnum = AssetTypeEnum.valueOf((resourceDetails.getComponentType().getValue() + "s").toUpperCase()); +// ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditSuccess(assetTypeEnum, action, responseArtifact, resourceDetails); + + responseArtifact.setUpdaterFullName(""); + responseArtifact.setUserIdLastUpdater(sdncModifierDetails.getUserId()); + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditFailure(assetTypeEnum, action, responseArtifact, resourceDetails.getUUID(), errorInfo, variables); + expectedExternalAudit.setRESOURCE_NAME(resourceDetails.getName()); + expectedExternalAudit.setRESOURCE_TYPE(resourceDetails.getComponentType().getValue()); + expectedExternalAudit.setARTIFACT_DATA(""); + expectedExternalAudit.setCURR_ARTIFACT_UUID(artifactUUID); + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_STATUS, responseCode.toString()); + if(componentInstance != null) { + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getComponentInstances().get(0).getNormalizedName()); + expectedExternalAudit.setRESOURCE_URL("/asdc/v1/catalog/" + assetTypeEnum.getValue() + "/" + resourceDetails.getUUID() + "/resourceInstances/" + resourceDetails.getComponentInstances().get(0).getNormalizedName() + "/artifacts/" + artifactUUID); + expectedExternalAudit.setRESOURCE_NAME(resourceDetails.getComponentInstances().get(0).getNormalizedName()); + } else { + expectedExternalAudit.setRESOURCE_URL(expectedExternalAudit.getRESOURCE_URL() + "/" + artifactUUID); + if((lifeCycleStatesEnum == LifeCycleStatesEnum.CHECKIN) || (lifeCycleStatesEnum == LifeCycleStatesEnum.STARTCERTIFICATION)) { + expectedExternalAudit.setRESOURCE_NAME(resourceDetails.getName()); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getName()); + } else { + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getName()); + } + } + + AuditValidationUtils.validateExternalAudit(expectedExternalAudit, AuditingActionEnum.ARTIFACT_UPDATE_BY_API.getName(), body); + + return restResponse; + + } + + + // This function get component, user & if updatedPayload or not + // It will create default payload / updated payload of artifact + // And download artifact of component which starts with ci + protected RestResponse downloadResourceDeploymentArtifactExternalAPIAndComparePayLoadOfArtifactType(Component component, String artifactType, User sdncModifierDetails, ComponentTypeEnum componentTypeEnum) throws IOException, Exception { + // Download the uploaded artifact via external API + ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("abcd", artifactType, true, false); + String artifactName = null; + for (String key : component.getDeploymentArtifacts().keySet()) { + if (key.startsWith("ci")) { + artifactName = key; + break; + } + } + return downloadResourceDeploymentArtifactExternalAPI(component, component.getDeploymentArtifacts().get(artifactName), sdncModifierDetails, artifactReqDetails, componentTypeEnum); + } + + // Get deployment artifact of asset + protected Map<String, ArtifactDefinition> getDeploymentArtifactsOfAsset(Component component, ComponentTypeEnum componentTypeEnum) { + Map<String, ArtifactDefinition> deploymentArtifacts = null; + if(ComponentTypeEnum.RESOURCE_INSTANCE == componentTypeEnum) { + for(ComponentInstance componentInstance: component.getComponentInstances()) { + if(componentInstance.getNormalizedName().startsWith("ci")) { + deploymentArtifacts = componentInstance.getDeploymentArtifacts(); + break; + } + } + } else { + deploymentArtifacts = component.getDeploymentArtifacts(); + } + return deploymentArtifacts; + } + + // get deploymentArtifact of asset and artifactType -> generate new artifact that can be updated on the asset + protected ArtifactReqDetails getUpdatedArtifact(Map<String, ArtifactDefinition> deploymentArtifacts, String artifactType) throws IOException, Exception { + ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("ci", artifactType, true, true); + + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci")) { + artifactReqDetails.setArtifactDisplayName(deploymentArtifacts.get(key).getArtifactDisplayName()); + artifactReqDetails.setArtifactName(deploymentArtifacts.get(key).getArtifactName()); + artifactReqDetails.setArtifactLabel(deploymentArtifacts.get(key).getArtifactLabel()); + break; + } + } + + return artifactReqDetails; + } + + // Happy flow - get chosen life cycle state, artifact type and asset type + // update artifact via external API + check audit & response code + // Download artifact via external API + check audit & response code + // Check artifact version, uuid & checksusm + protected Component updateArtifactOnAssetViaExternalAPI(Component component, ComponentTypeEnum componentTypeEnum, LifeCycleStatesEnum chosenLifeCycleState, String artifactType) throws Exception { RestResponse restResponse = null; + int numberOfArtifact = 0; + String artifactVersionBeforeUpdate = null; + String artifactName = null; + String componentVersionBeforeUpdate = null; + + // get updated artifact data + ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("ci", artifactType, true, true); + String artifactUUID = null; + Map<String, ArtifactDefinition> deploymentArtifacts; + deploymentArtifacts = getDeploymentArtifactsOfAsset(component, componentTypeEnum); + + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci")) { + artifactName = key; + artifactVersionBeforeUpdate = deploymentArtifacts.get(key).getArtifactVersion(); + artifactUUID = deploymentArtifacts.get(key).getArtifactUUID(); + artifactReqDetails.setArtifactDisplayName(deploymentArtifacts.get(key).getArtifactDisplayName()); + artifactReqDetails.setArtifactName(deploymentArtifacts.get(key).getArtifactName()); + artifactReqDetails.setArtifactLabel(deploymentArtifacts.get(key).getArtifactLabel()); + break; + } + } + + component = AtomicOperationUtils.changeComponentState(component, UserRoleEnum.DESIGNER, chosenLifeCycleState, true).getLeft(); + componentVersionBeforeUpdate = component.getVersion(); + deploymentArtifacts = getDeploymentArtifactsOfAsset(component, componentTypeEnum); + numberOfArtifact = deploymentArtifacts.size(); + + + // create component/s & upload artifact via external api + if(ComponentTypeEnum.RESOURCE_INSTANCE == componentTypeEnum) { + if((chosenLifeCycleState == LifeCycleStatesEnum.CERTIFICATIONREQUEST) && (!component.getComponentType().toString().equals(ComponentTypeEnum.RESOURCE.toString()))) { + numberOfArtifact = numberOfArtifact - 1; + } + restResponse = updateArtifactOfRIIncludingValiditionOfAuditAndResponseCode(component, component.getComponentInstances().get(0), ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, artifactUUID, 200); + } else { + + restResponse = updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, artifactUUID, 200); + } + + + + ArtifactDefinition responseArtifact = getArtifactDataFromJson(restResponse.getResponse()); + component = getNewerVersionOfComponent(component, chosenLifeCycleState); + + // Get list of deployment artifact + download them via external API + deploymentArtifacts = getDeploymentArtifactsOfAsset(component, componentTypeEnum); + Assert.assertEquals(numberOfArtifact, deploymentArtifacts.keySet().size(), "Expected that number of deployment artifact will be same as before."); + Assert.assertEquals(String.valueOf((Integer.parseInt(artifactVersionBeforeUpdate) + 1)), deploymentArtifacts.get(artifactName).getArtifactVersion(), "Expected that aftifact version will increase by one."); + + if(chosenLifeCycleState == LifeCycleStatesEnum.CHECKOUT) { + Assert.assertEquals(componentVersionBeforeUpdate, component.getVersion(), "Expected that check-out component will not change version number."); + } else { + Assert.assertEquals(String.format("%.1f", (Double.parseDouble(componentVersionBeforeUpdate) + 0.1)), component.getVersion(), "Expected that non check-out component version will increase by 0.1."); + } + + // Download the uploaded artifact via external API + downloadResourceDeploymentArtifactExternalAPI(component, deploymentArtifacts.get(responseArtifact.getArtifactLabel()), ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, componentTypeEnum); + + return component; + } + + + // Update artifact via external API + Check auditing for upload operation + Check response of external API + protected RestResponse updateArtifactOfRIIncludingValiditionOfAuditAndResponseCode(Component resourceDetails, ComponentInstance componentInstance, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, String artifactUUID, Integer expectedResponseCode) throws Exception { + RestResponse restResponse = ArtifactRestUtils.externalAPIUpdateArtifactOfComponentInstanceOnAsset(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, resourceDetails.getComponentInstances().get(0), artifactUUID); + + // Check response of external API + Integer responseCode = restResponse.getErrorCode(); + Assert.assertEquals(responseCode, expectedResponseCode, "Response code is not correct."); + + + // Check auditing for upload operation + ArtifactDefinition responseArtifact = getArtifactDataFromJson(restResponse.getResponse()); + + AuditingActionEnum action = AuditingActionEnum.ARTIFACT_UPDATE_BY_API; + + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, componentInstance.getNormalizedName()); + + AssetTypeEnum assetTypeEnum = AssetTypeEnum.valueOf((resourceDetails.getComponentType().getValue() + "s").toUpperCase()); + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditSuccess(assetTypeEnum, action, responseArtifact, resourceDetails); +// expectedExternalAudit.setRESOURCE_URL(expectedExternalAudit.getRESOURCE_URL()+ "/" + artifactUUID); + expectedExternalAudit.setRESOURCE_NAME(componentInstance.getNormalizedName()); + expectedExternalAudit.setRESOURCE_URL("/asdc/v1/catalog/" + assetTypeEnum.getValue() + "/" + resourceDetails.getUUID() + "/resourceInstances/" + componentInstance.getNormalizedName() + "/artifacts/" + artifactUUID); + AuditValidationUtils.validateExternalAudit(expectedExternalAudit, AuditingActionEnum.ARTIFACT_UPDATE_BY_API.getName(), body); + + return restResponse; + } + + + // Update artifact via external API + Check auditing for upload operation + Check response of external API + protected RestResponse updateArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(Component resourceDetails, User sdncModifierDetails, ArtifactReqDetails artifactReqDetails, String artifactUUID, Integer expectedResponseCode) throws Exception { + RestResponse restResponse = ArtifactRestUtils.externalAPIUpdateArtifactOfTheAsset(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, artifactUUID); + + // Check response of external API + Integer responseCode = restResponse.getErrorCode(); + Assert.assertEquals(responseCode, expectedResponseCode, "Response code is not correct."); + + + // Check auditing for upload operation + ArtifactDefinition responseArtifact = getArtifactDataFromJson(restResponse.getResponse()); + + AuditingActionEnum action = AuditingActionEnum.ARTIFACT_UPDATE_BY_API; + + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getName()); + + AssetTypeEnum assetTypeEnum = AssetTypeEnum.valueOf((resourceDetails.getComponentType().getValue() + "s").toUpperCase()); + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditSuccess(assetTypeEnum, action, responseArtifact, resourceDetails); + expectedExternalAudit.setRESOURCE_URL(expectedExternalAudit.getRESOURCE_URL()+ "/" + artifactUUID); + AuditValidationUtils.validateExternalAudit(expectedExternalAudit, AuditingActionEnum.ARTIFACT_UPDATE_BY_API.getName(), body); + + return restResponse; + } + + + + + //////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////// + // Delete External API // + //////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////// + @DataProvider(name="deleteArtifactForServiceViaExternalAPI") + public static Object[][] dataProviderDeleteArtifactForServiceViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML"}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {LifeCycleStatesEnum.CHECKIN, "YANG_XML"}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER"}, + {LifeCycleStatesEnum.CERTIFY, "YANG_XML"}, + {LifeCycleStatesEnum.CERTIFY, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CERTIFY, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CERTIFY, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CERTIFY, "OTHER"} + }; + } + + + + + // Delete artifact for Service - Success + @Test(dataProvider="deleteArtifactForServiceViaExternalAPI") + public void deleteArtifactForServiceViaExternalAPI(LifeCycleStatesEnum lifeCycleStatesEnum, String artifactType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("lifeCycleStatesEnum: %s, artifactType: %s", lifeCycleStatesEnum, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.SERVICE, LifeCycleStatesEnum.CHECKOUT, artifactType, null); + deleteArtifactOnAssetViaExternalAPI(component, ComponentTypeEnum.SERVICE, lifeCycleStatesEnum); + } + + @DataProvider(name="deleteArtifactForVFViaExternalAPI") + public static Object[][] dataProviderDeleteArtifactForVFViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "DCAE_JSON"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_POLICY"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_EVENT"}, + {LifeCycleStatesEnum.CHECKOUT, "APPC_CONFIG"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_DOC"}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_TOSCA"}, + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML"}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CHECKOUT, "VF_LICENSE"}, + {LifeCycleStatesEnum.CHECKOUT, "VENDOR_LICENSE"}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + + {LifeCycleStatesEnum.CHECKIN, "DCAE_JSON"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_POLICY"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_EVENT"}, + {LifeCycleStatesEnum.CHECKIN, "APPC_CONFIG"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_DOC"}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_TOSCA"}, + {LifeCycleStatesEnum.CHECKIN, "YANG_XML"}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CHECKIN, "VF_LICENSE"}, + {LifeCycleStatesEnum.CHECKIN, "VENDOR_LICENSE"}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CHECKIN, "OTHER"}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_JSON"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_POLICY"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_EVENT"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "APPC_CONFIG"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_DOC"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_TOSCA"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VF_LICENSE"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VENDOR_LICENSE"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC"}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER"}, + }; + } + + + // Delete artifact for VF - Success + @Test(dataProvider="deleteArtifactForVFViaExternalAPI") + public void deleteArtifactForVFViaExternalAPI(LifeCycleStatesEnum lifeCycleStatesEnum, String artifactType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("lifeCycleStatesEnum: %s, artifactType: %s", lifeCycleStatesEnum, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.RESOURCE, LifeCycleStatesEnum.CHECKOUT, artifactType, null); + deleteArtifactOnAssetViaExternalAPI(component, ComponentTypeEnum.RESOURCE, lifeCycleStatesEnum); + } + + @DataProvider(name="deleteArtifactForVfcVlCpViaExternalAPI") + public static Object[][] dataProviderDeleteArtifactForVfcVlCpViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "VF_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "VENDOR_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "VF_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "VENDOR_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CHECKOUT, "YANG_XML", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "VNF_CATALOG", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "VF_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "VENDOR_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "MODEL_QUERY_SPEC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "OTHER", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.CP}, + + {LifeCycleStatesEnum.CHECKIN, "YANG_XML", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "VF_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "VENDOR_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "OTHER", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CHECKIN, "YANG_XML", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "VF_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "VENDOR_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "OTHER", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CHECKIN, "YANG_XML", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "VNF_CATALOG", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "VF_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "VENDOR_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "MODEL_QUERY_SPEC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "OTHER", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.CP}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VF_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VENDOR_LICENSE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VF_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VENDOR_LICENSE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "YANG_XML", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VNF_CATALOG", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VF_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "VENDOR_LICENSE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_INVENTORY_PROFILE", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "MODEL_QUERY_SPEC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "OTHER", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.CP} + }; + } + + + // Delete artifact for VFC, VL, CP - Success + @Test(dataProvider="deleteArtifactForVfcVlCpViaExternalAPI") + public void deleteArtifactForVfcVlCpViaExternalAPI(LifeCycleStatesEnum lifeCycleStatesEnum, String artifactType, ResourceTypeEnum resourceTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("lifeCycleStatesEnum: %s, artifactType: %s, resourceTypeEnum: %s", lifeCycleStatesEnum, artifactType, resourceTypeEnum)); + Component component = uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.RESOURCE, LifeCycleStatesEnum.CHECKOUT, artifactType, resourceTypeEnum); + deleteArtifactOnAssetViaExternalAPI(component, ComponentTypeEnum.RESOURCE, lifeCycleStatesEnum); + } + + @DataProvider(name="deleteArtifactOnRIViaExternalAPI") + public static Object[][] dataProviderDeleteArtifactOnRIViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA", null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_JSON", null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_POLICY", null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_DOC", null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_BLUEPRINT", null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_EVENT", null}, + + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA", null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_JSON", null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_POLICY", null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_DOC", null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_BLUEPRINT", null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_EVENT", null}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VF}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VF}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VF}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VF}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VF}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VF} + + }; + } + + + + + + @Test(dataProvider="deleteArtifactOnRIViaExternalAPI") + public void deleteArtifactOnRIViaExternalAPI(LifeCycleStatesEnum chosenLifeCycleState, String artifactType, ResourceTypeEnum resourceTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("chosenLifeCycleState: %s, artifactType: %s", chosenLifeCycleState, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.RESOURCE_INSTANCE, LifeCycleStatesEnum.CHECKOUT, artifactType, resourceTypeEnum); + deleteArtifactOnAssetViaExternalAPI(component, ComponentTypeEnum.RESOURCE_INSTANCE, chosenLifeCycleState); + } + + + @DataProvider(name="deleteArtifactOnVfcVlCpRIViaExternalAPI") + public static Object[][] dataProviderDeleteArtifactOnVfcVlCpRIViaExternalAPI() { + return new Object[][] { + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.VFC, null}, + + + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.VL, null}, + + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_JSON", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_DOC", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_POLL", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKOUT, "SNMP_TRAP", ResourceTypeEnum.CP, null}, + + + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.VFC, null}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.VFC, null}, + + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.VL, null}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.VL, null}, + + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_JSON", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_DOC", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_POLL", ResourceTypeEnum.CP, null}, + {LifeCycleStatesEnum.CHECKIN, "SNMP_TRAP", ResourceTypeEnum.CP, null}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.VFC}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.VFC}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_JSON", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_DOC", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.VL}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.VL}, + + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_JSON", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_POLICY", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_DOC", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_BLUEPRINT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "DCAE_INVENTORY_EVENT", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_POLL", ResourceTypeEnum.CP}, + {LifeCycleStatesEnum.CERTIFICATIONREQUEST, "SNMP_TRAP", ResourceTypeEnum.CP} + + }; + } + + + + + + @Test(dataProvider="deleteArtifactOnVfcVlCpRIViaExternalAPI") + public void deleteArtifactOnVfcVlCpRIViaExternalAPI(LifeCycleStatesEnum chosenLifeCycleState, String artifactType, ResourceTypeEnum resourceTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("chosenLifeCycleState: %s, artifactType: %s", chosenLifeCycleState, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(ComponentTypeEnum.RESOURCE_INSTANCE, LifeCycleStatesEnum.CHECKOUT, artifactType, resourceTypeEnum); + deleteArtifactOnAssetViaExternalAPI(component, ComponentTypeEnum.RESOURCE_INSTANCE, chosenLifeCycleState); + } + + + @DataProvider(name="deleteArtifactOnVFViaExternalAPIByDiffrentUserThenCreatorOfAsset") + public static Object[][] dataProviderDeleteArtifactOnVFViaExternalAPIByDiffrentUserThenCreatorOfAsset() { + return new Object[][] { + {ComponentTypeEnum.RESOURCE, UserRoleEnum.DESIGNER2, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.DESIGNER2, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.DESIGNER2, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA"}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.TESTER, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.ADMIN, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.ADMIN, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.ADMIN, LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA"}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.ADMIN, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.ADMIN, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.ADMIN, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA"}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.OPS, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, +// + {ComponentTypeEnum.RESOURCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA"}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.GOVERNOR, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA"}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_STRATEGIST1, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + + {ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKIN, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKIN, "DCAE_INVENTORY_TOSCA"}, + {ComponentTypeEnum.RESOURCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.SERVICE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, UserRoleEnum.PRODUCT_MANAGER1, LifeCycleStatesEnum.CHECKOUT, "DCAE_INVENTORY_TOSCA"}, + }; + } + - if (operationType.toLowerCase().equals("upload")) { - restResponse = ArtifactRestUtils.externalAPIUploadArtifactOfTheAsset(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.valueOf(specificUser.toUpperCase())), - artifactReqDetails); - System.out.println("1234"); + // External API + // Delete artifact by diffrent user then creator of asset - Fail + @Test(dataProvider="deleteArtifactOnVFViaExternalAPIByDiffrentUserThenCreatorOfAsset") + public void deleteArtifactOnVFViaExternalAPIByDiffrentUserThenCreatorOfAsset(ComponentTypeEnum componentTypeEnum, UserRoleEnum userRoleEnum, LifeCycleStatesEnum lifeCycleStatesEnum, String artifactType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("componentTypeEnum: %s, userRoleEnum %s, lifeCycleStatesEnum %s, artifactType: %s", componentTypeEnum, userRoleEnum, lifeCycleStatesEnum, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(componentTypeEnum, lifeCycleStatesEnum, artifactType, null); + Map<String, ArtifactDefinition> deploymentArtifacts = getDeploymentArtifactsOfAsset(component, componentTypeEnum); + + String artifactUUID = null; + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci")) { + artifactUUID = deploymentArtifacts.get(key).getArtifactUUID(); + break; + } + } + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESTRICTED_OPERATION.name()); + List<String> variables = asList(); + + if(componentTypeEnum.equals(ComponentTypeEnum.RESOURCE_INSTANCE)) { + deleteArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(userRoleEnum), + 409, component.getComponentInstances().get(0), artifactUUID, errorInfo, variables, lifeCycleStatesEnum); + } else { + deleteArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(userRoleEnum), + 409, null, artifactUUID, errorInfo, variables, lifeCycleStatesEnum); } + + //TODO +// downloadResourceDeploymentArtifactExternalAPI(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactUUID, componentTypeEnum); + } + + + @DataProvider(name="deleteArtifactOnAssetWhichNotExist") + public static Object[][] dataProviderDeleteArtifactOnAssetWhichNotExist() { + return new Object[][] { + {ComponentTypeEnum.SERVICE, "OTHER", null}, + {ComponentTypeEnum.RESOURCE, "OTHER", null}, + {ComponentTypeEnum.RESOURCE_INSTANCE, "DCAE_INVENTORY_TOSCA", ResourceTypeEnum.VF}, + }; + } + - ArtifactDefinition artifactJavaObject = ResponseParser - .convertArtifactDefinitionResponseToJavaObject(restResponse.getResponse()); - AuditingActionEnum action = AuditingActionEnum.ARTIFACT_UPLOAD_BY_API; - ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditSuccess( - AssetTypeEnum.RESOURCES, action, artifactJavaObject, resourceUUID); - AuditValidationUtils.validateExternalAudit(expectedExternalAudit, - AuditingActionEnum.ARTIFACT_UPLOAD_BY_API.getName(), null); - } - - // @Test - // public void artifactViaExternalAPI() throws Exception { - // // Method passed variable - // String operationType = "Upload"; - // String assetType = "vf"; - // LifeCycleStatesEnum chosenLifeCycleState = LifeCycleStatesEnum.CHECKOUT; - // String componentInstanceAssetType = "vf"; - // LifeCycleStatesEnum componentInstanceChosenLifeCycleState = - // LifeCycleStatesEnum.CHECKOUT; - // UserRoleEnum creatorUser = UserRoleEnum.DESIGNER; - // String specificUser = "DESIGNER"; - // String artifactType = "HEAT"; - // - // - // Component resourceDetails = null; - // Component resourceInstanceDetails = null; - // ComponentInstance componentResourceInstanceDetails = null; - // - // String resourceUUID = null; - // String resourceType = null; - // String resourceInstanceName = null; - // - // // Create resource & resource instance of requested type and state - // if (assetType.toLowerCase().equals("vf")) { - // resourceDetails = getComponentInTargetLifeCycleState("vf", creatorUser, - // chosenLifeCycleState); - // } else if (assetType.toLowerCase().equals("service")) { - // resourceDetails = getComponentInTargetLifeCycleState("service", - // creatorUser, chosenLifeCycleState); - // } else if (assetType.toLowerCase().equals("ri")) { - // resourceInstanceDetails = getComponentInTargetLifeCycleState("vf", - // creatorUser, chosenLifeCycleState); - // if(componentInstanceAssetType.toLowerCase().equals("vf")) { - // resourceDetails = getComponentInTargetLifeCycleState("vf", creatorUser, - // componentInstanceChosenLifeCycleState); - // componentResourceInstanceDetails = - // AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceInstanceDetails, - // resourceDetails, UserRoleEnum.DESIGNER, true).left().value(); - // } else if (componentInstanceAssetType.toLowerCase().equals("service")) { - // resourceDetails = getComponentInTargetLifeCycleState("service", - // creatorUser, componentInstanceChosenLifeCycleState); - // componentResourceInstanceDetails = - // AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceInstanceDetails, - // resourceDetails, UserRoleEnum.DESIGNER, true).left().value(); - // } else { - // Assert.assertEquals(false, true, "Component instance asset type is - // wrong."); - // } - // } else { - // Assert.assertEquals(false, true, "Asset type is wrong."); - // } - // - // - // // print uuid & resource instance name - // if (assetType.toLowerCase().equals("ri")) { - // resourceUUID = resourceDetails.getUUID(); - // resourceInstanceName = - // componentResourceInstanceDetails.getNormalizedName(); - // - // - // System.out.println("Resource UUID: " + resourceUUID); - // System.out.println("Resource instance name: " + resourceInstanceName); - // System.out.println("Resource type: " + resourceType); - // } else { - // resourceUUID = resourceDetails.getUUID(); - // - // System.out.println("Resource UUID: " + resourceUUID); - // System.out.println("Resource type: " + resourceType); - // } - // - // // get artifact data - // ArtifactReqDetails artifactReqDetails = - // ElementFactory.getArtifactByType("Abcd", artifactType, true); - // - //// RestResponse restResponse; - // // using rest external api - //// if(operationType.toLowerCase().equals("upload")) { - //// if (!assetType.toLowerCase().equals("ri")) { - // RestResponse restResponse = - // ArtifactRestUtils.externalAPIUploadArtifactOfTheAsset(resourceDetails, - // ElementFactory.getDefaultUser(UserRoleEnum.valueOf(specificUser.toUpperCase())), - // artifactReqDetails); - // System.out.println("1234"); - //// } else { - //// - //// } - //// } else { - //// - //// } - // - // ArtifactDefinition artifactJavaObject = - // ResponseParser.convertArtifactDefinitionResponseToJavaObject(restResponse.getResponse()); - //// AuditingActionEnum action = AuditingActionEnum.ARTIFACT_UPLOAD_BY_API; - // AuditingActionEnum action = AuditingActionEnum.ARTIFACT_UPLOAD_BY_API; - // ExpectedExternalAudit expectedExternalAudit = - // ElementFactory.getDefaultExternalArtifactAuditSuccess(AssetTypeEnum.RESOURCES, - // action, artifactJavaObject, resourceUUID); - // AuditValidationUtils.validateExternalAudit(expectedExternalAudit, - // AuditingActionEnum.ARTIFACT_UPLOAD_BY_API.getName(), null); - // - // - // - // - // } - // - - @Test - public void getResourceAssetMetadataWithNonCertifiedResourceInstancesAndArtifactsSuccess() throws Exception { - - Resource resourceVF = AtomicOperationUtils - .createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); - Resource resource2 = AtomicOperationUtils - .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value(); - resource2 = (Resource) AtomicOperationUtils - .changeComponentState(resource2, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft(); - Resource resource3 = AtomicOperationUtils - .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value(); - resource3 = (Resource) AtomicOperationUtils - .changeComponentState(resource3, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFICATIONREQUEST, true) - .getLeft(); - - AtomicOperationUtils.addComponentInstanceToComponentContainer(resource2, resourceVF, UserRoleEnum.DESIGNER, - true); - AtomicOperationUtils.addComponentInstanceToComponentContainer(resource3, resourceVF, UserRoleEnum.DESIGNER, - true); - // TODO - Either<ArtifactDefinition, RestResponse> artifactDefinition = AtomicOperationUtils - .uploadArtifactByType(ArtifactTypeEnum.VENDOR_LICENSE, resourceVF, UserRoleEnum.DESIGNER, true, true); - AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.APPC_CONFIG, resourceVF, UserRoleEnum.DESIGNER, true, - true); - resourceVF = ResponseParser.parseToObjectUsingMapper( - ResourceRestUtils.getResource(resourceVF.getUniqueId()).getResponse(), Resource.class); - - RestResponse assetResponse = AssetRestUtils.getAssetMetadataByAssetTypeAndUuid(true, AssetTypeEnum.RESOURCES, - resourceVF.getUUID()); - BaseRestUtils.checkSuccess(assetResponse); - - ResourceDetailedAssetStructure resourceAssetMetadata = AssetRestUtils.getResourceAssetMetadata(assetResponse); - AssetRestUtils.resourceMetadataValidatior(resourceAssetMetadata, resourceVF, AssetTypeEnum.RESOURCES); - - // Validate audit message - ExpectedExternalAudit expectedAssetListAudit = ElementFactory - .getDefaultAssetMetadataAudit(AssetTypeEnum.RESOURCES, resourceVF); - // AuditValidationUtils.validateAudit(expectedAssetListAudit, - // AuditingActionEnum.GET_ASSET_METADATA.getName(), null); - - } - - public Component getComponentInTargetLifeCycleState(String componentType, UserRoleEnum creatorUser, - LifeCycleStatesEnum targetLifeCycleState) throws Exception { - Component resourceDetails = null; + // External API + // Upload artifact on VF via external API - happy flow + @Test(dataProvider="deleteArtifactOnAssetWhichNotExist") + public void deleteArtifactOnAssetWhichNotExist(ComponentTypeEnum componentTypeEnum, String artifactType, ResourceTypeEnum resourceTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("componentTypeEnum: %s, artifactType: %s", componentTypeEnum, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(componentTypeEnum, LifeCycleStatesEnum.CHECKIN, artifactType, resourceTypeEnum); + + Map<String, ArtifactDefinition> deploymentArtifacts = getDeploymentArtifactsOfAsset(component, componentTypeEnum); + + String artifactUUID = null; + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci")) { + artifactUUID = deploymentArtifacts.get(key).getArtifactUUID(); + break; + } + } + + // Invalid artifactUUID + String invalidArtifactUUID = "12341234-1234-1234-1234-123412341234"; + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_NOT_FOUND.name()); + List<String> variables = asList(invalidArtifactUUID); + + if(componentTypeEnum.equals(ComponentTypeEnum.RESOURCE_INSTANCE)) { + deleteArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 404, component.getComponentInstances().get(0), invalidArtifactUUID, errorInfo, variables, null); + } else { + deleteArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 404, null, invalidArtifactUUID, errorInfo, variables, null); - if (componentType.toLowerCase().equals("vf")) { - Either<Resource, RestResponse> createdResource = AtomicOperationUtils - .createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VF, NormativeTypesEnum.ROOT, - ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, creatorUser, true); - resourceDetails = createdResource.left().value(); - resourceDetails = AtomicOperationUtils - .changeComponentState(resourceDetails, creatorUser, targetLifeCycleState, true).getLeft(); + } + + + // Invalid componentUUID + if(componentTypeEnum.equals(ComponentTypeEnum.RESOURCE_INSTANCE)) { + component.getComponentInstances().get(0).setNormalizedName("invalidNormalizedName"); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_INSTANCE_NOT_FOUND_ON_CONTAINER.name()); + variables = asList("invalidNormalizedName", ComponentTypeEnum.RESOURCE_INSTANCE.getValue().toLowerCase(), ComponentTypeEnum.SERVICE.getValue(), component.getName()); + deleteArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 404, component.getComponentInstances().get(0), artifactUUID, errorInfo, variables, LifeCycleStatesEnum.CHECKIN); } else { - Either<Service, RestResponse> createdResource = AtomicOperationUtils.createDefaultService(creatorUser, - true); - resourceDetails = createdResource.left().value(); - resourceDetails = AtomicOperationUtils - .changeComponentState(resourceDetails, creatorUser, targetLifeCycleState, true).getLeft(); + component.setUUID("invalidComponentUUID"); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESOURCE_NOT_FOUND.name()); + variables = asList("null"); + deleteArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 404, null, artifactUUID, errorInfo, variables, LifeCycleStatesEnum.CHECKIN); } + + - return resourceDetails; + + } + + @DataProvider(name="deleteArtifactOnAssetWhichInInvalidStateForUploading") + public static Object[][] dataProviderDeleteArtifactOnAssetWhichInInvalidStateForUploading() { + return new Object[][] { + {ComponentTypeEnum.SERVICE, "OTHER"}, + {ComponentTypeEnum.RESOURCE, "OTHER"}, + {ComponentTypeEnum.RESOURCE_INSTANCE, "DCAE_INVENTORY_TOSCA"}, + }; + } + + + @Test(dataProvider="deleteArtifactOnAssetWhichInInvalidStateForUploading") + public void deleteArtifactOnAssetWhichInInvalidStateForUploading(ComponentTypeEnum componentTypeEnum, String artifactType) throws Exception { + extendTest.log(LogStatus.INFO, String.format("componentTypeEnum: %s, artifactType: %s", componentTypeEnum, artifactType)); + Component component = uploadArtifactOnAssetViaExternalAPI(componentTypeEnum, LifeCycleStatesEnum.CHECKOUT, artifactType, null); + component = AtomicOperationUtils.changeComponentState(component, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.STARTCERTIFICATION, true).getLeft(); + + Map<String, ArtifactDefinition> deploymentArtifacts = getDeploymentArtifactsOfAsset(component, componentTypeEnum); + String artifactUUID = null; + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci")) { + artifactUUID = deploymentArtifacts.get(key).getArtifactUUID(); + break; + } + } + + + // Invalid artifactUUID + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name()); + List<String> variables = asList(component.getName(), component.getComponentType().toString().toLowerCase(), ElementFactory.getDefaultUser(UserRoleEnum.TESTER).getFirstName(), + ElementFactory.getDefaultUser(UserRoleEnum.TESTER).getLastName(), ElementFactory.getDefaultUser(UserRoleEnum.TESTER).getUserId()); + + if(componentTypeEnum.equals(ComponentTypeEnum.RESOURCE_INSTANCE)) { + deleteArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 403, component.getComponentInstances().get(0), artifactUUID, errorInfo, variables, null); + } else { + deleteArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 403, null, artifactUUID, errorInfo, variables, null); + + } + + } + + + @DataProvider(name="deleteArtifactOfVfcVlCpForVfciVliCpiViaExternalAPI") + public static Object[][] dataProviderDeleteArtifactOfVfcVlCpForVfciVliCpiViaExternalAPI() { + return new Object[][] { + {ResourceTypeEnum.VFC}, + {ResourceTypeEnum.VL}, + {ResourceTypeEnum.CP} + }; } + + + // Verify that it cannot delete VFC/VL/CP artifact on VFCi/VLi/CPi - Failure flow + @Test(dataProvider="deleteArtifactOfVfcVlCpForVfciVliCpiViaExternalAPI") + public void deleteArtifactOfVfcVlCpForVfciVliCpiViaExternalAPI(ResourceTypeEnum resourceTypeEnum) throws Exception { + extendTest.log(LogStatus.INFO, String.format("resourceTypeEnum: %s", resourceTypeEnum)); + + Component resourceInstanceDetails = getComponentInTargetLifeCycleState(ComponentTypeEnum.RESOURCE.getValue(), UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, resourceTypeEnum); + ArtifactReqDetails artifactReqDetails = ElementFactory.getArtifactByType("ci", "SNMP_TRAP", true, false); + uploadArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(resourceInstanceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactReqDetails, 200); + resourceInstanceDetails = AtomicOperationUtils.changeComponentState(resourceInstanceDetails, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft(); + Component component = getComponentInTargetLifeCycleState(ComponentTypeEnum.RESOURCE.toString(), UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, null); + AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceInstanceDetails, component, UserRoleEnum.DESIGNER, true).left().value(); + component = AtomicOperationUtils.getResourceObjectByNameAndVersion(UserRoleEnum.DESIGNER, component.getName(), component.getVersion()); + + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_NOT_FOUND.name()); + Map<String, ArtifactDefinition> deploymentArtifacts; + deploymentArtifacts = getDeploymentArtifactsOfAsset(component, ComponentTypeEnum.RESOURCE_INSTANCE); + String artifactUUID = null; + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci") && !key.endsWith("env")) { + artifactUUID = deploymentArtifacts.get(key).getArtifactUUID(); + break; + } + } + List<String> variables = asList(artifactUUID); + deleteArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + 404, component.getComponentInstances().get(0), artifactUUID, errorInfo, variables, null); + } + + protected RestResponse deleteArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(Component resourceDetails, User sdncModifierDetails, + Integer expectedResponseCode, ComponentInstance componentInstance, String artifactUUID, ErrorInfo errorInfo, List<String> variables, LifeCycleStatesEnum lifeCycleStatesEnum) throws Exception { + RestResponse restResponse; + + if(componentInstance != null) { + restResponse = ArtifactRestUtils.externalAPIDeleteArtifactOfComponentInstanceOnAsset(resourceDetails, sdncModifierDetails, componentInstance, artifactUUID); + } else { + restResponse = ArtifactRestUtils.externalAPIDeleteArtifactOfTheAsset(resourceDetails, sdncModifierDetails, artifactUUID); - // // External API - Download artifact for resource - negative test - // @Test - // public void k() throws Exception { - // Resource resourceDetailsVF; - // Either<Resource, RestResponse> createdResource = - // AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VF, - // NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, - // UserRoleEnum.DESIGNER, true); - // resourceDetailsVF = createdResource.left().value(); - // ArtifactDefinition heatArtifact = - // AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, - // resourceDetailsVF, UserRoleEnum.DESIGNER, true, true).left().value(); - // resourceDetails = new ResourceReqDetails(resourceDetailsVF); - // - // String resourceUUID = resourceDetailsVF.getUUID(); - // String artifactUUID = heatArtifact.getArtifactUUID(); - // - // System.out.println("Resource UUID: " + resourceUUID); - // System.out.println("Artifact UUID: " + artifactUUID); - // - // RestResponse restResponse = - // ArtifactRestUtils.getResourceDeploymentArtifactExternalAPI(resourceUUID, - // "dfsgfdsg324", ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), - // "Resource"); - // - // Integer responseCode = restResponse.getErrorCode(); - // Integer expectedCode = 200; - // Assert.assertEquals(responseCode,expectedCode, "Response code is not - // correct."); - // } - // - // - // - // - // - // // External API - Download artifact for service - negative test - // @Test - // public void downloadArtifactFromServiceViaExternalAPI() throws Exception - // { - // - // Service resourceDetailsService; - // Either<Service, RestResponse> createdResource = - // AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true); - // resourceDetailsService = createdResource.left().value(); - // - // ArtifactDefinition heatArtifact = - // AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.OTHER, - // resourceDetailsService, UserRoleEnum.DESIGNER, true, - // true).left().value(); - // - // String resourceUUID = resourceDetailsService.getUUID(); - // String artifactUUID = heatArtifact.getArtifactUUID(); - // - // System.out.println("Resource UUID: " + resourceUUID); - // System.out.println("Artifact UUID: " + artifactUUID); - // - // RestResponse restResponse = - // ArtifactRestUtils.getResourceDeploymentArtifactExternalAPI(resourceUUID, - // artifactUUID, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), - // "Service"); - // - // Integer responseCode = restResponse.getErrorCode(); - // Integer expectedCode = 200; - // Assert.assertEquals(responseCode,expectedCode, "Response code is not - // correct."); - // - // String response = restResponse.getResponse(); - // - // String payloadData = - // "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9"; - // String decodedPaypload = Decoder.decode(payloadData); - // - // Assert.assertEquals(response, decodedPaypload, "Response deployment - // artifact not correct."); - // - // String auditAction = "ArtifactDownload"; - // - // ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new - // ExpectedResourceAuditJavaObject(); - // expectedResourceAuditJavaObject.setAction(auditAction); - // expectedResourceAuditJavaObject.setResourceName(resourceDetailsService.getName()); - // expectedResourceAuditJavaObject.setResourceType("Service"); - // expectedResourceAuditJavaObject.setStatus("200"); - // expectedResourceAuditJavaObject.setDesc("OK"); - // - // expectedResourceAuditJavaObject.setCONSUMER_ID("ci"); - // String resource_url = - // String.format("/asdc/v1/catalog/services/%s/artifacts/%s", resourceUUID, - // artifactUUID); - // expectedResourceAuditJavaObject.setRESOURCE_URL(resource_url); - // - // AuditValidationUtils.validateAuditDownloadExternalAPI(expectedResourceAuditJavaObject, - // auditAction, null, false); - // } - // - // - // - // - // - // - // // External API - Download ComponentInstance artifact of service - - // negative test - // @Test - // public void - // downloadArtifactOfComponentInstanceFromServiceViaExternalAPI() throws - // Exception { - // - // Either<Resource, RestResponse> resourceDetailsVF_01e = - // AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VF, - // NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, - // UserRoleEnum.DESIGNER, true); - // Component resourceDetailsVF_01 = resourceDetailsVF_01e.left().value(); - // ArtifactDefinition heatArtifact = - // AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, - // resourceDetailsVF_01, UserRoleEnum.DESIGNER, true, true).left().value(); - // - // resourceDetailsVF_01 = - // AtomicOperationUtils.changeComponentState(resourceDetailsVF_01, - // UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft(); - // - // Service resourceDetailsService; - // Either<Service, RestResponse> createdResource = - // AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true); - // resourceDetailsService = createdResource.left().value(); - // - // - // ComponentInstance resourceDetailsVF1ins_01 = - // AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceDetailsVF_01, - // resourceDetailsService, UserRoleEnum.DESIGNER, true).left().value(); - // - // - // System.out.println("-----"); - // - // - // String resourceUUID = resourceDetailsService.getUUID(); - // String componentInstanceUID = resourceDetailsVF1ins_01.getUniqueId(); - // String artifactUUID = heatArtifact.getArtifactUUID(); - // - // System.out.println("Resource UUID: " + resourceUUID); - // System.out.println("Component instance UID: " + componentInstanceUID); - // System.out.println("Artifact UUID: " + artifactUUID); - // - // RestResponse restResponse = - // ArtifactRestUtils.getComponentInstanceDeploymentArtifactExternalAPI(resourceUUID, - // componentInstanceUID, artifactUUID, - // ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), "Service"); - //// - // Integer responseCode = restResponse.getErrorCode(); - // Integer expectedCode = 200; - // Assert.assertEquals(responseCode,expectedCode, "Response code is not - // correct."); - // - // String response = restResponse.getResponse(); - // - // String payloadData = - // "aGVhdF90ZW1wbGF0ZV92ZXJzaW9uOiAyMDEzLTA1LTIzDQoNCmRlc2NyaXB0aW9uOiBTaW1wbGUgdGVtcGxhdGUgdG8gZGVwbG95IGEgc3RhY2sgd2l0aCB0d28gdmlydHVhbCBtYWNoaW5lIGluc3RhbmNlcw0KDQpwYXJhbWV0ZXJzOg0KICBpbWFnZV9uYW1lXzE6DQogICAgdHlwZTogc3RyaW5nDQogICAgbGFiZWw6IEltYWdlIE5hbWUNCiAgICBkZXNjcmlwdGlvbjogU0NPSU1BR0UgU3BlY2lmeSBhbiBpbWFnZSBuYW1lIGZvciBpbnN0YW5jZTENCiAgICBkZWZhdWx0OiBjaXJyb3MtMC4zLjEteDg2XzY0DQogIGltYWdlX25hbWVfMjoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogSW1hZ2UgTmFtZQ0KICAgIGRlc2NyaXB0aW9uOiBTQ09JTUFHRSBTcGVjaWZ5IGFuIGltYWdlIG5hbWUgZm9yIGluc3RhbmNlMg0KICAgIGRlZmF1bHQ6IGNpcnJvcy0wLjMuMS14ODZfNjQNCiAgbmV0d29ya19pZDoNCiAgICB0eXBlOiBzdHJpbmcNCiAgICBsYWJlbDogTmV0d29yayBJRA0KICAgIGRlc2NyaXB0aW9uOiBTQ09ORVRXT1JLIE5ldHdvcmsgdG8gYmUgdXNlZCBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UNCiAgICBoaWRkZW46IHRydWUNCiAgICBjb25zdHJhaW50czoNCiAgICAgIC0gbGVuZ3RoOiB7IG1pbjogNiwgbWF4OiA4IH0NCiAgICAgICAgZGVzY3JpcHRpb246IFBhc3N3b3JkIGxlbmd0aCBtdXN0IGJlIGJldHdlZW4gNiBhbmQgOCBjaGFyYWN0ZXJzLg0KICAgICAgLSByYW5nZTogeyBtaW46IDYsIG1heDogOCB9DQogICAgICAgIGRlc2NyaXB0aW9uOiBSYW5nZSBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3ZhbHVlczoNCiAgICAgICAgLSBtMS5zbWFsbA0KICAgICAgICAtIG0xLm1lZGl1bQ0KICAgICAgICAtIG0xLmxhcmdlDQogICAgICAgIGRlc2NyaXB0aW9uOiBBbGxvd2VkIHZhbHVlcyBkZXNjcmlwdGlvbg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbYS16QS1aMC05XSsiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IGNvbnNpc3Qgb2YgY2hhcmFjdGVycyBhbmQgbnVtYmVycyBvbmx5Lg0KICAgICAgLSBhbGxvd2VkX3BhdHRlcm46ICJbQS1aXStbYS16QS1aMC05XSoiDQogICAgICAgIGRlc2NyaXB0aW9uOiBQYXNzd29yZCBtdXN0IHN0YXJ0IHdpdGggYW4gdXBwZXJjYXNlIGNoYXJhY3Rlci4NCiAgICAgIC0gY3VzdG9tX2NvbnN0cmFpbnQ6IG5vdmEua2V5cGFpcg0KICAgICAgICBkZXNjcmlwdGlvbjogQ3VzdG9tIGRlc2NyaXB0aW9uDQoNCnJlc291cmNlczoNCiAgbXlfaW5zdGFuY2UxOg0KICAgIHR5cGU6IE9TOjpOb3ZhOjpTZXJ2ZXINCiAgICBwcm9wZXJ0aWVzOg0KICAgICAgaW1hZ2U6IHsgZ2V0X3BhcmFtOiBpbWFnZV9uYW1lXzEgfQ0KICAgICAgZmxhdm9yOiBtMS5zbWFsbA0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9DQogIG15X2luc3RhbmNlMjoNCiAgICB0eXBlOiBPUzo6Tm92YTo6U2VydmVyDQogICAgcHJvcGVydGllczoNCiAgICAgIGltYWdlOiB7IGdldF9wYXJhbTogaW1hZ2VfbmFtZV8yIH0NCiAgICAgIGZsYXZvcjogbTEudGlueQ0KICAgICAgbmV0d29ya3M6DQogICAgICAgIC0gbmV0d29yayA6IHsgZ2V0X3BhcmFtIDogbmV0d29ya19pZCB9"; - // String decodedPaypload = Decoder.decode(payloadData); - // - // Assert.assertEquals(response, decodedPaypload, "Response deployment - // artifact not correct."); - // - // String auditAction = "ArtifactDownload"; - // - // ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new - // ExpectedResourceAuditJavaObject(); - // expectedResourceAuditJavaObject.setAction(auditAction); - // expectedResourceAuditJavaObject.setResourceName(resourceDetailsVF1ins_01.getName()); - // expectedResourceAuditJavaObject.setResourceType("Service"); - // expectedResourceAuditJavaObject.setStatus("200"); - // expectedResourceAuditJavaObject.setDesc("OK"); - // - // expectedResourceAuditJavaObject.setCONSUMER_ID("ci"); - // String resource_url = - // String.format("/asdc/v1/catalog/services/%s/resourceInstances/%s/artifacts/%s", - // resourceUUID, componentInstanceUID, artifactUUID); - // expectedResourceAuditJavaObject.setRESOURCE_URL(resource_url); - // - // AuditValidationUtils.validateAuditDownloadExternalAPI(expectedResourceAuditJavaObject, - // auditAction, null, false); - // } - // - // - // - // - // - // - // - // - // - // @Test - // public void downloadArtifactFromResourceTest() throws Exception { - // - // CloseableHttpClient httpclient = HttpClients.createDefault(); - // try { - // String jsonBody = createUploadArtifactBodyJson(); - // - // String resourceId = resourceDetails.getUniqueId(); - // String url = String.format(Urls.ADD_ARTIFACT_TO_RESOURCE, - // config.getCatalogBeHost(), config.getCatalogBePort(), resourceId); - // HttpPost httppost = createPostAddArtifactRequeast(jsonBody, url, true); - // HttpResponse response = httpclient.execute(httppost); - // int status = response.getStatusLine().getStatusCode(); - // AssertJUnit.assertEquals("failed to add artifact", 200, status); - // - // ArtifactDefinition origArtifact = getArtifactDataFromJson(jsonBody); - // addArtifactDataFromResponse(response, origArtifact); - // String artifactId = origArtifact.getUniqueId(); - // - // url = String.format(Urls.UI_DOWNLOAD_RESOURCE_ARTIFACT, - // config.getCatalogBeHost(), config.getCatalogBePort(), resourceId, - // artifactId); - // HttpGet httpGet = createGetRequest(url); - // response = httpclient.execute(httpGet); - // status = response.getStatusLine().getStatusCode(); - // AssertJUnit.assertEquals("failed to download artifact", 200, status); - // - // InputStream inputStream = response.getEntity().getContent(); - // ArtifactUiDownloadData artifactUiDownloadData = - // getArtifactUiDownloadData(IOUtils.toString(inputStream)); - // AssertJUnit.assertEquals("Downloaded payload is different from uploaded - // one", UPLOAD_ARTIFACT_PAYLOAD, - // artifactUiDownloadData.getBase64Contents()); - // AssertJUnit.assertEquals("Downloaded artifact name is different from - // uploaded one", UPLOAD_ARTIFACT_NAME, - // artifactUiDownloadData.getArtifactName()); - // - // // validate audit - // - // ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = - // Convertor.constructFieldsForAuditValidation(resourceDetails, - // resourceDetails.getVersion(), sdncUserDetails); - // String auditAction = "ArtifactDownload"; - // expectedResourceAuditJavaObject.setAction(auditAction); - // expectedResourceAuditJavaObject.setPrevState(""); - // expectedResourceAuditJavaObject.setPrevVersion(""); - // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString()); - // expectedResourceAuditJavaObject.setStatus("200"); - // expectedResourceAuditJavaObject.setDesc("OK"); - // expectedResourceAuditJavaObject.setArtifactData(AuditValidationUtils.buildArtifactDataAudit(origArtifact)); - // expectedResourceAuditJavaObject.setCurrArtifactUuid(origArtifact.getUniqueId()); - // expectedResourceAuditJavaObject.setPrevArtifactUuid(""); - // AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, - // auditAction, null, false); - // - // } finally { - // httpclient.close(); - // } - // - // } - // - // @Test - // public void downloadArtifactFromServiceTest() throws Exception { - // - // CloseableHttpClient httpclient = HttpClients.createDefault(); - // - // try { - // - // String jsonStr = createUploadArtifactBodyJson(); - // - // String url = String.format(Urls.ADD_ARTIFACT_TO_SERVICE, - // config.getCatalogBeHost(), config.getCatalogBePort(), - // serviceDetails.getUniqueId()); - // HttpPost httpPost = createPostAddArtifactRequeast(jsonStr, url, true); - // CloseableHttpResponse result = httpclient.execute(httpPost); - // int status = result.getStatusLine().getStatusCode(); - // AssertJUnit.assertEquals("failed to add artifact", 200, status); - // - // ArtifactDefinition origArtifact = getArtifactDataFromJson(jsonStr); - // addArtifactDataFromResponse(result, origArtifact); - // String artifactId = origArtifact.getUniqueId(); - // - // url = String.format(Urls.UI_DOWNLOAD_SERVICE_ARTIFACT, - // config.getCatalogBeHost(), config.getCatalogBePort(), - // serviceDetails.getUniqueId(), artifactId); - // HttpGet httpGet = createGetRequest(url); - // CloseableHttpResponse response2 = httpclient.execute(httpGet); - // status = response2.getStatusLine().getStatusCode(); - // AssertJUnit.assertEquals("failed to download artifact", 200, status); - // InputStream inputStream = response2.getEntity().getContent(); - // ArtifactUiDownloadData artifactUiDownloadData = - // getArtifactUiDownloadData(IOUtils.toString(inputStream)); - // AssertJUnit.assertEquals("Downloaded payload is different from uploaded - // one", UPLOAD_ARTIFACT_PAYLOAD, - // artifactUiDownloadData.getBase64Contents()); - // AssertJUnit.assertEquals("Downloaded artifact name is different from - // uploaded one", UPLOAD_ARTIFACT_NAME, - // artifactUiDownloadData.getArtifactName()); - // - // // validate audit - // ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = - // AuditValidationUtils.constructFieldsForAuditValidation(serviceDetails, - // serviceDetails.getVersion(), sdncUserDetails); - // String auditAction = "ArtifactDownload"; - // expectedResourceAuditJavaObject.setAction(auditAction); - // expectedResourceAuditJavaObject.setPrevState(""); - // expectedResourceAuditJavaObject.setPrevVersion(""); - // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString()); - // expectedResourceAuditJavaObject.setStatus("200"); - // expectedResourceAuditJavaObject.setDesc("OK"); - // expectedResourceAuditJavaObject.setArtifactData(AuditValidationUtils.buildArtifactDataAudit(origArtifact)); - // expectedResourceAuditJavaObject.setCurrArtifactUuid(origArtifact.getUniqueId()); - // expectedResourceAuditJavaObject.setPrevArtifactUuid(""); - // - // AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, - // auditAction, null, false); - // - // } finally { - //// RestResponse response = ServiceRestUtils.deleteService(serviceDetails, - // serviceVersion, sdncUserDetails ); - //// checkDeleteResponse(response); - // httpclient.close(); - // } - // } - // - // @Test - // public void downloadArtifactFromResourceNotFound() throws Exception { - // - // CloseableHttpClient httpclient = HttpClients.createDefault(); - // try { - // - // String resourceId = resourceDetails.getUniqueId(); - // String artifactIdNotFound = "11111"; - // - // ArtifactDefinition origArtifact = new ArtifactDefinition(); - // origArtifact.setUniqueId(artifactIdNotFound); - // - // String url = String.format(Urls.UI_DOWNLOAD_RESOURCE_ARTIFACT, - // config.getCatalogBeHost(), config.getCatalogBePort(), resourceId, - // artifactIdNotFound); - // HttpGet httpGet = createGetRequest(url); - // CloseableHttpResponse response = httpclient.execute(httpGet); - // int status = response.getStatusLine().getStatusCode(); - // AssertJUnit.assertEquals("expected 404 not found", 404, status); - // - // // validate audit - // ErrorInfo errorInfo = - // ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_NOT_FOUND.name()); - // ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = - // Convertor.constructFieldsForAuditValidation(resourceDetails, - // resourceDetails.getVersion(), sdncUserDetails); - // String auditAction = "ArtifactDownload"; - // expectedResourceAuditJavaObject.setAction(auditAction); - // expectedResourceAuditJavaObject.setPrevState(""); - // expectedResourceAuditJavaObject.setPrevVersion(""); - // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString()); - // expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString()); - // expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc("")); - // expectedResourceAuditJavaObject.setArtifactData(""); - // expectedResourceAuditJavaObject.setCurrArtifactUuid(origArtifact.getUniqueId()); - // expectedResourceAuditJavaObject.setPrevArtifactUuid(""); - // AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, - // auditAction, null, false); - // expectedResourceAuditJavaObject.setPrevArtifactUuid(null); - // } finally { - // httpclient.close(); - // } - // - // } - // - // @Test - // public void downloadArtifactFromServiceNotFound() throws Exception { - // - // CloseableHttpClient httpclient = HttpClients.createDefault(); - // try { - // - // String artifactIdNotFound = "11111"; - // ArtifactDefinition origArtifact = new ArtifactDefinition(); - // origArtifact.setUniqueId(artifactIdNotFound); - // - // String url = String.format(Urls.UI_DOWNLOAD_SERVICE_ARTIFACT, - // config.getCatalogBeHost(), config.getCatalogBePort(), - // serviceDetails.getUniqueId(), artifactIdNotFound); - // HttpGet httpGet = createGetRequest(url); - // CloseableHttpResponse response2 = httpclient.execute(httpGet); - // int status = response2.getStatusLine().getStatusCode(); - // AssertJUnit.assertEquals("expected 404 not found", 404, status); - // - // // validate audit - // ErrorInfo errorInfo = - // ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.ARTIFACT_NOT_FOUND.name()); - // ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = - // ServiceValidationUtils.constructFieldsForAuditValidation(serviceDetails, - // serviceDetails.getVersion(), sdncUserDetails); - // String auditAction = "ArtifactDownload"; - // expectedResourceAuditJavaObject.setAction(auditAction); - // expectedResourceAuditJavaObject.setPrevState(""); - // expectedResourceAuditJavaObject.setPrevVersion(""); - // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString()); - // expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString()); - // expectedResourceAuditJavaObject.setDesc(errorInfo.getAuditDesc("")); - // expectedResourceAuditJavaObject.setArtifactData(""); - // expectedResourceAuditJavaObject.setCurrArtifactUuid(origArtifact.getUniqueId()); - // expectedResourceAuditJavaObject.setPrevArtifactUuid(""); - // AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, - // auditAction, null, false); - // - // } finally { - // httpclient.close(); - // } - // - // } - // - // @Test - // public void addArtifactToResourceTest() throws Exception { - // - // ArtifactReqDetails defaultArtifact = ElementFactory.getDefaultArtifact(); - // - // RestResponse response = - // ArtifactRestUtils.addInformationalArtifactToResource(defaultArtifact, - // sdncUserDetails, resourceDetails.getUniqueId()); - // int status = response.getErrorCode(); - // AssertJUnit.assertEquals("add informational artifact request returned - // status: " + response.getErrorCode(), 200, status); - // - // RestResponse resourceResp = - // ResourceRestUtils.getResource(resourceDetails.getUniqueId()); - // Resource resource = - // ResponseParser.convertResourceResponseToJavaObject(resourceResp.getResponse()); - // AssertJUnit.assertNotNull(resource); - // - // Map<String, ArtifactDefinition> artifacts = resource.getArtifacts(); - // boolean isExist = false; - // for (Map.Entry<String, ArtifactDefinition> entry : artifacts.entrySet()) - // { - // if (entry.getKey().equals(defaultArtifact.getArtifactLabel())) { - // isExist = true; - // - // } - // } - // AssertJUnit.assertTrue(isExist); - // } + } + + // validate response code + Integer responseCode = restResponse.getErrorCode(); + Assert.assertEquals(responseCode, expectedResponseCode, "Response code is not correct."); + + // Check auditing for upload operation + ArtifactDefinition responseArtifact = getArtifactDataFromJson(restResponse.getResponse()); + + AuditingActionEnum action = AuditingActionEnum.ARTIFACT_DELETE_BY_API; + + AssetTypeEnum assetTypeEnum = AssetTypeEnum.valueOf((resourceDetails.getComponentType().getValue() + "s").toUpperCase()); +// ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditSuccess(assetTypeEnum, action, responseArtifact, resourceDetails); + + responseArtifact.setUpdaterFullName(""); + responseArtifact.setUserIdLastUpdater(sdncModifierDetails.getUserId()); + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditFailure(assetTypeEnum, action, responseArtifact, resourceDetails.getUUID(), errorInfo, variables); + expectedExternalAudit.setRESOURCE_NAME(resourceDetails.getName()); + expectedExternalAudit.setRESOURCE_TYPE(resourceDetails.getComponentType().getValue()); + expectedExternalAudit.setARTIFACT_DATA(null); + expectedExternalAudit.setCURR_ARTIFACT_UUID(artifactUUID); + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_STATUS, responseCode.toString()); + if(componentInstance != null) { + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getComponentInstances().get(0).getNormalizedName()); + expectedExternalAudit.setRESOURCE_URL("/asdc/v1/catalog/" + assetTypeEnum.getValue() + "/" + resourceDetails.getUUID() + "/resourceInstances/" + resourceDetails.getComponentInstances().get(0).getNormalizedName() + "/artifacts/" + artifactUUID); + expectedExternalAudit.setRESOURCE_NAME(resourceDetails.getComponentInstances().get(0).getNormalizedName()); + } else { + expectedExternalAudit.setRESOURCE_URL(expectedExternalAudit.getRESOURCE_URL() + "/" + artifactUUID); + if((errorInfo.getMessageId().equals(ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESOURCE_NOT_FOUND.name()).getMessageId())) || + errorInfo.getMessageId().equals(ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name()).getMessageId()) || + (lifeCycleStatesEnum == LifeCycleStatesEnum.STARTCERTIFICATION)) { + expectedExternalAudit.setRESOURCE_NAME(resourceDetails.getName()); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getName()); + } else { + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getName()); + } + } + + AuditValidationUtils.validateExternalAudit(expectedExternalAudit, AuditingActionEnum.ARTIFACT_DELETE_BY_API.getName(), body); + + return restResponse; + + } + + + // Happy flow - get chosen life cycle state, artifact type and asset type + // delete artifact via external API + check audit & response code + protected Component deleteArtifactOnAssetViaExternalAPI(Component component, ComponentTypeEnum componentTypeEnum, LifeCycleStatesEnum chosenLifeCycleState) throws Exception { + String artifactName = null; + component = AtomicOperationUtils.changeComponentState(component, UserRoleEnum.DESIGNER, chosenLifeCycleState, true).getLeft(); + + // get updated artifact data + String artifactUUID = null; + Map<String, ArtifactDefinition> deploymentArtifacts = getDeploymentArtifactsOfAsset(component, componentTypeEnum); + + for (String key : deploymentArtifacts.keySet()) { + if (key.startsWith("ci")) { + artifactName = key; + artifactUUID = deploymentArtifacts.get(key).getArtifactUUID(); + break; + } + } + + + String componentVersionBeforeDelete = component.getVersion(); + int numberOfArtifact = deploymentArtifacts.size(); + + + // create component/s & upload artifact via external api + if(ComponentTypeEnum.RESOURCE_INSTANCE == componentTypeEnum) { + deleteArtifactOfRIIncludingValiditionOfAuditAndResponseCode(component, component.getComponentInstances().get(0), ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactUUID, 200); + } else { + deleteArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactUUID, 200); + } + + component = getNewerVersionOfComponent(component, chosenLifeCycleState); + + // Get list of deployment artifact + download them via external API + deploymentArtifacts = getDeploymentArtifactsOfAsset(component, componentTypeEnum); + if(deploymentArtifacts.get(artifactName) != null) { + Assert.assertTrue(false, "Expected that deletecd artifact will not appear in deployment artifact list."); + } + if((LifeCycleStatesEnum.CERTIFICATIONREQUEST.equals(chosenLifeCycleState)) && (ComponentTypeEnum.RESOURCE_INSTANCE.equals(componentTypeEnum)) && (!component.getComponentType().toString().equals(ComponentTypeEnum.RESOURCE.toString()))) { + Assert.assertEquals(numberOfArtifact - 2, deploymentArtifacts.keySet().size(), "Expected that number of deployment artifact (one deleted and one vfmodule) will decrease by two."); + } else { + Assert.assertEquals(numberOfArtifact - 1, deploymentArtifacts.keySet().size(), "Expected that number of deployment artifact will decrease by one."); + } + + if(chosenLifeCycleState == LifeCycleStatesEnum.CHECKOUT) { + Assert.assertEquals(componentVersionBeforeDelete, component.getVersion(), "Expected that check-out component will not change version number."); + } else { + Assert.assertEquals(String.format("%.1f", (Double.parseDouble(componentVersionBeforeDelete) + 0.1)), component.getVersion(), "Expected that non check-out component version will increase by 0.1."); + } + + downloadResourceDeploymentArtifactExternalAPI(component, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactUUID, componentTypeEnum); + + return component; + } + + // Delete artifact via external API + Check auditing for upload operation + Check response of external API + protected RestResponse deleteArtifactOfRIIncludingValiditionOfAuditAndResponseCode(Component resourceDetails, ComponentInstance componentInstance, User sdncModifierDetails, String artifactUUID, Integer expectedResponseCode) throws Exception { + RestResponse restResponse = ArtifactRestUtils.externalAPIDeleteArtifactOfComponentInstanceOnAsset(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), resourceDetails.getComponentInstances().get(0), artifactUUID); + + // Check response of external API + Integer responseCode = restResponse.getErrorCode(); + Assert.assertEquals(responseCode, expectedResponseCode, "Response code is not correct."); + + + // Check auditing for upload operation + ArtifactDefinition responseArtifact = getArtifactDataFromJson(restResponse.getResponse()); + + AuditingActionEnum action = AuditingActionEnum.ARTIFACT_DELETE_BY_API; + + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, componentInstance.getNormalizedName()); + + AssetTypeEnum assetTypeEnum = AssetTypeEnum.valueOf((resourceDetails.getComponentType().getValue() + "s").toUpperCase()); + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditSuccess(assetTypeEnum, action, responseArtifact, resourceDetails); +// expectedExternalAudit.setRESOURCE_URL(expectedExternalAudit.getRESOURCE_URL()+ "/" + artifactUUID); + expectedExternalAudit.setRESOURCE_NAME(componentInstance.getNormalizedName()); + expectedExternalAudit.setRESOURCE_URL("/asdc/v1/catalog/" + assetTypeEnum.getValue() + "/" + resourceDetails.getUUID() + "/resourceInstances/" + componentInstance.getNormalizedName() + "/artifacts/" + artifactUUID); + AuditValidationUtils.validateExternalAudit(expectedExternalAudit, AuditingActionEnum.ARTIFACT_DELETE_BY_API.getName(), body); + + return restResponse; + } + + + // Delete artifact via external API + Check auditing for upload operation + Check response of external API + protected RestResponse deleteArtifactOfAssetIncludingValiditionOfAuditAndResponseCode(Component resourceDetails, User sdncModifierDetails, String artifactUUID, Integer expectedResponseCode) throws Exception { + RestResponse restResponse = ArtifactRestUtils.externalAPIDeleteArtifactOfTheAsset(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), artifactUUID); + + // Check response of external API + Integer responseCode = restResponse.getErrorCode(); + Assert.assertEquals(responseCode, expectedResponseCode, "Response code is not correct."); + + + // Check auditing for upload operation + ArtifactDefinition responseArtifact = getArtifactDataFromJson(restResponse.getResponse()); + + AuditingActionEnum action = AuditingActionEnum.ARTIFACT_DELETE_BY_API; + + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getName()); + + AssetTypeEnum assetTypeEnum = AssetTypeEnum.valueOf((resourceDetails.getComponentType().getValue() + "s").toUpperCase()); + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalArtifactAuditSuccess(assetTypeEnum, action, responseArtifact, resourceDetails); + expectedExternalAudit.setRESOURCE_URL(expectedExternalAudit.getRESOURCE_URL()+ "/" + artifactUUID); + AuditValidationUtils.validateExternalAudit(expectedExternalAudit, AuditingActionEnum.ARTIFACT_DELETE_BY_API.getName(), body); + + return restResponse; + } + + + + // download deployment via external api + check response code for success (200) + get artifactReqDetails and verify payload + verify audit + protected RestResponse downloadResourceDeploymentArtifactExternalAPI(Component resourceDetails, User sdncModifierDetails, String artifactUUID, ComponentTypeEnum componentTypeEnum) throws Exception { + RestResponse restResponse; + + if(componentTypeEnum == ComponentTypeEnum.RESOURCE_INSTANCE) { + restResponse = ArtifactRestUtils.getComponentInstanceDeploymentArtifactExternalAPI(resourceDetails.getUUID(), resourceDetails.getComponentInstances().get(0).getNormalizedName(), artifactUUID, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), resourceDetails.getComponentType().toString()); + } else { + restResponse = ArtifactRestUtils.getResourceDeploymentArtifactExternalAPI(resourceDetails.getUUID(), artifactUUID, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), resourceDetails.getComponentType().toString()); + } + + Integer responseCode = restResponse.getErrorCode(); + Integer expectedCode = 404; + Assert.assertEquals(responseCode,expectedCode, "Response code is not correct."); + + + //TODO - including body - resourceDetails.getName() +// // Verify audit +// String auditAction = "DownloadArtifact"; +// +// Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); +// body.put(AuditingFieldsKeysEnum.AUDIT_STATUS, responseCode.toString()); +// body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resourceDetails.getName()); +// +// ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject(); +// expectedResourceAuditJavaObject.setAction(auditAction); +// expectedResourceAuditJavaObject.setResourceType(resourceDetails.getComponentType().getValue()); +// expectedResourceAuditJavaObject.setStatus("200"); +// expectedResourceAuditJavaObject.setDesc("OK"); +// expectedResourceAuditJavaObject.setCONSUMER_ID("ci"); +// +// if(componentTypeEnum == ComponentTypeEnum.RESOURCE_INSTANCE) { +// expectedResourceAuditJavaObject.setResourceName(resourceDetails.getComponentInstances().get(0).getName()); +// String resource_url = String.format("/asdc/v1/catalog/services/%s/resourceInstances/%s/artifacts/%s", resourceDetails.getUUID(), resourceDetails.getComponentInstances().get(0).getNormalizedName(), artifactDefinition.getArtifactUUID()); +// expectedResourceAuditJavaObject.setRESOURCE_URL(resource_url); +// +// AuditValidationUtils.validateAuditDownloadExternalAPI(expectedResourceAuditJavaObject, auditAction, null, false); +// } else { +// expectedResourceAuditJavaObject.setResourceName(resourceDetails.getName()); +// String resource_url = String.format("/asdc/v1/catalog/services/%s/artifacts/%s", resourceDetails.getUUID(), artifactDefinition.getArtifactUUID()); +// expectedResourceAuditJavaObject.setRESOURCE_URL(resource_url); +// } +// +// AuditValidationUtils.validateAuditDownloadExternalAPI(expectedResourceAuditJavaObject, auditAction, null, false); + + return restResponse; + + } + + + + + public Component getComponentInTargetLifeCycleState(String componentType, UserRoleEnum creatorUser, LifeCycleStatesEnum targetLifeCycleState, ResourceTypeEnum resourceTypeEnum) throws Exception { + Component resourceDetails = null; + + if((componentType.toLowerCase().equals("vf")) || (componentType.toLowerCase().equals("resource"))){ + if(resourceTypeEnum==null) { + resourceTypeEnum = ResourceTypeEnum.VF; + } + Either<Resource, RestResponse> createdResource = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(resourceTypeEnum, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, creatorUser, true); + resourceDetails = createdResource.left().value(); + resourceDetails = AtomicOperationUtils.changeComponentState(resourceDetails, creatorUser, targetLifeCycleState, true).getLeft(); + } else { + Either<Service, RestResponse> createdResource = AtomicOperationUtils.createDefaultService(creatorUser, true); + resourceDetails = createdResource.left().value(); + // Add artifact to service if asked for certifcationrequest - must be at least one artifact for the flow + if((LifeCycleStatesEnum.CERTIFICATIONREQUEST == targetLifeCycleState) || (LifeCycleStatesEnum.STARTCERTIFICATION == targetLifeCycleState)) { + AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.OTHER, resourceDetails, UserRoleEnum.DESIGNER, true, true).left().value(); + } + resourceDetails = AtomicOperationUtils.changeComponentState(resourceDetails, creatorUser, targetLifeCycleState, true).getLeft(); + } + + return resourceDetails; + } + + + + + protected String createUploadArtifactBodyJson() { Map<String, Object> jsonBody = new HashMap<String, Object>(); jsonBody.put("artifactName", UPLOAD_ARTIFACT_NAME); @@ -885,32 +3371,54 @@ public class CRUDExternalAPI extends ComponentBaseTest { jsonBody.put("artifactLabel", "configure"); return gson.toJson(jsonBody); } + + protected ArtifactDefinition getArtifactDataFromJson(String content) { - protected ArtifactDefinition getArtifactDataFromJson(String json) { - Gson gson = new Gson(); JsonObject jsonElement = new JsonObject(); - jsonElement = gson.fromJson(json, jsonElement.getClass()); - ArtifactDefinition artifact = new ArtifactDefinition(); - String payload = null; - JsonElement artifactPayload = jsonElement.get(Constants.ARTIFACT_PAYLOAD_DATA); - if (artifactPayload != null && !artifactPayload.isJsonNull()) { - payload = artifactPayload.getAsString(); - } - jsonElement.remove(Constants.ARTIFACT_PAYLOAD_DATA); - artifact = gson.fromJson(jsonElement, ArtifactDefinition.class); - artifact.setPayloadData(payload); - - /* - * atifact.setArtifactName(UPLOAD_ARTIFACT_NAME); - * artifact.setArtifactDisplayName("configure"); - * artifact.setArtifactType("SHELL"); artifact.setMandatory(false); - * artifact.setDescription("ff"); - * artifact.setPayloadData(UPLOAD_ARTIFACT_PAYLOAD); - * artifact.setArtifactLabel("configure"); - */ - return artifact; + ArtifactDefinition resourceInfo = null; + + try { + Gson gson = new Gson(); + jsonElement = gson.fromJson(content, jsonElement.getClass()); + JsonElement artifactGroupValue = jsonElement.get(Constants.ARTIFACT_GROUP_TYPE_FIELD); + if (artifactGroupValue != null && !artifactGroupValue.isJsonNull()) { + String groupValueUpper = artifactGroupValue.getAsString().toUpperCase(); + if (!ArtifactGroupTypeEnum.getAllTypes().contains(groupValueUpper)) { + StringBuilder sb = new StringBuilder(); + for (String value : ArtifactGroupTypeEnum.getAllTypes()) { + sb.append(value).append(", "); + } + log.debug("artifactGroupType is {}. valid values are: {}", groupValueUpper, sb.toString()); + return null; + } else { + jsonElement.remove(Constants.ARTIFACT_GROUP_TYPE_FIELD); + jsonElement.addProperty(Constants.ARTIFACT_GROUP_TYPE_FIELD, groupValueUpper); + } + } + String payload = null; + JsonElement artifactPayload = jsonElement.get(Constants.ARTIFACT_PAYLOAD_DATA); + if (artifactPayload != null && !artifactPayload.isJsonNull()) { + payload = artifactPayload.getAsString(); + } + jsonElement.remove(Constants.ARTIFACT_PAYLOAD_DATA); + String json = gson.toJson(jsonElement); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false); + mapper.configure(Feature.FAIL_ON_EMPTY_BEANS, false); + mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL); + + resourceInfo = mapper.readValue(json, ArtifactDefinition.class); + resourceInfo.setPayloadData(payload); + + } catch (Exception e) { + BeEcompErrorManager.getInstance().logBeArtifactInformationInvalidError("Artifact Upload / Update"); + log.debug("Failed to convert the content {} to object.", content.substring(0, Math.min(50, content.length())), e); + } + + return resourceInfo; } + protected HttpGet createGetRequest(String url) { HttpGet httpGet = new HttpGet(url); httpGet.addHeader(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData); @@ -918,53 +3426,49 @@ public class CRUDExternalAPI extends ComponentBaseTest { httpGet.addHeader(HttpHeaderEnum.USER_ID.getValue(), sdncUserDetails.getUserId()); return httpGet; } - + protected String getArtifactUid(HttpResponse response) throws HttpResponseException, IOException, ParseException { String responseString = new BasicResponseHandler().handleResponse(response); JSONObject responseMap = (JSONObject) jsonParser.parse(responseString); String artifactId = (String) responseMap.get("uniqueId"); return artifactId; } - + protected String getArtifactEsId(HttpResponse response) throws HttpResponseException, IOException, ParseException { String responseString = new BasicResponseHandler().handleResponse(response); JSONObject responseMap = (JSONObject) jsonParser.parse(responseString); String esId = (String) responseMap.get("EsId"); return esId; } - - protected ArtifactDefinition addArtifactDataFromResponse(HttpResponse response, ArtifactDefinition artifact) - throws HttpResponseException, IOException, ParseException { - // String responseString = new - // BasicResponseHandler().handleResponse(response); + + protected ArtifactDefinition addArtifactDataFromResponse(HttpResponse response, ArtifactDefinition artifact) throws HttpResponseException, IOException, ParseException { + //String responseString = new BasicResponseHandler().handleResponse(response); HttpEntity entity = response.getEntity(); - String responseString = EntityUtils.toString(entity); + String responseString = EntityUtils.toString(entity); JSONObject responseMap = (JSONObject) jsonParser.parse(responseString); - artifact.setEsId((String) responseMap.get("esId")); + artifact.setEsId((String)responseMap.get("esId")); artifact.setUniqueId((String) responseMap.get("uniqueId")); artifact.setArtifactGroupType(ArtifactGroupTypeEnum.findType((String) responseMap.get("artifactGroupType"))); artifact.setTimeout(((Long) responseMap.get("timeout")).intValue()); return artifact; } - - protected String getLifecycleArtifactUid(CloseableHttpResponse response) - throws HttpResponseException, IOException, ParseException { + + protected String getLifecycleArtifactUid(CloseableHttpResponse response) throws HttpResponseException, IOException, ParseException { String responseString = new BasicResponseHandler().handleResponse(response); JSONObject responseMap = (JSONObject) jsonParser.parse(responseString); responseMap = (JSONObject) responseMap.get("implementation"); String artifactId = (String) responseMap.get("uniqueId"); return artifactId; } - + protected HttpDelete createDeleteArtifactRequest(String url) { HttpDelete httpDelete = new HttpDelete(url); httpDelete.addHeader(HttpHeaderEnum.USER_ID.getValue(), sdncUserDetails.getUserId()); httpDelete.addHeader(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate); return httpDelete; } - - protected HttpPost createPostAddArtifactRequeast(String jsonBody, String url, boolean addMd5Header) - throws UnsupportedEncodingException { + + protected HttpPost createPostAddArtifactRequeast(String jsonBody, String url, boolean addMd5Header) throws UnsupportedEncodingException { HttpPost httppost = new HttpPost(url); httppost.addHeader(HttpHeaderEnum.CONTENT_TYPE.getValue(), contentTypeHeaderData); httppost.addHeader(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate); @@ -975,10 +3479,10 @@ public class CRUDExternalAPI extends ComponentBaseTest { StringEntity input = new StringEntity(jsonBody); input.setContentType("application/json"); httppost.setEntity(input); - log.debug("Executing request {}", httppost.getRequestLine()); + log.debug("Executing request {}" , httppost.getRequestLine()); return httppost; } - + protected String createLoadArtifactBody() { Map<String, Object> json = new HashMap<String, Object>(); json.put("artifactName", "install_apache2.sh"); @@ -986,21 +3490,20 @@ public class CRUDExternalAPI extends ComponentBaseTest { json.put("description", "ddd"); json.put("payloadData", "UEsDBAoAAAAIAAeLb0bDQz"); json.put("artifactLabel", "name123"); - + String jsonStr = gson.toJson(json); return jsonStr; } - + protected void checkDeleteResponse(RestResponse response) { BaseRestUtils.checkStatusCode(response, "delete request failed", false, 204, 404); } - + protected ArtifactUiDownloadData getArtifactUiDownloadData(String artifactUiDownloadDataStr) throws Exception { - + ObjectMapper mapper = new ObjectMapper(); try { - ArtifactUiDownloadData artifactUiDownloadData = mapper.readValue(artifactUiDownloadDataStr, - ArtifactUiDownloadData.class); + ArtifactUiDownloadData artifactUiDownloadData = mapper.readValue(artifactUiDownloadDataStr, ArtifactUiDownloadData.class); return artifactUiDownloadData; } catch (Exception e) { e.printStackTrace(); @@ -1008,4 +3511,5 @@ public class CRUDExternalAPI extends ComponentBaseTest { return null; } + } diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarUpdate.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarUpdate.java index 2c9d96d79d..dd078377db 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarUpdate.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarUpdate.java @@ -20,15 +20,20 @@ package org.openecomp.sdc.ci.tests.execute.devCI; +import static org.testng.AssertJUnit.assertTrue; + import org.junit.Rule; import org.junit.rules.TestName; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; import org.openecomp.sdc.be.model.Component; 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.ComponentBaseTest; import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; 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.UserRoleEnum; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; import org.openecomp.sdc.ci.tests.execute.imports.ImportCsarResourceTest; @@ -37,6 +42,7 @@ import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; 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.validation.CsarValidationUtils; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; @@ -54,14 +60,14 @@ public class ImportCsarUpdate extends ComponentBaseTest { @DataProvider(name = "happyArts") public Object[][] getHappyArtifacts() { - return new Object[][] { { "happy_VF_RI2_G2_two_different_artifacts_under_heatBaseheatVolheatNet2" }, - { "happy_VF_RI2_G2_two_different_artifacts_under_heatBaseheatVolheatNet" }, - { "happy_VF_RI2_G2_two_identical_artifacts_under_heatBaseheatVolheatNet" }, - { "happy_VF_RI2_G2_two_different_artifacts_under_nested" }, - { "happy_VF_RI2_G2_two_indentical_nested_under_different_groups" }, - { "happy_VF_RI2_G2_two_different_nested_under_different_groups" }, - { "happy_VF_RI2_G2_two_different_nested_under_same_group" }, - + return new Object[][] { + { "happy_VF_RI2_G2_two_different_artifacts_under_heatBaseheatVolheatNet2" }, + { "happy_VF_RI2_G2_two_different_artifacts_under_heatBaseheatVolheatNet" }, + { "happy_VF_RI2_G2_two_identical_artifacts_under_heatBaseheatVolheatNet" }, + { "happy_VF_RI2_G2_two_different_artifacts_under_nested" }, + { "happy_VF_RI2_G2_two_indentical_nested_under_different_groups" }, + { "happy_VF_RI2_G2_two_different_nested_under_different_groups" }, + { "happy_VF_RI2_G2_two_different_nested_under_same_group" } }; } @@ -69,12 +75,13 @@ public class ImportCsarUpdate extends ComponentBaseTest { public Object[][] getNegativeArtifacts() { return new Object[][] { - - { "negative_VF_RI2_G2_same_heatVol_different_groups" }, - { "negative_VF_RI2_G2_same_heatBase_different_envs" }, - { "negative_VF_RI2_G2_heatBaseHeatVolHeatNet_under_nested" }, - { "negative_VF_RI2_G2_two_indentical_artifacts_under_nested" }, - { "negative_VF_RI2_G2_nested_under_nested" }, { "negative_VF_RI2_G2_same_heatVol_different_groups" }, }; + { "negative_VF_RI2_G2_same_heatVol_different_groups" }, + { "negative_VF_RI2_G2_same_heatBase_different_envs" }, + { "negative_VF_RI2_G2_heatBaseHeatVolHeatNet_under_nested" }, + { "negative_VF_RI2_G2_two_indentical_artifacts_under_nested" }, + { "negative_VF_RI2_G2_nested_under_nested" }, + { "negative_VF_RI2_G2_same_heatVol_different_groups" } + }; } @BeforeTest @@ -100,25 +107,18 @@ public class ImportCsarUpdate extends ComponentBaseTest { resourceDetails.setName("hardcodedName"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); - Component resourceObject = AtomicOperationUtils - .changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true) - .getLeft(); + Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); + Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft(); User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, - "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar"); + RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); - createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); + Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); // Validation Part @@ -133,14 +133,10 @@ public class ImportCsarUpdate extends ComponentBaseTest { resourceDetails.setName("hardcodedName"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); - Component resourceObject = AtomicOperationUtils - .changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true) - .getLeft(); + Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); + Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft(); // User sdncModifierDetails = // ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); @@ -148,11 +144,9 @@ public class ImportCsarUpdate extends ComponentBaseTest { // ImportCsarResourceTest.copyCsarRest(sdncModifierDetails,"updateImportCsar_2Gartifacts_topologyChanged.csar","importCsar_2Gartifacts.csar"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); - createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); + Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); // Validation Part @@ -167,25 +161,20 @@ public class ImportCsarUpdate extends ComponentBaseTest { resourceDetails.setName("hardcodedName"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); + Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); // Component resourceObject = // AtomicOperationUtils.changeComponentState(resourceFirstImport, // UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKOUT, true).getLeft(); User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, - "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar"); + RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); - createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); + Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); // Validation Part @@ -200,25 +189,18 @@ public class ImportCsarUpdate extends ComponentBaseTest { resourceDetails.setName("hardcodedName"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); - Component resourceObject = AtomicOperationUtils - .changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true) - .getLeft(); + Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); + Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, - "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar"); + RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); - createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); + Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); // Validation Part @@ -233,24 +215,18 @@ public class ImportCsarUpdate extends ComponentBaseTest { resourceDetails.setName("hardcodedName"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); - Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, - LifeCycleStatesEnum.CERTIFICATIONREQUEST, true).getLeft(); + Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); + Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFICATIONREQUEST, true).getLeft(); User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, - "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar"); + RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); - createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); + Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); // Validation Part @@ -265,26 +241,19 @@ public class ImportCsarUpdate extends ComponentBaseTest { resourceDetails.setName("hardcodedName"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); - Component resourceObject = AtomicOperationUtils - .changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true) - .getLeft(); + Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); + Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft(); User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, - "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar"); + RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar"); resourceDetails.setName("hardcodedNameChanged"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); - createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); + Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); // Validation Part @@ -299,23 +268,17 @@ public class ImportCsarUpdate extends ComponentBaseTest { resourceDetails.setName("hardcodedName"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); - Component resourceObject = AtomicOperationUtils - .changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true) - .getLeft(); + Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); + Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, - "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar"); + RestResponse copyRes = ImportCsarResourceTest.copyCsarRest(sdncModifierDetails, "updateImportCsar_2Gartifacts_topologyChanged.csar", "importCsar_2Gartifacts.csar"); resourceDetails.setName("hardcodedNameChanged"); resourceDetails.setCsarUUID("importCsar_2Gartifacts"); - createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); } @@ -325,14 +288,10 @@ public class ImportCsarUpdate extends ComponentBaseTest { ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); resourceDetails.setName("hardcodedName"); resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); - Component resourceObject = AtomicOperationUtils - .changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true) - .getLeft(); + Resource resourceFirstImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); + Component resourceObject = AtomicOperationUtils.changeComponentState(resourceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft(); // User sdncModifierDetails = // ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); // RestResponse copyRes = @@ -341,11 +300,9 @@ public class ImportCsarUpdate extends ComponentBaseTest { resourceDetails2.setName("hardcodedName"); resourceDetails2.setCsarUUID("importCsar_2Gartifacts"); resourceDetails2.setResourceType(ResourceTypeEnum.VF.name()); - createResource = ResourceRestUtils.createResource(resourceDetails2, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + createResource = ResourceRestUtils.createResource(resourceDetails2, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); BaseRestUtils.checkCreateResponse(createResource); - Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), - Resource.class); + Resource resourceSecondImport = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); // Validation Part diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarValidateArtifacts.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarValidateArtifacts.java index 49e5950db5..5ed71e53b0 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarValidateArtifacts.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ImportCsarValidateArtifacts.java @@ -25,11 +25,16 @@ import static org.testng.AssertJUnit.assertTrue; import org.junit.Rule; import org.junit.rules.TestName; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; +import org.openecomp.sdc.be.model.Component; import org.openecomp.sdc.be.model.Resource; +import org.openecomp.sdc.be.model.Service; import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; +import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; 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.AtomicOperationUtils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/OpsRejectDistribution.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/OpsRejectDistribution.java new file mode 100644 index 0000000000..2ac31183d3 --- /dev/null +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/OpsRejectDistribution.java @@ -0,0 +1,68 @@ +/*- + * ============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.devCI; + +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertTrue; + +import org.junit.Rule; +import org.junit.rules.TestName; +import org.openecomp.sdc.be.model.Component; +import org.openecomp.sdc.be.model.Service; +import org.openecomp.sdc.be.model.User; +import org.openecomp.sdc.be.utils.CommonBeUtils; +import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; +import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; +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.AtomicOperationUtils; +import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; +import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.ComponentRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser; +import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils; +import org.testng.annotations.AfterTest; +import org.testng.annotations.BeforeTest; +import org.testng.annotations.Test; + +public class OpsRejectDistribution extends ComponentBaseTest { + + @Rule + public static TestName name = new TestName(); + + public OpsRejectDistribution() { + super(name, OpsRejectDistribution.class.getName()); + } + + @Test + public void testOpsRejectDistribution() throws Exception { + User designer = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + ServiceReqDetails service = ElementFactory.getDefaultService(); + RestResponse createdService = ServiceRestUtils.createService(service, designer); + BaseRestUtils.checkCreateResponse(createdService); + Service serviceFirstImport = ResponseParser.parseToObjectUsingMapper(createdService.getResponse(), Service.class); + Component serviceObject = AtomicOperationUtils.changeComponentState(serviceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); + + AtomicOperationUtils.approveAndRejectServiceForDistribution(serviceObject); + } +} diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/SearchFilterCategoryExternalAPI.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/SearchFilterCategoryExternalAPI.java new file mode 100644 index 0000000000..af4b9380fd --- /dev/null +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/SearchFilterCategoryExternalAPI.java @@ -0,0 +1,344 @@ +/*- + * ============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.devCI; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.util.Base64.Decoder; + +import javax.json.Json; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; + +import org.apache.cassandra.cli.CliParser.operator_return; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.HttpResponseException; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpDelete; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.BasicResponseHandler; +import org.apache.http.util.EntityUtils; +import org.codehaus.jackson.map.ObjectMapper; +import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; +import org.json.simple.parser.ParseException; +import org.junit.Rule; +import org.junit.rules.TestName; +import org.openecomp.sdc.be.dao.api.ActionStatus; +import org.openecomp.sdc.be.dao.graph.datatype.ActionEnum; +import org.openecomp.sdc.be.datatypes.enums.AssetTypeEnum; +import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; +import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; +import org.openecomp.sdc.be.model.ArtifactDefinition; +import org.openecomp.sdc.be.model.ArtifactUiDownloadData; +import org.openecomp.sdc.be.model.Component; +import org.openecomp.sdc.be.model.ComponentInstance; +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.be.model.category.CategoryDefinition; +import org.openecomp.sdc.be.model.category.SubCategoryDefinition; +import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum; +import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; +import org.openecomp.sdc.ci.tests.api.Urls; +import org.openecomp.sdc.ci.tests.config.Config; +import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ResourceDetailedAssetStructure; +import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; +import org.openecomp.sdc.ci.tests.datatypes.enums.DistributionNotificationStatusEnum; +import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo; +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.SearchCriteriaEnum; +import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum; +import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedExternalAudit; +import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject; +import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum; +import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; +import org.openecomp.sdc.ci.tests.utils.Utils; +import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils; +import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; +import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.AssetRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.CategoryRestUtils; +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.validation.AuditValidationUtils; +import org.openecomp.sdc.ci.tests.utils.validation.DistributionValidationUtils; +import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils; +import org.openecomp.sdc.common.api.ApplicationErrorCodesEnum; +import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum; +import org.openecomp.sdc.common.api.Constants; +import org.openecomp.sdc.common.api.UploadArtifactInfo; +import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum; +import org.openecomp.sdc.common.util.GeneralUtility; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.testng.Assert; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +import org.openecomp.sdc.utils.Pair; +import com.google.common.base.CaseFormat; +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.relevantcodes.extentreports.LogStatus; + +import fj.P; +import fj.data.Either; +import it.unimi.dsi.fastutil.bytes.ByteSortedSets.SynchronizedSortedSet; + +import static java.util.Arrays.asList; + +public class SearchFilterCategoryExternalAPI extends ComponentBaseTest { + + private static Logger log = LoggerFactory.getLogger(CRUDExternalAPI.class.getName()); + + protected Config config = Config.instance(); + protected String contentTypeHeaderData = "application/json"; + protected String acceptHeaderDate = "application/json"; + + protected Gson gson = new Gson(); + protected JSONParser jsonParser = new JSONParser(); + + @BeforeMethod + public void init() throws Exception{ + AtomicOperationUtils.createDefaultConsumer(true); + } + + ; + @Rule + public static TestName name = new TestName(); + + public SearchFilterCategoryExternalAPI() { + super(name, SearchFilterCategoryExternalAPI.class.getName()); + + } + + // Search for invalid resourceType + @Test + public void searchWithInvalidFilter() throws Exception { + RestResponse restResponse = ResourceRestUtils.getResourceListFilterByCriteria(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), AssetTypeEnum.RESOURCES.getValue(), SearchCriteriaEnum.RESOURCE_TYPE.getValue() + "invalid", ResourceTypeEnum.VFC.toString()); + + Integer expectedResponseCode = 400; + Assert.assertEquals(restResponse.getErrorCode(), expectedResponseCode); + + List<String> variables = Arrays.asList("resourceTypeinvalid", "[resourceType, subCategory, category]"); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_FILTER_KEY.name(), variables, restResponse.getResponse()); + + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalAuditObject(AssetTypeEnum.RESOURCES, AuditingActionEnum.GET_FILTERED_ASSET_LIST, "?" + SearchCriteriaEnum.RESOURCE_TYPE.getValue() + "invalid=" + ResourceTypeEnum.VFC.toString()); + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_FILTER_KEY.name()); + expectedExternalAudit.setDESC(AuditValidationUtils.buildAuditDescription(errorInfo, variables)); + expectedExternalAudit.setSTATUS("400"); + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_URL, expectedExternalAudit.getRESOURCE_URL()); + AuditValidationUtils.validateAuditExternalSearchAPI(expectedExternalAudit, AuditingActionEnum.GET_FILTERED_ASSET_LIST.getName(), body); + } + + @DataProvider(name="searchForResourceTypeNegativeTest") + public static Object[][] dataProviderSearchForResourceTypeNegativeTest() { + return new Object[][] { + {"invalidResourceType"}, + {""} + }; + } + + // Search for invalid resourceType + @Test(dataProvider="searchForResourceTypeNegativeTest") + public void searchForResourceTypeNegativeTest(String resourceType) throws Exception { + RestResponse restResponse = ResourceRestUtils.getResourceListFilterByCriteria(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), AssetTypeEnum.RESOURCES.getValue(), SearchCriteriaEnum.RESOURCE_TYPE.getValue(), resourceType); + + Integer expectedResponseCode = 400; + Assert.assertEquals(restResponse.getErrorCode(), expectedResponseCode); + + List<String> variables = Arrays.asList(); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_CONTENT.name(), variables, restResponse.getResponse()); + + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalAuditObject(AssetTypeEnum.RESOURCES, AuditingActionEnum.GET_FILTERED_ASSET_LIST, "?" + SearchCriteriaEnum.RESOURCE_TYPE.getValue() + "=" + resourceType); + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_CONTENT.name()); + expectedExternalAudit.setDESC(AuditValidationUtils.buildAuditDescription(errorInfo, variables)); + expectedExternalAudit.setSTATUS("400"); + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_URL, expectedExternalAudit.getRESOURCE_URL()); + AuditValidationUtils.validateAuditExternalSearchAPI(expectedExternalAudit, AuditingActionEnum.GET_FILTERED_ASSET_LIST.getName(), body); + } + + // Searching for resource filter incorrect resource type using external API + @Test + public void searchingForResouceFilterIncorrectResouceTypeUsingExternalAPI() throws Exception { + Resource resource = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VF, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_DATABASE, UserRoleEnum.DESIGNER, true).left().value(); + List<String> createdResoucesName = new ArrayList<String>(); + createdResoucesName.add(resource.getName()); + + for(ResourceTypeEnum resourceTypeEnum: ResourceTypeEnum.values()) { + // Create resource for each type so it will not return 404 + AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(resourceTypeEnum, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_DATABASE, UserRoleEnum.DESIGNER, true).left().value(); + + RestResponse restResponse = ResourceRestUtils.getResourceListFilterByCriteria(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), AssetTypeEnum.RESOURCES.getValue(), SearchCriteriaEnum.RESOURCE_TYPE.getValue(), resourceTypeEnum.toString()); + + Integer expectedResponseCode = 200; + Assert.assertEquals(restResponse.getErrorCode(), expectedResponseCode); + if(resourceTypeEnum == ResourceTypeEnum.VF) { + validateJsonContainResource(restResponse.getResponse(), createdResoucesName, true); + } else { + validateJsonContainResource(restResponse.getResponse(), createdResoucesName, false); + } + + + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalAuditObject(AssetTypeEnum.RESOURCES, AuditingActionEnum.GET_FILTERED_ASSET_LIST, "?" + SearchCriteriaEnum.RESOURCE_TYPE.getValue() + "=" + resourceTypeEnum.toString()); + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_URL, expectedExternalAudit.getRESOURCE_URL()); + AuditValidationUtils.validateAuditExternalSearchAPI(expectedExternalAudit, AuditingActionEnum.GET_FILTERED_ASSET_LIST.getName(), body); + } + } + + // Searching for several resource types using external API + @Test + public void searchingForSeveralResouceTypesUsingExternalAPI() throws Exception { + for(ResourceTypeEnum resourceTypeEnum: ResourceTypeEnum.values()) { + List<String> createdResoucesName = new ArrayList<String>(); + Resource resource = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(resourceTypeEnum, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_DATABASE, UserRoleEnum.DESIGNER, true).left().value(); + createdResoucesName.add(resource.getName()); + + RestResponse restResponse = ResourceRestUtils.getResourceListFilterByCriteria(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), AssetTypeEnum.RESOURCES.getValue(), SearchCriteriaEnum.RESOURCE_TYPE.getValue(), resourceTypeEnum.toString()); + + Integer expectedResponseCode = 200; + Assert.assertEquals(restResponse.getErrorCode(), expectedResponseCode); + validateJsonContainResource(restResponse.getResponse(), createdResoucesName, true); + + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalAuditObject(AssetTypeEnum.RESOURCES, AuditingActionEnum.GET_FILTERED_ASSET_LIST, "?" + SearchCriteriaEnum.RESOURCE_TYPE.getValue() + "=" + resourceTypeEnum.toString()); + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_URL, expectedExternalAudit.getRESOURCE_URL()); + AuditValidationUtils.validateAuditExternalSearchAPI(expectedExternalAudit, AuditingActionEnum.GET_FILTERED_ASSET_LIST.getName(), body); + } + } + + // Searching for several resources of type VFCMT using external API + @Test + public void searchingForSeveralResourcesOfTypeVFCMTUsingExternalAPI() throws Exception { + Random random = new Random(); + int numberOfResouceToCreate = random.nextInt(5) + 1; + List<String> createdResoucesName = new ArrayList<String>(); + + for(int i=0; i<numberOfResouceToCreate; i++) { + + Resource resource = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFCMT, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_DATABASE, UserRoleEnum.DESIGNER, true).left().value(); + createdResoucesName.add(resource.getName()); + } + + RestResponse restResponse = ResourceRestUtils.getResourceListFilterByCriteria(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), AssetTypeEnum.RESOURCES.getValue(), SearchCriteriaEnum.RESOURCE_TYPE.getValue(), ResourceTypeEnum.VFCMT.toString()); + + Integer expectedResponseCode = 200; + Assert.assertEquals(restResponse.getErrorCode(), expectedResponseCode); + validateJsonContainResource(restResponse.getResponse(), createdResoucesName, true); + + ExpectedExternalAudit expectedExternalAudit = ElementFactory.getDefaultExternalAuditObject(AssetTypeEnum.RESOURCES, AuditingActionEnum.GET_FILTERED_ASSET_LIST, "?" + SearchCriteriaEnum.RESOURCE_TYPE.getValue() + "=" + ResourceTypeEnum.VFCMT.toString()); + AuditValidationUtils.validateAuditExternalSearchAPI(expectedExternalAudit, AuditingActionEnum.GET_FILTERED_ASSET_LIST.getName(), null); + } + + + + @DataProvider(name="normativeResourceCategory") + public static Object[][] dataProviderNormativeResourceCategory() { + return new Object[][] { + {ResourceCategoryEnum.TEMPLATE_MONITORING_TEMPLATE}, + {ResourceCategoryEnum.TEMPLATE_MONITORING_TEMPLATE}, + }; + } + + // Verify exist of normative resource category from data provider + @Test(dataProvider="normativeResourceCategory") + public void normativeResourceCategory(ResourceCategoryEnum resourceCategoryEnum) throws Exception { + RestResponse restResponse = CategoryRestUtils.getAllCategories(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), "resources"); + validateJsonContainResourceCategory(restResponse.getResponse(), resourceCategoryEnum); + + Resource resource = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VF, NormativeTypesEnum.ROOT, resourceCategoryEnum, UserRoleEnum.DESIGNER, true).left().value(); + List<String> createdResoucesName = new ArrayList<String>(); + createdResoucesName.add(resource.getName()); + + restResponse = ResourceRestUtils.getResourceListFilterByCategory(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), AssetTypeEnum.RESOURCES.getValue(), resourceCategoryEnum.getCategory()); + + Integer expectedResponseCode = 200; + Assert.assertEquals(restResponse.getErrorCode(), expectedResponseCode); + validateJsonContainResource(restResponse.getResponse(), createdResoucesName, true); + } + + protected void validateJsonContainResource(String json, List<String> resourceNameList, Boolean willBeFound) { + int lenResourceNameList = resourceNameList.size(); + Gson gson = new Gson(); + JsonElement jsonElement = new JsonParser().parse(json); + JsonArray jsonArray = jsonElement.getAsJsonArray(); + for(JsonElement jElement: jsonArray) { + ResourceReqDetails jResource = gson.fromJson(jElement, ResourceReqDetails.class); + + if(resourceNameList.contains(jResource.getName())) { + resourceNameList.remove(jResource.getName()); + } + } + + if(resourceNameList.size() != 0 && willBeFound) { + Assert.assertTrue(false, "Created resource not found on search filtered by category."); + } else if (lenResourceNameList != resourceNameList.size() & !willBeFound) { + Assert.assertTrue(false, "Some of the resources found when expect that no resource will be found."); + } + } + + + + protected void validateJsonContainResourceCategory(String json, ResourceCategoryEnum resourceCategoryEnum) { + Gson gson = new Gson(); + JsonElement jelement = new JsonParser().parse(json); + JsonArray jsonArray = jelement.getAsJsonArray(); + for(JsonElement jsonElement : jsonArray){ + CategoryDefinition categoryDefinition = gson.fromJson(jsonElement, CategoryDefinition.class); + + if(categoryDefinition.getName().equals(resourceCategoryEnum.getCategory())) { + for(SubCategoryDefinition subcategory: categoryDefinition.getSubcategories()) { + if(subcategory.getName().equals(resourceCategoryEnum.getSubCategory())) { + return; + } + } + } + + } + + Assert.assertTrue(false, "Category and subcategory not found in categories list."); + } + + +} diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ToscaGroupInsideVF.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ToscaGroupInsideVF.java index bb86f8f336..3264efb280 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ToscaGroupInsideVF.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ToscaGroupInsideVF.java @@ -20,6 +20,8 @@ package org.openecomp.sdc.ci.tests.execute.devCI; +import static org.testng.AssertJUnit.assertEquals; + import java.util.HashMap; import java.util.Map; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/VFCMTExternalAPI.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/VFCMTExternalAPI.java new file mode 100644 index 0000000000..955b501db1 --- /dev/null +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/VFCMTExternalAPI.java @@ -0,0 +1,390 @@ +/*- + * ============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.devCI; + +import static java.util.Arrays.asList; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.json.simple.parser.JSONParser; +import org.junit.Rule; +import org.junit.rules.TestName; +import org.openecomp.sdc.be.dao.api.ActionStatus; +import org.openecomp.sdc.be.datatypes.enums.AssetTypeEnum; +import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; +import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; +import org.openecomp.sdc.be.model.User; +import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum; +import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; +import org.openecomp.sdc.ci.tests.config.Config; +import org.openecomp.sdc.ci.tests.datatypes.ResourceAssetStructure; +import org.openecomp.sdc.ci.tests.datatypes.ResourceExternalReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo; +import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum; +import org.openecomp.sdc.ci.tests.datatypes.enums.SearchCriteriaEnum; +import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum; +import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject; +import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; +import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils; +import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; +import org.openecomp.sdc.ci.tests.utils.rest.AssetRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtilsExternalAPI; +import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils; +import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils; +import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.testng.Assert; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +import com.google.common.util.concurrent.ListeningExecutorService; +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; + +public class VFCMTExternalAPI extends ComponentBaseTest { + + private static Logger log = LoggerFactory.getLogger(CRUDExternalAPI.class.getName()); + protected static final String UPLOAD_ARTIFACT_PAYLOAD = "UHVUVFktVXNlci1LZXktRmlsZS0yOiBzc2gtcnNhDQpFbmNyeXB0aW9uOiBhZXMyNTYtY2JjDQpDb21tZW5wOA0K"; + protected static final String UPLOAD_ARTIFACT_NAME = "TLV_prv.ppk"; + + protected Config config = Config.instance(); + protected String contentTypeHeaderData = "application/json"; + protected String acceptHeaderDate = "application/json"; + + + + protected Gson gson = new Gson(); + protected JSONParser jsonParser = new JSONParser(); + + + protected String serviceVersion; + protected ResourceReqDetails resourceDetails; + protected User sdncUserDetails; + protected ServiceReqDetails serviceDetails; + + + @BeforeMethod + public void init() throws Exception{ + AtomicOperationUtils.createDefaultConsumer(true); + } + + + @Rule + public static TestName name = new TestName(); + + public VFCMTExternalAPI() { + super(name, VFCMTExternalAPI.class.getName()); + + } + + // Create VFCMT - validate response + search external api + retrieve metadata via external api - success flow + @Test + public void createVfcmt() throws Exception { + User defaultUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + ResourceExternalReqDetails defaultResource = ElementFactory.getDefaultResourceByType("ci", ResourceCategoryEnum.TEMPLATE_MONITORING_TEMPLATE, defaultUser.getUserId(), ResourceTypeEnum.VFCMT.toString()); + + RestResponse restResponse = ResourceRestUtilsExternalAPI.createResource(defaultResource, defaultUser); + ResourceAssetStructure parsedCreatedResponse = gson.fromJson(restResponse.getResponse(), ResourceAssetStructure.class); + + // auditing verification + AuditingActionEnum action = AuditingActionEnum.CREATE_RESOURCE_BY_API; + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, parsedCreatedResponse.getName()); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultCreateResourceExternalAPI(parsedCreatedResponse.getName()); + AuditValidationUtils.validateAuditExternalCreateResource(expectedResourceAuditJavaObject, action.getName(), body); + + // search for vfcmt via external api - validate created resource exist + RestResponse searchResult = ResourceRestUtils.getResourceListFilterByCriteria(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), AssetTypeEnum.RESOURCES.getValue(), SearchCriteriaEnum.RESOURCE_TYPE.getValue(), ResourceTypeEnum.VFCMT.toString()); + JsonArray listSearchResult = gson.fromJson(searchResult.getResponse(), JsonArray.class); + boolean found = false; + for(JsonElement result: listSearchResult) { + ResourceAssetStructure parsedResult = gson.fromJson(result, ResourceAssetStructure.class); + if(parsedResult.getName().equals(defaultResource.getName())) { + found = true; + } + } + Assert.assertEquals(found, true); + + // get created vfcmt metadata via external api - validate data + RestResponse resourceMetadata = AssetRestUtils.getAssetMetadataByAssetTypeAndUuid(true, AssetTypeEnum.RESOURCES, parsedCreatedResponse.getUuid()); + ResourceAssetStructure parsedMetadata = gson.fromJson(resourceMetadata.getResponse(), ResourceAssetStructure.class); + + Assert.assertEquals(parsedCreatedResponse.getUuid(), parsedMetadata.getUuid()); + Assert.assertEquals(parsedCreatedResponse.getInvariantUUID(), parsedMetadata.getInvariantUUID()); + Assert.assertEquals(parsedCreatedResponse.getName(), parsedMetadata.getName()); + Assert.assertEquals(parsedCreatedResponse.getVersion(), parsedMetadata.getVersion()); + Assert.assertEquals(parsedCreatedResponse.getCategory(), parsedMetadata.getCategory()); + Assert.assertEquals(parsedCreatedResponse.getSubCategory(), parsedMetadata.getSubCategory()); + Assert.assertEquals(parsedCreatedResponse.getResourceType(), parsedMetadata.getResourceType()); + Assert.assertEquals(parsedCreatedResponse.getLifecycleState(), parsedMetadata.getLifecycleState()); + Assert.assertEquals(parsedCreatedResponse.getLastUpdaterUserId(), parsedMetadata.getLastUpdaterUserId()); + Assert.assertEquals(parsedCreatedResponse.getLastUpdaterFullName(), parsedMetadata.getLastUpdaterFullName()); + Assert.assertEquals(parsedCreatedResponse.getToscaResourceName(), parsedMetadata.getToscaResourceName()); + } + + + + // Create two VFCMT with same name - validate error + audit - failure flow + @Test + public void createTwoVfcmtWithSameName() throws Exception { + User defaultUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + ResourceExternalReqDetails defaultResource = ElementFactory.getDefaultResourceByType("ci", ResourceCategoryEnum.TEMPLATE_MONITORING_TEMPLATE, defaultUser.getUserId(), ResourceTypeEnum.VFCMT.toString()); + + // create vfcmt + RestResponse firstTryToCreate = ResourceRestUtilsExternalAPI.createResource(defaultResource, defaultUser); + ResourceAssetStructure parsedCreatedResponse = gson.fromJson(firstTryToCreate.getResponse(), ResourceAssetStructure.class); + + // auditing verification + AuditingActionEnum action = AuditingActionEnum.CREATE_RESOURCE_BY_API; + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, parsedCreatedResponse.getName()); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultCreateResourceExternalAPI(parsedCreatedResponse.getName()); + AuditValidationUtils.validateAuditExternalCreateResource(expectedResourceAuditJavaObject, action.getName(), body); + + // try to create another vfcmt wit same name + RestResponse secondTryToCreate = ResourceRestUtilsExternalAPI.createResource(defaultResource, defaultUser); + Assert.assertEquals((int)secondTryToCreate.getErrorCode(), 409); + + body.put(AuditingFieldsKeysEnum.AUDIT_STATUS, "409"); + ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_NAME_ALREADY_EXIST.name()); + List<String> variables = asList(ComponentTypeEnum.RESOURCE.getValue(), defaultResource.getName()); + expectedResourceAuditJavaObject.setDesc(AuditValidationUtils.buildAuditDescription(errorInfo, variables)); + expectedResourceAuditJavaObject.setStatus("409"); + AuditValidationUtils.validateAuditExternalCreateResource(expectedResourceAuditJavaObject, action.getName(), body); + } + + + + @DataProvider(name="createVfcmtVariousFailureFlows") + public static Object[][] dataProviderCreateVfcmtVariousFailureFlows() { + return new Object[][] { + {"name_missing"}, + {"name_to_long"}, + {"name_with_invalid_char"}, + {"description_missing"}, + {"description_to_long"}, + {"description_with_invalid_char"}, + {"resource_type_missing"}, + {"resource_type_invalid"}, + {"category_type_missing"}, + {"category_type_invalid"}, + {"subcategory_type_missing"}, + {"subcategory_type_invalid"}, + {"vendor_name_missing"}, + {"vendor_name_to_long"}, + {"vendor_name_with_invalid_char"}, + {"vendor_release_missing"}, + {"vendor_release_to_long"}, + {"vendor_release_with_invalid_char"}, + {"tags_missing"}, + {"tags_to_long"}, + {"tags_invalid"}, + {"icon_missing"}, + {"contact_id_missing"}, + {"contact_id_invalid"}, + }; + } + + // Various failure flows + @Test(dataProvider="createVfcmtVariousFailureFlows") + public void createVfcmtVariousFailureFlows(String flow) throws Exception { + User defaultUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + ResourceExternalReqDetails defaultResource = ElementFactory.getDefaultResourceByType("ci", ResourceCategoryEnum.TEMPLATE_MONITORING_TEMPLATE, defaultUser.getUserId(), ResourceTypeEnum.VFCMT.toString()); + + ErrorInfo errorInfo = null; + List<String> variables = null; + AuditingActionEnum action = AuditingActionEnum.CREATE_RESOURCE_BY_API; + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultCreateResourceExternalAPI(defaultResource.getName()); + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, defaultResource.getName()); + + switch (flow) { + case "name_missing": + defaultResource.setName(""); + List<String> resourceTags = defaultResource.getTags(); + resourceTags.add(""); + defaultResource.setTags(resourceTags); + expectedResourceAuditJavaObject.setResourceName(""); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_COMPONENT_NAME.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, ""); + break; + case "name_to_long": + defaultResource.setName("asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1"); + expectedResourceAuditJavaObject.setResourceName("asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1"); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_NAME_EXCEEDS_LIMIT.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue(), "1024"); + + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, "asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1"); + break; + case "name_with_invalid_char": + defaultResource.setName("!@#$%^&*("); + expectedResourceAuditJavaObject.setResourceName("!@#$%^&*("); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_COMPONENT_NAME.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, "!@#$%^&*("); + break; + case "description_missing": + defaultResource.setDescription(""); + expectedResourceAuditJavaObject.setDesc(""); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_MISSING_DESCRIPTION.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + case "description_to_long": + defaultResource.setDescription("asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1"); + expectedResourceAuditJavaObject.setDesc("asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1asdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjklasdfghjk1"); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_DESCRIPTION_EXCEEDS_LIMIT.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue(), "1024"); + break; + case "description_with_invalid_char": + defaultResource.setDescription("\uC2B5"); + expectedResourceAuditJavaObject.setDesc("t"); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_INVALID_DESCRIPTION.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; +// // TODO: defect on the flow - need to get error instead create VFC +// case "resource_type_missing": +// defaultResource.setResourceType(""); +// expectedResourceAuditJavaObject.setResourceType(""); +// errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_MISSING_DESCRIPTION.name()); +// variables = asList(ComponentTypeEnum.RESOURCE.getValue()); +// break; + // TODO: in audit RESOURCE_NAME is empty + case "resource_type_invalid": + defaultResource.setResourceType("invalid"); + expectedResourceAuditJavaObject.setResourceType("invalid"); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_CONTENT.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + case "category_type_missing": + defaultResource.setCategory(""); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_MISSING_CATEGORY.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + // TODO: not correct response code in this flow - 500 instead 400 + case "category_type_invalid": + defaultResource.setCategory("invalid"); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_INVALID_CATEGORY.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + case "subcategory_type_missing": + defaultResource.setSubcategory(""); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_MISSING_SUBCATEGORY.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + // TODO: not correct error - it not missing it not correct + case "subcategory_type_invalid": + defaultResource.setSubcategory("invalid"); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_SUB_CATEGORY_NOT_FOUND_FOR_CATEGORY.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + case "vendor_name_missing": + defaultResource.setVendorName(""); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_VENDOR_NAME.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + case "vendor_name_to_long": + defaultResource.setVendorName("asdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdff"); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.VENDOR_NAME_EXCEEDS_LIMIT.name()); + variables = asList("25"); + break; + case "vendor_name_with_invalid_char": + defaultResource.setVendorName("!@#$*()&*^%$#@"); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_VENDOR_NAME.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + case "vendor_release_missing": + defaultResource.setVendorRelease(""); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_VENDOR_RELEASE.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + case "vendor_release_to_long": + defaultResource.setVendorRelease("asdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdff"); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.VENDOR_RELEASE_EXCEEDS_LIMIT.name()); + variables = asList("25"); + break; + case "vendor_release_with_invalid_char": + defaultResource.setVendorRelease("!@#$*()&*^%$#@"); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_VENDOR_RELEASE.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + case "tags_missing": + defaultResource.setTags(asList("")); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_FIELD_FORMAT.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue(), "tag"); + break; + case "tags_to_long": + defaultResource.setTags(asList("asdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdffasdff")); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_SINGLE_TAG_EXCEED_LIMIT.name()); + variables = asList("1024"); + break; + case "tags_invalid": + defaultResource.setTags(asList("asfdg")); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_INVALID_TAGS_NO_COMP_NAME.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + case "icon_missing": + defaultResource.setIcon(""); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_MISSING_ICON.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + case "att_contact_missing": + defaultResource.setContactId(""); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_MISSING_CONTACT.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + case "att_contact_invalid": + default: + defaultResource.setContactId("abcderfffdfdfd"); + errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_INVALID_CONTACT.name()); + variables = asList(ComponentTypeEnum.RESOURCE.getValue()); + break; + } + + // create vfcmt + RestResponse restResponse = ResourceRestUtilsExternalAPI.createResource(defaultResource, defaultUser); + + expectedResourceAuditJavaObject.setStatus("400"); + expectedResourceAuditJavaObject.setDesc(AuditValidationUtils.buildAuditDescription(errorInfo, variables)); + AuditValidationUtils.validateAuditExternalCreateResource(expectedResourceAuditJavaObject, action.getName(), body); + + } + + + + + + + + + + + +} diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ValidateConformanceLevel.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ValidateConformanceLevel.java new file mode 100644 index 0000000000..08e7539b28 --- /dev/null +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/ValidateConformanceLevel.java @@ -0,0 +1,78 @@ +/*- + * ============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.devCI; + +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertTrue; + +import org.junit.Rule; +import org.junit.rules.TestName; +import org.openecomp.sdc.be.model.Component; +import org.openecomp.sdc.be.model.Service; +import org.openecomp.sdc.be.model.User; +import org.openecomp.sdc.be.utils.CommonBeUtils; +import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; +import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; +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.AtomicOperationUtils; +import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; +import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.ComponentRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser; +import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils; +import org.testng.annotations.AfterTest; +import org.testng.annotations.BeforeTest; +import org.testng.annotations.Test; + +public class ValidateConformanceLevel extends ComponentBaseTest { + + @Rule + public static TestName name = new TestName(); + + public ValidateConformanceLevel() { + super(name, ValidateConformanceLevel.class.getName()); + } + + @Test + public void testValidateServiceConformanceLevel() throws Exception { + User user = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + ServiceReqDetails service = ElementFactory.getDefaultService(); + RestResponse createdService = ServiceRestUtils.createService(service, user); + BaseRestUtils.checkCreateResponse(createdService); + Service serviceFirstImport = ResponseParser.parseToObjectUsingMapper(createdService.getResponse(), Service.class); + Component serviceObject = AtomicOperationUtils.changeComponentState(serviceFirstImport, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true).getLeft(); + + RestResponse apiRes = ComponentRestUtils.validateConformanceLevel(serviceObject.getUniqueId(), user.getUserId()); + String result = apiRes.getResponse(); + assertTrue(apiRes.getErrorCode() == 200); + assertTrue(result.equals("true")); + } + + @Test + public void testValidateConformanceLevel404() throws Exception { + User user = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + RestResponse apiRes = ComponentRestUtils.validateConformanceLevel("fake-uuid-for-test", user.getUserId()); + assertTrue(apiRes.getErrorCode() == 404); + } +} diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/test1.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/test1.java new file mode 100644 index 0000000000..be32d544ec --- /dev/null +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/devCI/test1.java @@ -0,0 +1,102 @@ +/*- + * ============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.devCI; + +import static org.testng.AssertJUnit.assertNotNull; + +import java.io.IOException; +import java.text.ParseException; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import org.junit.Rule; +import org.junit.rules.TestName; +import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; +import org.openecomp.sdc.be.model.Component; +import org.openecomp.sdc.be.model.Resource; +import org.openecomp.sdc.be.model.Service; +import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; +import org.openecomp.sdc.ci.tests.config.Config; +import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; +import org.openecomp.sdc.ci.tests.datatypes.enums.DistributionNotificationStatusEnum; +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.DistributionUtils; +import org.openecomp.sdc.ci.tests.utils.Utils; +import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils; +import org.openecomp.sdc.ci.tests.utils.validation.DistributionValidationUtils; +import org.testng.annotations.Test; + +import org.openecomp.sdc.utils.DistributionStatusEnum; + +import fj.data.Either; + +public class test1 extends ComponentBaseTest{ + + @Rule + public static TestName name = new TestName(); + + public test1() { + super(name, CRUDExternalAPI.class.getName()); + + } + + @Test() + public void uploadArtifactOnServiceViaExternalAPI() throws Exception { + Config config = Utils.getConfig(); + + Service service = AtomicOperationUtils.createServiceByCategory(ServiceCategoriesEnum.MOBILITY, UserRoleEnum.DESIGNER, true).left().value(); + AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.MODEL_QUERY_SPEC, service, UserRoleEnum.DESIGNER, true, true); + service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); + if(config.getIsDistributionClientRunning()){ + List<String> distributionStatusList = Arrays.asList(DistributionNotificationStatusEnum.DOWNLOAD_OK.toString(), DistributionNotificationStatusEnum.DEPLOY_OK.toString(), DistributionNotificationStatusEnum.NOTIFIED.toString()); + DistributionValidationUtils.validateDistributedArtifactsByAudit(service, distributionStatusList); + } + } + + + public static Map<String, String> addVNF_ModuleDeploymentArtifactToMap(Service service, Map<String, String> distributionArtifactMap){ + + + return distributionArtifactMap; + } + + public Component getComponentInTargetLifeCycleState(String componentType, UserRoleEnum creatorUser, LifeCycleStatesEnum targetLifeCycleState) throws Exception { + Component component = null; + + if(componentType.toLowerCase().equals("vf")) { + Either<Resource, RestResponse> createdResource = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VF, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, creatorUser, true); + component = createdResource.left().value(); + component = AtomicOperationUtils.changeComponentState(component, creatorUser, targetLifeCycleState, true).getLeft(); + } else { + Either<Service, RestResponse> createdResource = AtomicOperationUtils.createDefaultService(creatorUser, true); + component = createdResource.left().value(); + component = AtomicOperationUtils.changeComponentState(component, creatorUser, targetLifeCycleState, true).getLeft(); + } + + return component; + } +} diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/distribution/DistributionDownloadArtifactTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/distribution/DistributionDownloadArtifactTest.java index 6cf5626e7e..255dfd9de2 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/distribution/DistributionDownloadArtifactTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/distribution/DistributionDownloadArtifactTest.java @@ -37,6 +37,7 @@ import org.openecomp.sdc.be.datatypes.elements.ConsumerDataDefinition; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; import org.openecomp.sdc.be.model.ArtifactDefinition; 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.ComponentBaseTest; import org.openecomp.sdc.ci.tests.api.Urls; @@ -45,13 +46,16 @@ import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; +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.UserRoleEnum; import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedDistDownloadAudit; import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; +import org.openecomp.sdc.ci.tests.utils.ArtifactUtils; import org.openecomp.sdc.ci.tests.utils.Utils; +import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; @@ -103,10 +107,6 @@ public class DistributionDownloadArtifactTest extends ComponentBaseTest { // serviceBaseVersion = "0.1"; // designerUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); // adminUser = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN); - //// resourceDetails = - // ElementFactory.getDefaultResource("tosca.nodes.newnotgenericresource4testNew", - // NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, - // "jh0003"); // resourceDetails = // ElementFactory.getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, // NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, @@ -125,10 +125,6 @@ public class DistributionDownloadArtifactTest extends ComponentBaseTest { serviceBaseVersion = "0.1"; designerUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); adminUser = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN); - // resourceDetails = - // ElementFactory.getDefaultResource("tosca.nodes.newnotgenericresource4testNew", - // NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, - // "jh0003"); resourceDetails = ElementFactory.getDefaultResourceByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, adminUser); serviceDetails = ElementFactory.getDefaultService(); @@ -538,5 +534,63 @@ public class DistributionDownloadArtifactTest extends ComponentBaseTest { download_serviceVersionNotFound_inner(serviceDetails.getName(), "0.2", null, null); } + + @Test + public void downloadServiceToscaArtifactSuccess() throws Exception { + // Creates service + RestResponse serviceResponse = ServiceRestUtils.createService(serviceDetails, designerUser); + assertEquals("Check response code after creating resource", 201, serviceResponse.getErrorCode().intValue()); + Service service = ResponseParser.convertServiceResponseToJavaObject(serviceResponse.getResponse()); + service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); + // Approves service distribution + RestResponse serviceDistributionApproveRes = ServiceRestUtils.approveServiceDistribution(service.getUniqueId(), UserRoleEnum.GOVERNOR.getUserId()); + service = ResponseParser.convertServiceResponseToJavaObject(serviceDistributionApproveRes.getResponse()); + // Distributes service + RestResponse serviceDistributionRes = AtomicOperationUtils.distributeService(service, true); + service = ResponseParser.convertServiceResponseToJavaObject(serviceDistributionRes.getResponse()); + // Gets tosca template artifact from service + ArtifactDefinition toscaTemplateArtifact = service.getToscaArtifacts().get("assettoscatemplate"); + String expectedPayloadChecksum = toscaTemplateArtifact.getArtifactChecksum(); + String artifactName = toscaTemplateArtifact.getArtifactName(); + ArtifactReqDetails artifactDetails = ArtifactUtils.convertArtifactDefinitionToArtifactReqDetails(toscaTemplateArtifact); + // Downloads tosca template artifact + Map<String, String> authorizationHeaders = new HashMap<String, String>(); + authorizationHeaders.put(HttpHeaderEnum.AUTHORIZATION.getValue(), authorizationHeader); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, artifactDetails, + designerUser, authorizationHeaders); + assertEquals("Check response code after download resource", 200, restResponse.getErrorCode().intValue()); + + // Validating headers + // content disposition + List<String> contDispHeaderList = restResponse.getHeaderFields().get(Constants.CONTENT_DISPOSITION_HEADER); + assertNotNull(contDispHeaderList); + assertEquals("Check content disposition header", + new StringBuilder().append("attachment; filename=\"").append(artifactName).append("\"").toString(), + contDispHeaderList.get(0)); + + // content type + List<String> contTypeHeaderList = restResponse.getHeaderFields().get(Constants.CONTENT_TYPE_HEADER); + assertNotNull(contTypeHeaderList); + assertEquals("Check content type", "application/octet-stream", contTypeHeaderList.get(0)); + String actualContents = restResponse.getResponse(); + + // validating checksum + byte[] bytes = actualContents.getBytes(); + String actualPayloadChecksum = GeneralUtility.calculateMD5ByByteArray(bytes); + AssertJUnit.assertEquals(expectedPayloadChecksum, actualPayloadChecksum); + + // validating valid zip + InputStream is = new ByteArrayInputStream(bytes); + InputStream zis = new ZipInputStream(is); + zis.close(); + + // validate audit + String relativeUrl = encodeUrlForDownload(String.format(Urls.DISTRIB_DOWNLOAD_SERVICE_ARTIFACT_RELATIVE_URL, + ValidationUtils.convertToSystemName(serviceDetails.getName()), serviceBaseVersion, artifactName)); + String auditAction = "DArtifactDownload"; + ExpectedDistDownloadAudit expectedDistDownloadAudit = new ExpectedDistDownloadAudit(auditAction, + ResourceRestUtils.ecomp, encodeUrlForDownload(relativeUrl), "200", "OK"); + AuditValidationUtils.validateAudit(expectedDistDownloadAudit, auditAction); + } } diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/externalapi/DownloadArtifactsTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/externalapi/DownloadArtifactsTest.java index 3325227ebc..80b70d675e 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/externalapi/DownloadArtifactsTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/externalapi/DownloadArtifactsTest.java @@ -114,12 +114,22 @@ public class DownloadArtifactsTest extends ComponentBaseTest { public void init() { sdncDesignerDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); sdncAdminDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN); - resourceDetailsVF_01 = ElementFactory.getDefaultImportResourceByType("VF100", NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, sdncDesignerDetails.getUserId(), ResourceTypeEnum.VF.toString()); - resourceDetailsVF_02 = ElementFactory.getDefaultResourceByType("VF200", NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, sdncDesignerDetails.getUserId(), ResourceTypeEnum.VF.toString()); - resourceDetailsVF_03 = ElementFactory.getDefaultResourceByType("VF300", NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, sdncDesignerDetails.getUserId(), ResourceTypeEnum.VF.toString()); - resourceDetailsCP_01 = ElementFactory.getDefaultResourceByType("CP100", NormativeTypesEnum.PORT, ResourceCategoryEnum.GENERIC_NETWORK_ELEMENTS, sdncDesignerDetails.getUserId(), ResourceTypeEnum.CP.toString()); - serviceDetails_01 = ElementFactory.getDefaultService("newtestservice1", ServiceCategoriesEnum.MOBILITY, sdncDesignerDetails.getUserId()); - serviceDetails_02 = ElementFactory.getDefaultService("newtestservice2", ServiceCategoriesEnum.MOBILITY, sdncDesignerDetails.getUserId()); + resourceDetailsVF_01 = ElementFactory.getDefaultImportResourceByType("VF100", NormativeTypesEnum.ROOT, + ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, sdncDesignerDetails.getUserId(), + ResourceTypeEnum.VF.toString()); + resourceDetailsVF_02 = ElementFactory.getDefaultResourceByType("VF200", NormativeTypesEnum.ROOT, + ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, sdncDesignerDetails.getUserId(), + ResourceTypeEnum.VF.toString()); + resourceDetailsVF_03 = ElementFactory.getDefaultResourceByType("VF300", NormativeTypesEnum.ROOT, + ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, sdncDesignerDetails.getUserId(), + ResourceTypeEnum.VF.toString()); + resourceDetailsCP_01 = ElementFactory.getDefaultResourceByType("CP100", NormativeTypesEnum.PORT, + ResourceCategoryEnum.GENERIC_NETWORK_ELEMENTS, sdncDesignerDetails.getUserId(), + ResourceTypeEnum.CP.toString()); + serviceDetails_01 = ElementFactory.getDefaultService("newtestservice1", ServiceCategoriesEnum.MOBILITY, + sdncDesignerDetails.getUserId()); + serviceDetails_02 = ElementFactory.getDefaultService("newtestservice2", ServiceCategoriesEnum.MOBILITY, + sdncDesignerDetails.getUserId()); } @Test @@ -147,21 +157,33 @@ public class DownloadArtifactsTest extends ComponentBaseTest { private Service createServiceWithArtifacts() throws Exception { - ArtifactReqDetails otherArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.OTHER.getType()); - - RestResponse addInformationalArtifactToService = ArtifactRestUtils.addInformationalArtifactToService(otherArtifactDetails, sdncDesignerDetails, serviceDetails_01.getUniqueId()); - assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToService.getErrorCode(), addInformationalArtifactToService.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); - - ArtifactReqDetails yangXmlArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.YANG_XML.getType()); - - addInformationalArtifactToService = ArtifactRestUtils.addInformationalArtifactToService(yangXmlArtifactDetails, sdncDesignerDetails, serviceDetails_01.getUniqueId()); - assertTrue("response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + addInformationalArtifactToService.getErrorCode(), addInformationalArtifactToService.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + ArtifactReqDetails otherArtifactDetails = ElementFactory + .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.OTHER.getType()); + + RestResponse addInformationalArtifactToService = ArtifactRestUtils.addInformationalArtifactToService( + otherArtifactDetails, sdncDesignerDetails, serviceDetails_01.getUniqueId()); + assertTrue( + "response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + + addInformationalArtifactToService.getErrorCode(), + addInformationalArtifactToService.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + + ArtifactReqDetails yangXmlArtifactDetails = ElementFactory + .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.YANG_XML.getType()); + + addInformationalArtifactToService = ArtifactRestUtils.addInformationalArtifactToService(yangXmlArtifactDetails, + sdncDesignerDetails, serviceDetails_01.getUniqueId()); + assertTrue( + "response code is not BaseRestUtils.STATUS_CODE_SUCCESS, returned :" + + addInformationalArtifactToService.getErrorCode(), + addInformationalArtifactToService.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); RestResponse createServiceResponse = ServiceRestUtils.getService(serviceDetails_01, sdncDesignerDetails); return ResponseParser.convertServiceResponseToJavaObject(createServiceResponse.getResponse()); } - private RestResponse downloadResourceInstanceArtifact(Service service, ComponentInstance ri, ArtifactDefinition artifact) throws Exception { - String url = String.format(Urls.GET_DOWNLOAD_SERVICE_RI_ARTIFACT, "localhost", "8080", service.getUUID(), ri.getNormalizedName(), artifact.getArtifactUUID()); + private RestResponse downloadResourceInstanceArtifact(Service service, ComponentInstance ri, + ArtifactDefinition artifact) throws Exception { + String url = String.format(Urls.GET_DOWNLOAD_SERVICE_RI_ARTIFACT, "localhost", "8080", service.getUUID(), + ri.getUniqueId(), artifact.getArtifactUUID()); String userId = sdncDesignerDetails.getUserId(); Map<String, String> headersMap = new HashMap<String, String>(); headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), "application/json"); @@ -174,14 +196,16 @@ public class DownloadArtifactsTest extends ComponentBaseTest { sendAuthorizationRequest(); HttpRequest http = new HttpRequest(); RestResponse response = http.httpSendGet(url, headersMap); - if (response.getErrorCode() != 200 && response.getResponse().getBytes() == null && response.getResponse().getBytes().length == 0) { + if (response.getErrorCode() != 200 && response.getResponse().getBytes() == null + && response.getResponse().getBytes().length == 0) { return null; } return response; } private RestResponse downloadServiceArtifact(Service service, ArtifactDefinition artifact) throws Exception { - String url = String.format(Urls.GET_DOWNLOAD_SERVICE_ARTIFACT, "localhost", "8080", service.getUUID(), artifact.getArtifactUUID()); + String url = String.format(Urls.GET_DOWNLOAD_SERVICE_ARTIFACT, "localhost", "8080", service.getUUID(), + artifact.getArtifactUUID()); String userId = sdncDesignerDetails.getUserId(); Map<String, String> headersMap = new HashMap<String, String>(); headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), "application/json"); @@ -194,7 +218,8 @@ public class DownloadArtifactsTest extends ComponentBaseTest { sendAuthorizationRequest(); HttpRequest http = new HttpRequest(); RestResponse response = http.httpSendGet(url, headersMap); - if (response.getErrorCode() != 200 && response.getResponse().getBytes() == null && response.getResponse().getBytes().length == 0) { + if (response.getErrorCode() != 200 && response.getResponse().getBytes() == null + && response.getResponse().getBytes().length == 0) { return null; } return response; @@ -213,7 +238,9 @@ public class DownloadArtifactsTest extends ComponentBaseTest { } HttpRequest http = new HttpRequest(); - RestResponse response = http.httpSendPost(url, "{\"consumerName\":\"test\",\"consumerPassword\":\"0a0dc557c3bf594b1a48030e3e99227580168b21f44e285c69740b8d5b13e33b\",\"consumerSalt\":\"2a1f887d607d4515d4066fe0f5452a50\"}", headersMap); + RestResponse response = http.httpSendPost(url, + "{\"consumerName\":\"test\",\"consumerPassword\":\"0a0dc557c3bf594b1a48030e3e99227580168b21f44e285c69740b8d5b13e33b\",\"consumerSalt\":\"2a1f887d607d4515d4066fe0f5452a50\"}", + headersMap); if (response.getErrorCode() != 201) { return null; } @@ -223,8 +250,10 @@ public class DownloadArtifactsTest extends ComponentBaseTest { private Service createServiceWithRIsWithArtifacts() throws Exception { serviceDetails_02.setUniqueId(serviceDetails_01.getUniqueId()); createTreeCheckedinVFInstances(); - LifecycleRestUtils.changeResourceState(resourceDetailsCP_01, sdncDesignerDetails, "0.1", LifeCycleStatesEnum.CHECKIN); - createVFInstanceAndAtomicResourceInstanceWithoutCheckin(resourceDetailsVF_01, resourceDetailsCP_01, sdncDesignerDetails); + LifecycleRestUtils.changeResourceState(resourceDetailsCP_01, sdncDesignerDetails, "0.1", + LifeCycleStatesEnum.CHECKIN); + createVFInstanceAndAtomicResourceInstanceWithoutCheckin(resourceDetailsVF_01, resourceDetailsCP_01, + sdncDesignerDetails); RestResponse updateServiceResp = ServiceRestUtils.updateService(serviceDetails_02, sdncDesignerDetails); ServiceRestUtils.checkSuccess(updateServiceResp); getComponentAndValidateRIs(serviceDetails_01, 5, 0); @@ -233,15 +262,19 @@ public class DownloadArtifactsTest extends ComponentBaseTest { } private void createTreeCheckedinVFInstances() throws Exception { - RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); + RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, + sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createFirstVFInstResp); - RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); + RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, + sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createSecondVFInstResp); - RestResponse createThirdVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_03, sdncDesignerDetails); + RestResponse createThirdVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_03, + sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createThirdVFInstResp); } - private Component getComponentAndValidateRIs(ComponentReqDetails componentDetails, int numberOfRIs, int numberOfRelations) throws IOException, Exception { + private Component getComponentAndValidateRIs(ComponentReqDetails componentDetails, int numberOfRIs, + int numberOfRelations) throws IOException, Exception { RestResponse getResponse = null; Component component = null; @@ -258,42 +291,56 @@ public class DownloadArtifactsTest extends ComponentBaseTest { Assert.fail("Unsupported type of componentDetails - " + componentDetails.getClass().getSimpleName()); } ResourceRestUtils.checkSuccess(getResponse); - int numberOfActualRIs = component.getComponentInstances() != null ? component.getComponentInstances().size() : 0; - int numberOfActualRelations = component.getComponentInstancesRelations() != null ? component.getComponentInstancesRelations().size() : 0; + int numberOfActualRIs = component.getComponentInstances() != null ? component.getComponentInstances().size() + : 0; + int numberOfActualRelations = component.getComponentInstancesRelations() != null + ? component.getComponentInstancesRelations().size() : 0; assertEquals("Check number of RIs meet the expected number", numberOfRIs, numberOfActualRIs); - assertEquals("Check number of RI relations meet the expected number", numberOfRelations, numberOfActualRelations); + assertEquals("Check number of RI relations meet the expected number", numberOfRelations, + numberOfActualRelations); return component; } - private void createVFInstanceAndAtomicResourceInstanceWithoutCheckin(ResourceReqDetails vf, ResourceReqDetails atomicResource, User user) throws Exception { + private void createVFInstanceAndAtomicResourceInstanceWithoutCheckin(ResourceReqDetails vf, + ResourceReqDetails atomicResource, User user) throws Exception { RestResponse createVFInstance = createVFInstance(serviceDetails_01, vf, user); ResourceRestUtils.checkCreateResponse(createVFInstance); RestResponse atomicInstanceForService = createAtomicInstanceForService(serviceDetails_01, atomicResource, user); ResourceRestUtils.checkCreateResponse(atomicInstanceForService); } - private RestResponse createCheckedinVFInstance(ServiceReqDetails containerDetails, ResourceReqDetails compInstOriginDetails, User modifier) throws Exception { + private RestResponse createCheckedinVFInstance(ServiceReqDetails containerDetails, + ResourceReqDetails compInstOriginDetails, User modifier) throws Exception { changeResourceLifecycleState(compInstOriginDetails, modifier.getUserId(), LifeCycleStatesEnum.CHECKIN); return createVFInstance(containerDetails, compInstOriginDetails, modifier); } - private RestResponse createVFInstance(ServiceReqDetails containerDetails, ResourceReqDetails compInstOriginDetails, User modifier) throws Exception { - return createComponentInstance(containerDetails, compInstOriginDetails, modifier, ComponentTypeEnum.SERVICE, true); + private RestResponse createVFInstance(ServiceReqDetails containerDetails, ResourceReqDetails compInstOriginDetails, + User modifier) throws Exception { + return createComponentInstance(containerDetails, compInstOriginDetails, modifier, ComponentTypeEnum.SERVICE, + true); } - private RestResponse createAtomicInstanceForService(ServiceReqDetails containerDetails, ResourceReqDetails compInstOriginDetails, User modifier) throws Exception { - return createComponentInstance(containerDetails, compInstOriginDetails, modifier, ComponentTypeEnum.SERVICE, true); + private RestResponse createAtomicInstanceForService(ServiceReqDetails containerDetails, + ResourceReqDetails compInstOriginDetails, User modifier) throws Exception { + return createComponentInstance(containerDetails, compInstOriginDetails, modifier, ComponentTypeEnum.SERVICE, + true); } - private RestResponse createComponentInstance(ComponentReqDetails containerDetails, ComponentReqDetails compInstOriginDetails, User modifier, ComponentTypeEnum containerComponentTypeEnum, boolean isHighestLevel) throws IOException, Exception { - ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory.getComponentResourceInstance(compInstOriginDetails); - RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, modifier, containerDetails.getUniqueId(), containerComponentTypeEnum); + private RestResponse createComponentInstance(ComponentReqDetails containerDetails, + ComponentReqDetails compInstOriginDetails, User modifier, ComponentTypeEnum containerComponentTypeEnum, + boolean isHighestLevel) throws IOException, Exception { + ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory + .getComponentResourceInstance(compInstOriginDetails); + RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance( + resourceInstanceReqDetails, modifier, containerDetails.getUniqueId(), containerComponentTypeEnum); return createResourceInstanceResponse; } - private void changeResourceLifecycleState(ResourceReqDetails resourceDetails, String userId, LifeCycleStatesEnum lifeCycleStates) throws Exception { - RestResponse response = LifecycleRestUtils.changeResourceState(resourceDetails, userId, lifeCycleStates); + private void changeResourceLifecycleState(ResourceReqDetails resourceDetails, String userUserId, + LifeCycleStatesEnum lifeCycleStates) throws Exception { + RestResponse response = LifecycleRestUtils.changeResourceState(resourceDetails, userUserId, lifeCycleStates); LifecycleRestUtils.checkLCS_Response(response); } @@ -324,7 +371,7 @@ public class DownloadArtifactsTest extends ComponentBaseTest { private void importVfWithArtifacts(ImportReqDetails resourceDetailsVF_01) throws Exception { String payloadName = "VF_RI2_G4_withArtifacts.csar"; - Path path = Paths.get(rootPath + "/src/test/resources/CI/csars/VF_RI2_G4_withArtifacts.csar"); + Path path = Paths.get(rootPath + "/src/main/resources/ci/VF_RI2_G4_withArtifacts.csar"); byte[] data = Files.readAllBytes(path); String payloadData = Base64.encodeBase64String(data); resourceDetailsVF_01.setPayloadData(payloadData); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/externalapi/LifeCycleExternalAPI.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/externalapi/LifeCycleExternalAPI.java new file mode 100644 index 0000000000..510d8076be --- /dev/null +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/externalapi/LifeCycleExternalAPI.java @@ -0,0 +1,270 @@ +/*- + * ============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.externalapi; + +import java.io.IOException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.codehaus.jettison.json.JSONException; +import org.junit.Rule; +import org.junit.rules.TestName; +import org.openecomp.sdc.be.dao.api.ActionStatus; +import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; +import org.openecomp.sdc.be.model.User; +import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; +import org.openecomp.sdc.ci.tests.datatypes.ResourceAssetStructure; +import org.openecomp.sdc.ci.tests.datatypes.ResourceExternalReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ServiceAssetStructure; +import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; +import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum; +import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum; +import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedResourceAuditJavaObject; +import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; +import org.openecomp.sdc.ci.tests.utils.DbUtils; +import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils; +import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; +import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; +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.ResourceRestUtilsExternalAPI; +import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils; +import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils; +import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils; +import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum; +import org.testng.Assert; +import org.testng.AssertJUnit; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import com.google.gson.Gson; + +public class LifeCycleExternalAPI extends ComponentBaseTest{ + @Rule + public static final TestName name = new TestName(); + protected Gson gson = new Gson(); + + public LifeCycleExternalAPI() { + super(name, LifeCycleExternalAPI.class.getName()); + } + + @BeforeMethod + public void setup() { + AtomicOperationUtils.createDefaultConsumer(true); + } + + @Test + public void testReseourceSuccsesfullTransition() throws Exception{ + ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); + resourceDetails.setName("ciResource1"); + resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); + User defaultUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, + defaultUser); + ResourceAssetStructure parsedCreatedResponse = gson.fromJson(createResource.getResponse(), ResourceAssetStructure.class); + BaseRestUtils.checkCreateResponse(createResource); + + //CHECKIN + testResourceTransitionOfLifeCycle(parsedCreatedResponse,defaultUser, + LifeCycleStatesEnum.CHECKIN,null); + //testAudit(defaultUser,parsedCreatedResponse,"0.1",LifeCycleStatesEnum.CHECKOUT.name(),"201","OK"); + + //CERTIFICATIONREQUEST + testResourceTransitionOfLifeCycle(parsedCreatedResponse,defaultUser, + LifeCycleStatesEnum.CERTIFICATIONREQUEST,null); + + //CERTIFICATIONREQUEST + testResourceTransitionOfLifeCycle(parsedCreatedResponse,ElementFactory.getDefaultUser(UserRoleEnum.TESTER), + LifeCycleStatesEnum.STARTCERTIFICATION,null); + + //CERTIFICATIONREQUEST + testResourceTransitionOfLifeCycle(parsedCreatedResponse,ElementFactory.getDefaultUser(UserRoleEnum.TESTER), + LifeCycleStatesEnum.CERTIFY,"1.0"); + } + + @Test + public void testVFCMTSuccsesfullTransitionDesigner() throws Exception{ + User defaultUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + ResourceExternalReqDetails resourceDetails = ElementFactory.getDefaultResourceByType("ci1", ResourceCategoryEnum.TEMPLATE_MONITORING_TEMPLATE, defaultUser.getUserId(), ResourceTypeEnum.VFCMT.toString()); + + RestResponse restResponse = ResourceRestUtilsExternalAPI.createResource(resourceDetails, defaultUser); + ResourceAssetStructure parsedCreatedResponse = gson.fromJson(restResponse.getResponse(), ResourceAssetStructure.class); + + BaseRestUtils.checkCreateResponse(restResponse); + + //CHECKIN + testResourceTransitionOfLifeCycle(parsedCreatedResponse,ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + LifeCycleStatesEnum.CHECKIN,null); + + //CERTIFICATIONREQUEST + testResourceTransitionOfLifeCycle(parsedCreatedResponse,ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + LifeCycleStatesEnum.CERTIFY,"1.0"); + } + + @Test + public void testVFCMTSuccsesfullTransitionTester() throws Exception{ + User defaultUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + ResourceExternalReqDetails resourceDetails = ElementFactory.getDefaultResourceByType("ci1", ResourceCategoryEnum.TEMPLATE_MONITORING_TEMPLATE, defaultUser.getUserId(), ResourceTypeEnum.VFCMT.toString()); + + RestResponse restResponse = ResourceRestUtilsExternalAPI.createResource(resourceDetails, defaultUser); + ResourceAssetStructure parsedCreatedResponse = gson.fromJson(restResponse.getResponse(), ResourceAssetStructure.class); + + BaseRestUtils.checkCreateResponse(restResponse); + + //CHECKIN + testResourceTransitionOfLifeCycle(parsedCreatedResponse,ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + LifeCycleStatesEnum.CHECKIN,null); + + //CERTIFICATIONREQUEST + testResourceTransitionOfLifeCycle(parsedCreatedResponse,ElementFactory.getDefaultUser(UserRoleEnum.TESTER), + LifeCycleStatesEnum.CERTIFY,"1.0"); + } + + @Test + public void testVFCMTFailSubmitForTesting() throws Exception{ + User defaultUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + ResourceExternalReqDetails resourceDetails = ElementFactory.getDefaultResourceByType("ci1", ResourceCategoryEnum.TEMPLATE_MONITORING_TEMPLATE, defaultUser.getUserId(), ResourceTypeEnum.VFCMT.toString()); + + RestResponse restResponse = ResourceRestUtilsExternalAPI.createResource(resourceDetails, defaultUser); + ResourceAssetStructure parsedCreatedResponse = gson.fromJson(restResponse.getResponse(), ResourceAssetStructure.class); + + BaseRestUtils.checkCreateResponse(restResponse); + + //CHECKIN + testResourceTransitionOfLifeCycle(parsedCreatedResponse,ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + LifeCycleStatesEnum.CHECKIN,null); + + //CERTIFICATIONREQUEST + testFailResourceTransitionOfLifeCycle(parsedCreatedResponse,ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + LifeCycleStatesEnum.CERTIFICATIONREQUEST,400,ActionStatus.RESOURCE_VFCMT_LIFECYCLE_STATE_NOT_VALID.name(),Arrays.asList(LifeCycleStatesEnum.CERTIFICATIONREQUEST.getState())); + + //CERTIFICATIONREQUEST + testFailResourceTransitionOfLifeCycle(parsedCreatedResponse,ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + LifeCycleStatesEnum.STARTCERTIFICATION,400,ActionStatus.RESOURCE_VFCMT_LIFECYCLE_STATE_NOT_VALID.name(),Arrays.asList(LifeCycleStatesEnum.STARTCERTIFICATION.getState())); + } + + //@Test + public void testServiceSuccsesfullTransition() throws Exception{ + ServiceReqDetails serviceDetails = ElementFactory.getDefaultService(); + serviceDetails.setName("ciService1"); + RestResponse createService = ServiceRestUtils.createService(serviceDetails, + ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + ServiceAssetStructure parsedCreatedService = gson.fromJson(createService.getResponse(), ServiceAssetStructure.class); + BaseRestUtils.checkCreateResponse(createService); + + //CHECKIN + testServiceTransitionOfLifeCycle(serviceDetails, parsedCreatedService,ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + LifeCycleStatesEnum.CHECKIN,null); + + //CERTIFICATIONREQUEST + testServiceTransitionOfLifeCycle(serviceDetails, parsedCreatedService,ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), + LifeCycleStatesEnum.CERTIFICATIONREQUEST,null); + + //CERTIFICATIONREQUEST + testServiceTransitionOfLifeCycle(serviceDetails, parsedCreatedService,ElementFactory.getDefaultUser(UserRoleEnum.TESTER), + LifeCycleStatesEnum.STARTCERTIFICATION,null); + + //CERTIFICATIONREQUEST + testServiceTransitionOfLifeCycle(serviceDetails, parsedCreatedService,ElementFactory.getDefaultUser(UserRoleEnum.TESTER), + LifeCycleStatesEnum.CERTIFY,"1.0"); + } + + private void testFailResourceTransitionOfLifeCycle(ResourceAssetStructure parsedCreatedResponse, User user, + LifeCycleStatesEnum lifeCycleStatesEnum,int errorCode, String error,List<String> variables) throws IOException, JSONException { + RestResponse response = LifecycleRestUtils.changeExternalResourceState(parsedCreatedResponse.getUuid(),user, lifeCycleStatesEnum); + AssertJUnit.assertNotNull("check response object is not null", response); + AssertJUnit.assertNotNull("check error code exists in response", response.getErrorCode()); + AssertJUnit.assertEquals("Check response code is succses", errorCode, response.getErrorCode().intValue()); + + ErrorValidationUtils.checkBodyResponseOnError(error, variables,response.getResponse()); + } + + private void testResourceTransitionOfLifeCycle(ResourceAssetStructure parsedCreatedResponse, User user, + LifeCycleStatesEnum lifeCycleStatesEnum,String version) throws IOException { + RestResponse response = LifecycleRestUtils.changeExternalResourceState(parsedCreatedResponse.getUuid(),user, lifeCycleStatesEnum); + AssertJUnit.assertNotNull("check response object is not null", response); + AssertJUnit.assertNotNull("check error code exists in response", response.getErrorCode()); + AssertJUnit.assertEquals("Check response code is succses", 201, response.getErrorCode().intValue()); + ResourceAssetStructure parsedMetadata = gson.fromJson(response.getResponse(), ResourceAssetStructure.class); + + Assert.assertEquals(parsedMetadata.getUuid(),parsedCreatedResponse.getUuid()); + Assert.assertEquals(parsedMetadata.getInvariantUUID(),parsedCreatedResponse.getInvariantUUID()); + Assert.assertEquals(parsedMetadata.getName(),parsedCreatedResponse.getName()); + if (version==null){ + Assert.assertEquals(parsedMetadata.getVersion(),parsedCreatedResponse.getVersion()); + } else { + Assert.assertEquals(parsedMetadata.getVersion(),version); + } + Assert.assertEquals(parsedMetadata.getResourceType(),parsedCreatedResponse.getResourceType()); + Assert.assertEquals(parsedMetadata.getLifecycleState(),lifeCycleStatesEnum.getComponentState()); + Assert.assertEquals(parsedMetadata.getLastUpdaterUserId(),user.getUserId()); + Assert.assertEquals(parsedMetadata.getLastUpdaterFullName(),user.getFullName()); + } + + private void testServiceTransitionOfLifeCycle(ServiceReqDetails resourceDetails, + ServiceAssetStructure parsedCreatedResponse, User user, LifeCycleStatesEnum lifeCycleStatesEnum,String version) throws IOException { + RestResponse response = LifecycleRestUtils.changeExternalServiceState(resourceDetails,user, lifeCycleStatesEnum); + AssertJUnit.assertNotNull("check response object is not null", response); + AssertJUnit.assertNotNull("check error code exists in response", response.getErrorCode()); + AssertJUnit.assertEquals("Check response code is succses", 201, response.getErrorCode().intValue()); + ServiceAssetStructure parsedMetadata = gson.fromJson(response.getResponse(), ServiceAssetStructure.class); + + Assert.assertEquals(parsedMetadata.getUuid(),parsedCreatedResponse.getUuid()); + Assert.assertEquals(parsedMetadata.getInvariantUUID(),parsedCreatedResponse.getInvariantUUID()); + Assert.assertEquals(parsedMetadata.getName(),parsedCreatedResponse.getName()); + if (version==null){ + Assert.assertEquals(parsedMetadata.getVersion(),parsedCreatedResponse.getVersion()); + } else { + Assert.assertEquals(parsedMetadata.getVersion(),version); + } + Assert.assertEquals(parsedMetadata.getLifecycleState(),lifeCycleStatesEnum.getComponentState()); + Assert.assertEquals(parsedMetadata.getLastUpdaterUserId(),user.getUserId()); + } + + private void testAudit(User modifier,ResourceAssetStructure resource,String prevVersion,String prevLifecycle, + String errorCode, String error) throws Exception{ + DbUtils.cleanAllAudits(); + + //ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(currResource.getActionStatus().name()); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = new ExpectedResourceAuditJavaObject(); + String auditAction = "ChangeLyfecycleByAPI"; + expectedResourceAuditJavaObject.setAction(auditAction); + expectedResourceAuditJavaObject.setModifierUid(modifier.getUserId()); + expectedResourceAuditJavaObject.setModifierName(modifier.getFullName()); + expectedResourceAuditJavaObject.setResourceName(resource.getName()); + expectedResourceAuditJavaObject.setResourceType("Resource"); + expectedResourceAuditJavaObject.setPrevVersion(prevVersion); + expectedResourceAuditJavaObject.setCurrVersion(resource.getVersion()); + expectedResourceAuditJavaObject.setPrevState(prevLifecycle); + expectedResourceAuditJavaObject.setCurrState(resource.getLifecycleState()); + expectedResourceAuditJavaObject.setStatus(errorCode); +// List<String> variables = (currResource.getErrorParams() != null ? currResource.getErrorParams() : new ArrayList<String>()); +// String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables); + expectedResourceAuditJavaObject.setDesc(error); + Map <AuditingFieldsKeysEnum, String> body = new HashMap<>(); + body.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resource.getName()); + AuditValidationUtils.validateAuditExternalChangeLifecycle(expectedResourceAuditJavaObject, auditAction,body); + } +} diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/externalapi/UserAPIs.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/externalapi/UserAPIs.java new file mode 100644 index 0000000000..157f3157b8 --- /dev/null +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/externalapi/UserAPIs.java @@ -0,0 +1,473 @@ +/*- + * ============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.externalapi; + +import static org.testng.AssertJUnit.*; + +import java.io.IOException; +import java.lang.reflect.Type; +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Random; +import java.util.Set; + +import org.junit.Rule; +import org.junit.rules.TestName; +import org.openecomp.portalsdk.core.restful.domain.EcompRole; +import org.openecomp.portalsdk.core.restful.domain.EcompUser; +import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; +import org.openecomp.sdc.be.model.Resource; +import org.openecomp.sdc.be.model.User; +import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; +import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; +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.AtomicOperationUtils; +import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; +import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; +import org.openecomp.sdc.ci.tests.utils.rest.EcompUserRestUtils; +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.UserRestUtils; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; + +import fj.data.Either; + +import org.testng.Assert; + +public class UserAPIs extends ComponentBaseTest { + + @Rule + public static TestName name = new TestName(); + + public UserAPIs() { + super(name, UserAPIs.class.getName()); + } + + public User adminUser = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN); + + + @Test + public void createUserAllPosibleRoles() throws Exception { + + EcompUser ecompUser = new EcompUser(); + EcompRole ecompRole = new EcompRole(); + + List<EcompRole> allRoles = getAllRoles(); + + for (EcompRole ecompRole2 : allRoles) { + try { + + ///get list of users + List<EcompUser> allusersList = getAllusersList(); + int sizeBeforeChange = allusersList.size(); + + //create user + ecompUser.setLoginId(getUser()); + ecompRole.setId((long) ecompRole2.getId()); + ecompRole.setName(ecompRole2.getName()); + System.out.println(ecompRole2.getName()); + Set<EcompRole> setRoles = new HashSet<EcompRole>(); + setRoles.add(ecompRole); + ecompUser.setRoles(setRoles); + RestResponse pushUser = EcompUserRestUtils.pushUser(ecompUser); + BaseRestUtils.checkSuccess(pushUser); + + ///get list of users verify list size changed + allusersList = getAllusersList(); + int sizeAfterChange = allusersList.size(); + + assertTrue("List is Equel" , sizeBeforeChange != sizeAfterChange ); + pushUser = EcompUserRestUtils.pushUser(ecompUser); + + } finally { + deleteUser(ecompUser.getLoginId()); + } + + } + + } + + @Test + public void createSameUserTwiceTest() throws Exception { + + EcompUser ecompUser = new EcompUser(); + EcompRole ecompRole = new EcompRole(); + try { + + ///get list of users + List<EcompUser> allusersList = getAllusersList(); + int sizeBeforeChange = allusersList.size(); + + //create user + ecompUser.setLoginId(getUser()); + ecompRole.setId((long) 1); + ecompRole.setName("TESTER"); + Set<EcompRole> setRoles = new HashSet<EcompRole>(); + setRoles.add(ecompRole); + ecompUser.setRoles(setRoles); + RestResponse pushUser = EcompUserRestUtils.pushUser(ecompUser); + BaseRestUtils.checkSuccess(pushUser); + + ///get list of users verify list size changed + allusersList = getAllusersList(); + int sizeAfterChange = allusersList.size(); + + assertTrue("List is Equel" , sizeBeforeChange != sizeAfterChange ); + pushUser = EcompUserRestUtils.pushUser(ecompUser); + + } finally { + deleteUser(ecompUser.getLoginId()); + } + + } + + @Test + public void createSameUserTwiceDiffrentDataTest() throws Exception { + + EcompUser ecompUser = new EcompUser(); + EcompRole ecompRole = new EcompRole(); + try { + ///get list of users + List<EcompUser> allusersList = getAllusersList(); + int sizeBeforeChange = allusersList.size(); + + //create user + ecompUser.setLoginId(getUser()); + ecompRole.setId((long) 1); + ecompRole.setName("TESTER"); + Set<EcompRole> setRoles = new HashSet<EcompRole>(); + setRoles.add(ecompRole); + ecompUser.setRoles(setRoles); + RestResponse pushUser = EcompUserRestUtils.pushUser(ecompUser); + BaseRestUtils.checkSuccess(pushUser); + + ///get list of users verify list size changed + allusersList = getAllusersList(); + int sizeAfterChange = allusersList.size(); + + assertTrue("List is Equel" , sizeBeforeChange != sizeAfterChange ); + + //update role + ecompRole.setId((long) 2); + ecompRole.setName("DESIGNER"); + setRoles = new HashSet<EcompRole>(); + setRoles.add(ecompRole); + ecompUser.setRoles(setRoles); + + pushUser = EcompUserRestUtils.pushUser(ecompUser); + + } finally { + deleteUser(ecompUser.getLoginId()); + } + + } + + @Test + public void updateUserRoleTest() throws Exception { + + EcompUser ecompUser = new EcompUser(); + EcompRole ecompRole = new EcompRole(); + try { + //create user + ecompUser.setLoginId(getUser()); + ecompRole.setId((long) 1); + ecompRole.setName("TESTER"); + Set<EcompRole> setRoles = new HashSet<EcompRole>(); + setRoles.add(ecompRole); + ecompUser.setRoles(setRoles); + RestResponse pushUser = EcompUserRestUtils.pushUser(ecompUser); + BaseRestUtils.checkSuccess(pushUser); + + List<EcompRole> userRolesBefore = getUserRoles(ecompUser); + + //update role + ecompRole = new EcompRole(); + ecompRole.setId((long) 2); + ecompRole.setName("DESIGNER"); + List<EcompRole> list= new ArrayList<EcompRole>(); + list.add(ecompRole); + + EcompUserRestUtils.pushUserRoles(ecompUser.getLoginId(), list); + + List<EcompRole> userRolesAfter = getUserRoles(ecompUser); + + assertFalse("role wasn't changed", userRolesBefore.equals(userRolesAfter)); + } finally { + deleteUser(ecompUser.getLoginId()); + } + + } + + @Test + public void addUserCreateResource() throws Exception { + + EcompUser ecompUser = new EcompUser(); + EcompRole ecompRole = new EcompRole(); + Resource resource = new Resource(); + + try { + //create user + ecompUser.setLoginId(getUser()); + ecompRole.setId((long) 2); + ecompRole.setName("DESIGNER"); + Set<EcompRole> setRoles = new HashSet<EcompRole>(); + setRoles.add(ecompRole); + ecompUser.setRoles(setRoles); + RestResponse pushUser = EcompUserRestUtils.pushUser(ecompUser); + BaseRestUtils.checkSuccess(pushUser); + + UserRoleEnum.DESIGNER.setUserId(ecompUser.getLoginId()); + resource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + + } finally { + ResourceRestUtils.deleteResource(resource.getUniqueId(), adminUser.getUserId()); + deleteUser(ecompUser.getLoginId()); + } + + } + + @Test + public void changeUserRoleWithCheckOutResource() throws Exception { + EcompUser ecompUser = new EcompUser(); + EcompRole ecompRole = new EcompRole(); + Resource resource = new Resource(); + try { + + //create user + ecompUser.setLoginId(getUser()); + ecompRole.setId((long) 2); + ecompRole.setName("DESIGNER"); + Set<EcompRole> setRoles = new HashSet<EcompRole>(); + setRoles.add(ecompRole); + ecompUser.setRoles(setRoles); + RestResponse pushUser = EcompUserRestUtils.pushUser(ecompUser); + BaseRestUtils.checkSuccess(pushUser); + + UserRoleEnum.DESIGNER.setUserId(ecompUser.getLoginId()); + resource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + + //update role + ecompRole = new EcompRole(); + ecompRole.setId((long) 1); + ecompRole.setName("TESTER"); + List<EcompRole> list= new ArrayList<EcompRole>(); + list.add(ecompRole); + + RestResponse pushUserRoles = EcompUserRestUtils.pushUserRoles(ecompUser.getLoginId(), list); +// assertTrue("wrong response code :" , pushUserRoles.getErrorCode() == BaseRestUtils.STATUS_CODE_ALREADY_EXISTS); + + } finally { + ResourceRestUtils.deleteResource(resource.getUniqueId(), adminUser.getUserId()); + deleteUser(ecompUser.getLoginId()); + } + } + + @Test + public void changeUserRoleWithStartTestingResource() throws Exception { + + EcompUser ecompUser = new EcompUser(); + EcompRole ecompRole = new EcompRole(); + Resource resource= new Resource(); + + try { + //create user + ecompUser.setLoginId(getUser()); + ecompRole.setId((long) 2); + ecompRole.setName("DESIGNER"); + Set<EcompRole> setRoles = new HashSet<EcompRole>(); + setRoles.add(ecompRole); + ecompUser.setRoles(setRoles); + RestResponse pushUser = EcompUserRestUtils.pushUser(ecompUser); + BaseRestUtils.checkSuccess(pushUser); + + UserRoleEnum.DESIGNER.setUserId(ecompUser.getLoginId()); + + resource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + AtomicOperationUtils.changeComponentState(resource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.STARTCERTIFICATION, true); + + + //update role + ecompRole = new EcompRole(); + ecompRole.setId((long) 1); + ecompRole.setName("TESTER"); + List<EcompRole> list= new ArrayList<EcompRole>(); + list.add(ecompRole); + + RestResponse pushUserRoles = EcompUserRestUtils.pushUserRoles(ecompUser.getLoginId(), list); + BaseRestUtils.checkSuccess(pushUserRoles); + + } finally { + ResourceRestUtils.deleteResource(resource.getUniqueId(), adminUser.getUserId()); + deleteUser(ecompUser.getLoginId()); + } + } + + @Test + public void fillAllEcompFields() throws Exception { + EcompUser ecompUser = new EcompUser(); + EcompRole ecompRole = new EcompRole(); + try { + + ///get list of users + List<EcompUser> allusersList = getAllusersList(); + int sizeBeforeChange = allusersList.size(); + + //create user + ecompUser.setLoginId(getUser()); + ecompUser.setOrgId((long) 123); + ecompUser.setManagerId("ci4321"); + ecompUser.setFirstName("firstName"); + ecompUser.setMiddleInitial("middleInitial"); + ecompUser.setLastName("lastName"); + ecompUser.setPhone("phone"); + ecompUser.setEmail("email@email.com"); + ecompUser.setHrid("hrid"); + ecompUser.setOrgUserId("orgUserId"); + ecompUser.setOrgCode("orgCode"); + ecompUser.setOrgManagerUserId("ci1234"); + ecompUser.setJobTitle("jobTitle"); + ecompUser.setActive(true); + ecompRole.setId((long) 1); + ecompRole.setName("TESTER"); + Set<EcompRole> setRoles = new HashSet<EcompRole>(); + setRoles.add(ecompRole); + ecompUser.setRoles(setRoles); + RestResponse pushUser = EcompUserRestUtils.pushUser(ecompUser); + BaseRestUtils.checkSuccess(pushUser); + + ///get list of users verify list size changed + allusersList = getAllusersList(); + int sizeAfterChange = allusersList.size(); + + assertTrue("List is Equel" , sizeBeforeChange != sizeAfterChange ); + + } finally { + + deleteUser(ecompUser.getLoginId()); + } + } + + @Test + public void missingMandatoryFieldRole() throws Exception { + + EcompUser ecompUser = new EcompUser(); + try { + ///get list of users + List<EcompUser> allusersList = getAllusersList(); + int sizeBeforeChange = allusersList.size(); + + //create user + ecompUser.setLoginId(getUser()); + RestResponse pushUser = EcompUserRestUtils.pushUser(ecompUser); + BaseRestUtils.checkSuccess(pushUser); + + ///get list of users verify list size changed + allusersList = getAllusersList(); + int sizeAfterChange = allusersList.size(); + + assertTrue("List is Equel" , sizeBeforeChange != sizeAfterChange ); + + } finally { + deleteUser(ecompUser.getLoginId()); + } + } + + @Test + public void missingMandatoryFieldATTid() throws Exception { + + EcompUser ecompUser = new EcompUser(); + EcompRole ecompRole = new EcompRole(); + try { + + //create user + ecompUser.setLoginId(""); + ecompRole.setId((long) 1); + ecompRole.setName("TESTER"); + Set<EcompRole> setRoles = new HashSet<EcompRole>(); + setRoles.add(ecompRole); + ecompUser.setRoles(setRoles); + RestResponse pushUser = EcompUserRestUtils.pushUser(ecompUser); + assertTrue("wrong response code :" , pushUser.getErrorCode() == BaseRestUtils.STATUS_CODE_INVALID_CONTENT); + + } finally { + deleteUser(ecompUser.getLoginId()); + } + + + } + + private List<EcompRole> getUserRoles(EcompUser ecompUser) throws IOException { + RestResponse userRoles = EcompUserRestUtils.getUserRoles(ecompUser.getLoginId()); + Type listType = new TypeToken<List<EcompRole>>() {}.getType(); + List<EcompRole> roleList = new Gson().fromJson(userRoles.getResponse(), listType); + return roleList; + } + + private void deleteUser(String userId) throws IOException { + User defaultUser = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + defaultUser.setUserId(userId); + + UserRestUtils.deleteUser(defaultUser, adminUser, true); + } + + private List<EcompUser> getAllusersList() throws IOException { + RestResponse allUsers = EcompUserRestUtils.getAllUsers(); + + Type listType = new TypeToken<List<EcompUser>>() {}.getType(); + List<EcompUser> usersList = new Gson().fromJson(allUsers.getResponse(), listType); + + return usersList; + } + + private List<EcompRole> getAllRoles() throws IOException { + RestResponse allRoles = EcompUserRestUtils.getAllAvailableRoles(); + + Type listType = new TypeToken<List<EcompRole>>() {}.getType(); + List<EcompRole> availableRoles = new Gson().fromJson(allRoles.getResponse(), listType); + + return availableRoles; + } + + private String getUser() { + + String returnMe = "ci"+ new BigInteger(getRandomNumber(4)); + System.out.println(returnMe); + + + return returnMe; + } + + private static Random rnd = new Random(); + + public static String getRandomNumber(int digCount) { + StringBuilder sb = new StringBuilder(digCount); + for(int i=0; i < digCount; i++) + sb.append((char)('0' + rnd.nextInt(10))); + return sb.toString(); + } +} diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/general/BasicHttpAuthenticationTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/general/BasicHttpAuthenticationTest.java index 83a50baeeb..bc114e22c5 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/general/BasicHttpAuthenticationTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/general/BasicHttpAuthenticationTest.java @@ -52,6 +52,7 @@ import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedAuthenticationAudit import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; import org.openecomp.sdc.ci.tests.utils.DbUtils; +import org.openecomp.sdc.ci.tests.utils.Utils; import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils; @@ -120,24 +121,30 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { public void init() throws Exception { sdncUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - Resource resourceObject = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value(); + Resource resourceObject = AtomicOperationUtils + .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value(); resourceDetails = new ResourceReqDetails(resourceObject); Service serviceObject = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); serviceDetails = new ServiceReqDetails(serviceObject); deploymentArtifact = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType()); - RestResponse response = ArtifactRestUtils.addInformationalArtifactToResource(deploymentArtifact, sdncUserDetails, resourceDetails.getUniqueId()); - AssertJUnit.assertTrue("add HEAT artifact to resource request returned status:" + response.getErrorCode(), response.getErrorCode() == 200); + RestResponse response = ArtifactRestUtils.addInformationalArtifactToResource(deploymentArtifact, + sdncUserDetails, resourceDetails.getUniqueId()); + AssertJUnit.assertTrue("add HEAT artifact to resource request returned status:" + response.getErrorCode(), + response.getErrorCode() == 200); componentInstanceReqDetails = ElementFactory.getDefaultComponentInstance(); // certified resource response = LifecycleRestUtils.certifyResource(resourceDetails); - AssertJUnit.assertTrue("certify resource request returned status:" + response.getErrorCode(), response.getErrorCode() == 200); + AssertJUnit.assertTrue("certify resource request returned status:" + response.getErrorCode(), + response.getErrorCode() == 200); // add resource instance with HEAT deployment artifact to the service componentInstanceReqDetails.setComponentUid(resourceDetails.getUniqueId()); - response = ComponentInstanceRestUtils.createComponentInstance(componentInstanceReqDetails, sdncUserDetails, serviceDetails.getUniqueId(), ComponentTypeEnum.SERVICE); - AssertJUnit.assertTrue("response code is not 201, returned: " + response.getErrorCode(), response.getErrorCode() == 201); + response = ComponentInstanceRestUtils.createComponentInstance(componentInstanceReqDetails, sdncUserDetails, + serviceDetails.getUniqueId(), ComponentTypeEnum.SERVICE); + AssertJUnit.assertTrue("response code is not 201, returned: " + response.getErrorCode(), + response.getErrorCode() == 201); expectedAuthenticationAudit = new ExpectedAuthenticationAudit(); // RestResponse addDeploymentArtifactResponse = @@ -152,13 +159,18 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { // serviceDetails.getVersion(), // ValidationUtils.normalizeFileName(deploymentArtifact.getArtifactName())); - expectedDownloadResourceUrl = String.format(Urls.DISTRIB_DOWNLOAD_RESOURCE_ARTIFACT_RELATIVE_URL, ValidationUtils.convertToSystemName(serviceDetails.getName()), serviceDetails.getVersion(), - ValidationUtils.convertToSystemName(resourceDetails.getName()), resourceDetails.getVersion(), ValidationUtils.normalizeFileName(deploymentArtifact.getArtifactName())); - expectedDownloadResourceUrl = expectedDownloadResourceUrl.substring("/asdc/".length(), expectedDownloadResourceUrl.length()); + expectedDownloadResourceUrl = String.format(Urls.DISTRIB_DOWNLOAD_RESOURCE_ARTIFACT_RELATIVE_URL, + ValidationUtils.convertToSystemName(serviceDetails.getName()), serviceDetails.getVersion(), + ValidationUtils.convertToSystemName(resourceDetails.getName()), resourceDetails.getVersion(), + ValidationUtils.normalizeFileName(deploymentArtifact.getArtifactName())); + expectedDownloadResourceUrl = expectedDownloadResourceUrl.substring("/asdc/".length(), + expectedDownloadResourceUrl.length()); - expectedDownloadServiceUrl = String.format(Urls.DISTRIB_DOWNLOAD_SERVICE_ARTIFACT_RELATIVE_URL, ValidationUtils.convertToSystemName(serviceDetails.getName()), serviceDetails.getVersion(), + expectedDownloadServiceUrl = String.format(Urls.DISTRIB_DOWNLOAD_SERVICE_ARTIFACT_RELATIVE_URL, + ValidationUtils.convertToSystemName(serviceDetails.getName()), serviceDetails.getVersion(), ValidationUtils.normalizeFileName(deploymentArtifact.getArtifactName())); - expectedDownloadServiceUrl = expectedDownloadServiceUrl.substring("/asdc/".length(), expectedDownloadServiceUrl.length()); + expectedDownloadServiceUrl = expectedDownloadServiceUrl.substring("/asdc/".length(), + expectedDownloadServiceUrl.length()); sdncAdminUserDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN); consumerDataDefinition = createConsumer(); @@ -185,19 +197,24 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { // RestResponse restResponse = // ArtifactRestUtils.downloadServiceArtifact(serviceDetails, // deploymentArtifact, sdncUserDetails, authorizationHeader); - RestResponse restResponse = ArtifactRestUtils.downloadResourceArtifact(serviceDetails, resourceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); - AssertJUnit.assertEquals("Check response code after download artifact", 200, restResponse.getErrorCode().intValue()); + RestResponse restResponse = ArtifactRestUtils.downloadResourceArtifact(serviceDetails, resourceDetails, + deploymentArtifact, sdncUserDetails, authorizationHeader); + AssertJUnit.assertEquals("Check response code after download artifact", 200, + restResponse.getErrorCode().intValue()); AssertJUnit.assertFalse(restResponse.getHeaderFields().containsKey(HttpHeaderEnum.WWW_AUTHENTICATE.getValue())); validateAuditAuthentication(USER, AUTH_SUCCESS, ComponentTypeEnum.RESOURCE); } - protected void validateAuditAuthentication(String userName, String AuthStatus, ComponentTypeEnum compType) throws Exception { + protected void validateAuditAuthentication(String userName, String AuthStatus, ComponentTypeEnum compType) + throws Exception { if (compType.equals(ComponentTypeEnum.RESOURCE)) { - expectedAuthenticationAudit = new ExpectedAuthenticationAudit(expectedDownloadResourceUrl, userName, auditAction, AuthStatus); + expectedAuthenticationAudit = new ExpectedAuthenticationAudit(expectedDownloadResourceUrl, userName, + auditAction, AuthStatus); } else { - expectedAuthenticationAudit = new ExpectedAuthenticationAudit(expectedDownloadServiceUrl, userName, auditAction, AuthStatus); + expectedAuthenticationAudit = new ExpectedAuthenticationAudit(expectedDownloadServiceUrl, userName, + auditAction, AuthStatus); } AuditValidationUtils.validateAuthenticationAudit(expectedAuthenticationAudit); } @@ -213,9 +230,11 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { @Test public void sendAuthenticatedRequestWithoutHeadersTest() throws Exception, Exception { - RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, new HashMap<String, String>()); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, new HashMap<String, String>()); assertEquals("Check response code after download artifact", 401, restResponse.getErrorCode().intValue()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.AUTH_REQUIRED.name(), new ArrayList<String>(), restResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.AUTH_REQUIRED.name(), new ArrayList<String>(), + restResponse.getResponse()); assertTrue(restResponse.getHeaderFields().containsKey(WWW_AUTHENTICATE)); List<String> getAuthenticateHeader = restResponse.getHeaderFields().get(WWW_AUTHENTICATE); assertEquals("www-authenticate header contains more then one value", 1, getAuthenticateHeader.size()); @@ -228,9 +247,11 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { public void sendAuthenticatedRequestTest_userIsNotProvsioned() throws Exception, Exception { String userName = "shay"; Map<String, String> authorizationHeader = BaseRestUtils.addAuthorizeHeader(userName, "123456"); - RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, authorizationHeader); assertEquals("Check response code after download artifact", 403, restResponse.getErrorCode().intValue()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.AUTH_FAILED.name(), new ArrayList<String>(), restResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.AUTH_FAILED.name(), new ArrayList<String>(), + restResponse.getResponse()); assertFalse(restResponse.getHeaderFields().containsKey(WWW_AUTHENTICATE)); validateAuditAuthentication(userName, AUTH_FAILED_USER_NOT_FOUND, ComponentTypeEnum.SERVICE); @@ -240,9 +261,11 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { public void sendAuthenticatedRequestTest_userIsNull() throws Exception, Exception { String userName = ""; Map<String, String> authorizationHeader = BaseRestUtils.addAuthorizeHeader(userName, "123456"); - RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, authorizationHeader); assertEquals("Check response code after download artifact", 403, restResponse.getErrorCode().intValue()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.AUTH_FAILED.name(), new ArrayList<String>(), restResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.AUTH_FAILED.name(), new ArrayList<String>(), + restResponse.getResponse()); assertFalse(restResponse.getHeaderFields().containsKey(WWW_AUTHENTICATE)); validateAuditAuthentication(userName, AUTH_FAILED_USER_NOT_FOUND, ComponentTypeEnum.SERVICE); @@ -252,9 +275,11 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { public void sendAuthenticatedRequestTest_passwordIsNull() throws Exception, Exception { String userName = "ci"; Map<String, String> authorizationHeader = BaseRestUtils.addAuthorizeHeader(userName, ""); - RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, authorizationHeader); assertEquals("Check response code after download artifact", 403, restResponse.getErrorCode().intValue()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.AUTH_FAILED.name(), new ArrayList<String>(), restResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.AUTH_FAILED.name(), new ArrayList<String>(), + restResponse.getResponse()); assertFalse(restResponse.getHeaderFields().containsKey(WWW_AUTHENTICATE)); validateAuditAuthentication(userName, AUTH_FAILED_INVALID_PASSWORD, ComponentTypeEnum.SERVICE); @@ -264,9 +289,11 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { public void sendAuthenticatedRequestTest_passowrdIsNotValidated() throws Exception, Exception { String userCi = "ci"; Map<String, String> authorizationHeader = BaseRestUtils.addAuthorizeHeader(userCi, "98765"); - RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, authorizationHeader); assertEquals("Check response code after download artifact", 403, restResponse.getErrorCode().intValue()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.AUTH_FAILED.name(), new ArrayList<String>(), restResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.AUTH_FAILED.name(), new ArrayList<String>(), + restResponse.getResponse()); assertFalse(restResponse.getHeaderFields().containsKey(HttpHeaderEnum.WWW_AUTHENTICATE.getValue())); validateAuditAuthentication(userCi, AUTH_FAILED_INVALID_PASSWORD, ComponentTypeEnum.SERVICE); @@ -279,7 +306,8 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { String encodedUserCredentials = new String(encodeBase64); Map<String, String> authorizationHeader = new HashMap<String, String>(); authorizationHeader.put(HttpHeaderEnum.AUTHORIZATION.getValue(), encodedUserCredentials); - RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, authorizationHeader); assertEquals("Check response code after download artifact", 400, restResponse.getErrorCode().intValue()); assertFalse(restResponse.getHeaderFields().containsKey(HttpHeaderEnum.WWW_AUTHENTICATE.getValue())); @@ -289,11 +317,14 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { @Test(enabled = false) public void sendTwoAuthenticatedRequestsTest() throws Exception, Exception { Map<String, String> authorizationHeader = BaseRestUtils.addAuthorizeHeader(USER, PASSWORD); - RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, authorizationHeader); assertEquals("Check response code after download artifact", 200, restResponse.getErrorCode().intValue()); - RestResponse secondRestResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); - assertEquals("Check response code after second download artifact", 200, secondRestResponse.getErrorCode().intValue()); + RestResponse secondRestResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, authorizationHeader); + assertEquals("Check response code after second download artifact", 200, + secondRestResponse.getErrorCode().intValue()); } @Test(enabled = false) @@ -309,8 +340,10 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { RestResponse createResponse = ConsumerRestUtils.createConsumer(consumer, sdncAdminUserDetails); BaseRestUtils.checkCreateResponse(createResponse); - Map<String, String> authorizationHeader = BaseRestUtils.addAuthorizeHeader(consumer.getConsumerName(), PASSWORD); - RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); + Map<String, String> authorizationHeader = BaseRestUtils.addAuthorizeHeader(consumer.getConsumerName(), + PASSWORD); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, authorizationHeader); assertEquals("Check response code after download artifact", 200, restResponse.getErrorCode().intValue()); deleteResponse = ConsumerRestUtils.deleteConsumer(consumer, sdncAdminUserDetails); @@ -340,8 +373,10 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { RestResponse createResponse = ConsumerRestUtils.createConsumer(consumer, sdncAdminUserDetails); BaseRestUtils.checkCreateResponse(createResponse); - Map<String, String> authorizationHeader = BaseRestUtils.addAuthorizeHeader(consumer.getConsumerName(), PASSWORD); - RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); + Map<String, String> authorizationHeader = BaseRestUtils.addAuthorizeHeader(consumer.getConsumerName(), + PASSWORD); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, authorizationHeader); assertEquals("Check response code after download artifact", 200, restResponse.getErrorCode().intValue()); deleteResponse = ConsumerRestUtils.deleteConsumer(consumer, sdncAdminUserDetails); @@ -354,7 +389,8 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { @Test(enabled = false) public void sendAuthenticatedRequestTest_userValidation_3() throws Exception, Exception { Map<String, String> authorizationHeader = BaseRestUtils.addAuthorizeHeader("a:", "123456"); - RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, authorizationHeader); assertEquals("Check response code after download artifact", 200, restResponse.getErrorCode().intValue()); } @@ -369,7 +405,8 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { @Test(enabled = false) public void sendAuthenticatedRequestTest_passwordValidation_1() throws Exception, Exception { Map<String, String> authorizationHeader = BaseRestUtils.addAuthorizeHeader("A1", "123:456"); - RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, authorizationHeader); assertEquals("Check response code after download artifact", 200, restResponse.getErrorCode().intValue()); } @@ -383,7 +420,8 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { // users-configuration.yaml in runtime") public void sendAuthenticatedRequestTest_passwordValidation_2() throws Exception, Exception { Map<String, String> authorizationHeader = BaseRestUtils.addAuthorizeHeader("B2", "Sq123a456B"); - RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, authorizationHeader); assertEquals("Check response code after download artifact", 200, restResponse.getErrorCode().intValue()); } @@ -396,7 +434,8 @@ public class BasicHttpAuthenticationTest extends ComponentBaseTest { // @Ignore("add C3:111T-0-*# to file") public void sendAuthenticatedRequestTest_passwordValidation_3() throws Exception, Exception { Map<String, String> authorizationHeader = BaseRestUtils.addAuthorizeHeader("C3", "111T-0-*#"); - RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, sdncUserDetails, authorizationHeader); + RestResponse restResponse = ArtifactRestUtils.downloadServiceArtifact(serviceDetails, deploymentArtifact, + sdncUserDetails, authorizationHeader); assertEquals("Check response code after download artifact", 200, restResponse.getErrorCode().intValue()); } diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/general/ManageEcompConsumerCredentials.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/general/ManageEcompConsumerCredentials.java index 9e1b151c49..1551c99e66 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/general/ManageEcompConsumerCredentials.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/general/ManageEcompConsumerCredentials.java @@ -35,6 +35,7 @@ import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum; import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedEcomConsumerAudit; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; import org.openecomp.sdc.ci.tests.utils.DbUtils; +import org.openecomp.sdc.ci.tests.utils.Utils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.ConsumerRestUtils; import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils; @@ -191,29 +192,49 @@ public class ManageEcompConsumerCredentials extends ComponentBaseTest { } @Test - public void createEcompCredentialsByDesigner() throws Exception { // HttpCspUserId header contains Designer UserId - RestResponse createConsumerRest = ConsumerRestUtils.createConsumer(consumerDataDefinition, sdncDesignerUserDetails); - assertEquals("Check response code after create Consumer", STATUS_CODE_RESTRICTED_OPERATION, createConsumerRest.getErrorCode().intValue()); + public void createEcompCredentialsByDesigner() throws Exception { // HttpCspUserId + // header + // contains + // Designer + // UserId + RestResponse createConsumerRest = ConsumerRestUtils.createConsumer(consumerDataDefinition, + sdncDesignerUserDetails); + assertEquals("Check response code after create Consumer", STATUS_CODE_RESTRICTED_OPERATION, + createConsumerRest.getErrorCode().intValue()); // Get Consumer RestResponse getConsumerRest = ConsumerRestUtils.getConsumer(consumerDataDefinition, sdncAdminUserDetails); - assertEquals("Check response code after get Consumer", STATUS_CODE_NOT_FOUND, getConsumerRest.getErrorCode().intValue()); + assertEquals("Check response code after get Consumer", STATUS_CODE_NOT_FOUND, + getConsumerRest.getErrorCode().intValue()); // Audit validation - AuditValidationUtils.createEcompConsumerAuditFailure(ADD_ECOMP_USER_CREDENTIALS, consumerDataDefinition, sdncDesignerUserDetails, ActionStatus.RESTRICTED_OPERATION); + AuditValidationUtils.createEcompConsumerAuditFailure(ADD_ECOMP_USER_CREDENTIALS, consumerDataDefinition, + sdncDesignerUserDetails, ActionStatus.RESTRICTED_OPERATION); } @Test - public void createEcompCredentialsByTester() throws Exception { // HttpCspUserId header contains Tester UserId - RestResponse createConsumerRest = ConsumerRestUtils.createConsumer(consumerDataDefinition, sdncTesterUserDetails); - assertEquals("Check response code after create Consumer", STATUS_CODE_RESTRICTED_OPERATION, createConsumerRest.getErrorCode().intValue()); + public void createEcompCredentialsByTester() throws Exception { // HttpCspUserId + // header + // contains + // Tester + // UserId + RestResponse createConsumerRest = ConsumerRestUtils.createConsumer(consumerDataDefinition, + sdncTesterUserDetails); + assertEquals("Check response code after create Consumer", STATUS_CODE_RESTRICTED_OPERATION, + createConsumerRest.getErrorCode().intValue()); // Get Consumer RestResponse getConsumerRest = ConsumerRestUtils.getConsumer(consumerDataDefinition, sdncAdminUserDetails); - assertEquals("Check response code after get Consumer", STATUS_CODE_NOT_FOUND, getConsumerRest.getErrorCode().intValue()); + assertEquals("Check response code after get Consumer", STATUS_CODE_NOT_FOUND, + getConsumerRest.getErrorCode().intValue()); // Audit validation - AuditValidationUtils.createEcompConsumerAuditFailure(ADD_ECOMP_USER_CREDENTIALS, consumerDataDefinition, sdncTesterUserDetails, ActionStatus.RESTRICTED_OPERATION); + AuditValidationUtils.createEcompConsumerAuditFailure(ADD_ECOMP_USER_CREDENTIALS, consumerDataDefinition, + sdncTesterUserDetails, ActionStatus.RESTRICTED_OPERATION); } @Test - public void createEcompCredentialsByOps() throws Exception { // HttpCspUserId header contains OPS UserId + public void createEcompCredentialsByOps() throws Exception { // HttpCspUserId + // header + // contains + // OPS + // UserId RestResponse createConsumerRest = ConsumerRestUtils.createConsumer(consumerDataDefinition, sdncOpsUserDetails); assertEquals("Check response code after create Consumer", STATUS_CODE_RESTRICTED_OPERATION, createConsumerRest.getErrorCode().intValue()); @@ -227,7 +248,13 @@ public class ManageEcompConsumerCredentials extends ComponentBaseTest { } @Test - public void createEcompCredentialsByGovernor() throws Exception { // HttpCspUserId header contains Governor UserId Create Consumer + public void createEcompCredentialsByGovernor() throws Exception { // HttpCspUserId + // header + // contains + // Governor + // UserId + // Create + // Consumer RestResponse createConsumerRest = ConsumerRestUtils.createConsumer(consumerDataDefinition, sdncGovernorUserDetails); assertEquals("Check response code after create Consumer", STATUS_CODE_RESTRICTED_OPERATION, @@ -751,11 +778,11 @@ public class ManageEcompConsumerCredentials extends ComponentBaseTest { ADD_ECOMP_USER_CREDENTIALS); } - // USER_ID (USER_ID is taken from USER_ID header) + // UserId (UserId is taken from USER_ID header) @Test public void createEcompCredentialsHttpCspUserIdIsEmpty() throws Exception { - // USER_ID is taken from USER_ID header + // UserId is taken from USER_ID header sdncAdminUserDetails.setUserId(""); RestResponse createConsumerRest = ConsumerRestUtils.createConsumer(consumerDataDefinition, sdncAdminUserDetails); @@ -775,7 +802,12 @@ public class ManageEcompConsumerCredentials extends ComponentBaseTest { } @Test - public void createEcompCredentialsHttpCspUserIdIsNull() throws Exception { // USER_ID is taken from USER_ID header + public void createEcompCredentialsHttpCspUserIdIsNull() throws Exception { // UserId + // is + // taken + // from + // USER_ID + // header sdncAdminUserDetails.setUserId(null); RestResponse createConsumerRest = ConsumerRestUtils.createConsumer(consumerDataDefinition, sdncAdminUserDetails); @@ -813,10 +845,10 @@ public class ManageEcompConsumerCredentials extends ComponentBaseTest { ADD_ECOMP_USER_CREDENTIALS); } - // add USER_ID in json body + // add UserId in json body @Test public void createEcompCredentiaJsonBodyContainLastModfierAtuid() throws Exception { - // Add USER_ID (not admin) to json - we will ignore and create the user + // Add UserId (not admin) to json - we will ignore and create the user HashMap<String, String> jsonMap = new HashMap<String, String>(); jsonMap.put("consumerName", "benny"); jsonMap.put("consumerPassword", "123456789012345678901234567890ab123456789012345678901234567890ab"); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java index 7aae0e9a4e..e99ecc7303 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/CsarUtilsTest.java @@ -57,96 +57,125 @@ import org.testng.annotations.Test; import org.yaml.snakeyaml.Yaml; public class CsarUtilsTest extends ComponentBaseTest { - + public static final String ASSET_TOSCA_TEMPLATE = "assettoscatemplate"; - + @Rule public static TestName name = new TestName(); - + public CsarUtilsTest() { super(name, CsarUtilsTest.class.getName()); } - + @Test(enabled = true) public void createServiceCsarBasicTest() throws Exception { - + Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); Resource resourceVF = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); - - AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.VENDOR_LICENSE, resourceVF, UserRoleEnum.DESIGNER, true, true); - resourceVF = (Resource) AtomicOperationUtils.changeComponentState(resourceVF, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); - + + AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.VENDOR_LICENSE, resourceVF, UserRoleEnum.DESIGNER, + true, true); + resourceVF = (Resource) AtomicOperationUtils + .changeComponentState(resourceVF, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); + AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceVF, service, UserRoleEnum.DESIGNER, true); - + service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); - + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - + byte[] downloadCSAR = downloadCSAR(sdncModifierDetails, service); - + csarBasicValidation(service, downloadCSAR); } - + @Test(enabled = true) public void createResourceCsarBasicTest() throws Exception { Resource resourceVF = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); - resourceVF = (Resource) AtomicOperationUtils.changeComponentState(resourceVF, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); + resourceVF = (Resource) AtomicOperationUtils + .changeComponentState(resourceVF, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - + byte[] downloadCSAR = downloadCSAR(sdncModifierDetails, resourceVF); - + csarBasicValidation(resourceVF, downloadCSAR); } - + @Test(enabled = true) public void createServiceCsarInclDeploymentArtTest() throws Exception { - + Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); Resource resourceVF1 = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); Resource resourceVF2 = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); - - resourceVF1 = (Resource) AtomicOperationUtils.changeComponentState(resourceVF1, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); - - resourceVF2 = (Resource) AtomicOperationUtils.changeComponentState(resourceVF2, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); - + + resourceVF1 = (Resource) AtomicOperationUtils + .changeComponentState(resourceVF1, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); + + resourceVF2 = (Resource) AtomicOperationUtils + .changeComponentState(resourceVF2, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); + AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceVF1, service, UserRoleEnum.DESIGNER, true); AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceVF2, service, UserRoleEnum.DESIGNER, true); - + AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.YANG_XML, service, UserRoleEnum.DESIGNER, true, true); - + service = (Service) AtomicOperationUtils.changeComponentState(service, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); - + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - + byte[] downloadCSAR = downloadCSAR(sdncModifierDetails, service); - + csarBasicValidation(service, downloadCSAR); - - validateServiceCsar(resourceVF1, resourceVF2, service, downloadCSAR, 3, 5, 1); + + validateServiceCsar(resourceVF1, resourceVF2, service, downloadCSAR, 3, 3, 1, 0); } - - @Test(enabled = true) + + @Test(enabled = true) public void createResourceCsarInclDeploymentArtTest() throws Exception { Resource resourceVF1 = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.YANG_XML, resourceVF1, UserRoleEnum.DESIGNER, true, true); AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT_ARTIFACT, resourceVF1, UserRoleEnum.DESIGNER, true, true); - resourceVF1 = (Resource) AtomicOperationUtils.changeComponentState(resourceVF1, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); + + resourceVF1 = (Resource) AtomicOperationUtils + .changeComponentState(resourceVF1, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - + byte[] downloadCSAR = downloadCSAR(sdncModifierDetails, resourceVF1); - + csarBasicValidation(resourceVF1, downloadCSAR); - //TODO when feature is integrated to OS should modify expected deployment artifacts in csar Artifacts folder to (0,1,1) - validateVFCsar(resourceVF1, downloadCSAR, 1, 0, 0, 0); + + validateVFCsar(resourceVF1, downloadCSAR, 1, 0, 1, 1, 0, 0, 0); } + + @Test(enabled = true) + public void createResourceCsarInclInformationalArtTest() throws Exception { + + Resource resourceVF1 = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + + AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.YANG_XML, resourceVF1, UserRoleEnum.DESIGNER, false, true); + AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceVF1, UserRoleEnum.DESIGNER, false, true); + + resourceVF1 = (Resource) AtomicOperationUtils + .changeComponentState(resourceVF1, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true).getLeft(); + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + byte[] downloadCSAR = downloadCSAR(sdncModifierDetails, resourceVF1); + + csarBasicValidation(resourceVF1, downloadCSAR); + + validateVFCsar(resourceVF1, downloadCSAR, 1, 0, 0, 0, 1, 1, 0); + } + private void csarBasicValidation(Component mainComponent, byte[] downloadCSAR) { - try (ByteArrayInputStream ins = new ByteArrayInputStream(downloadCSAR); ZipInputStream zip = new ZipInputStream(ins);) { + try (ByteArrayInputStream ins = new ByteArrayInputStream(downloadCSAR); + ZipInputStream zip = new ZipInputStream(ins);) { String resourceYaml = null; byte[] buffer = new byte[1024]; @@ -157,16 +186,15 @@ public class CsarUtilsTest extends ComponentBaseTest { while ((len = zip.read(buffer)) > 0) { sb.append(new String(buffer, 0, len)); } + assertTrue(nextEntry.getName().equals("csar.meta")); - assertTrue(nextEntry.getName().equals("TOSCA-Metadata/TOSCA.meta")); + readNextEntry(sb, len, buffer, zip); - sb.setLength(0); nextEntry = zip.getNextEntry(); - - while ((len = zip.read(buffer)) > 0) { - sb.append(new String(buffer, 0, len)); - } - + assertTrue(nextEntry.getName().equals("TOSCA-Metadata/TOSCA.meta")); + + readNextEntry(sb, len, buffer, zip); + nextEntry = zip.getNextEntry(); resourceYaml = sb.toString(); YamlToObjectConverter yamlToObjectConverter = new YamlToObjectConverter(); @@ -181,16 +209,22 @@ public class CsarUtilsTest extends ComponentBaseTest { e.printStackTrace(); } } - - private void validateServiceCsar(Component certifiedVFC1, Component certifiedVFC2, Service fetchedService, byte[] resultByte, int toscaEntryIndexToPass, int generatorEntryIndexToPass, int deploymentArtifactIndexToPass) { - + + private void validateServiceCsar(Component certifiedVFC1, Component certifiedVFC2, Service fetchedService, + byte[] resultByte, int toscaEntryIndexToPass, int generatorEntryIndexToPass, + int deploymentArtifactIndexToPass, int informationalArtifactIndexToPass) { + // TODO Test to validate everything is right (comment out after testing) - /* - * try { FileUtils.writeByteArrayToFile(new File("c:/TestCSAR/" + fetchedService.getName() + ".zip"), resultByte); } catch (IOException e) { // Auto-generated catch block e.printStackTrace(); } - */ - - try (ByteArrayInputStream ins = new ByteArrayInputStream(resultByte); ZipInputStream zip = new ZipInputStream(ins);) { + /*try { + FileUtils.writeByteArrayToFile(new File("c:/TestCSAR/" + fetchedService.getName() + ".zip"), resultByte); + } catch (IOException e) { + // Auto-generated catch block + e.printStackTrace(); + }*/ + try (ByteArrayInputStream ins = new ByteArrayInputStream(resultByte); + ZipInputStream zip = new ZipInputStream(ins);) { + String resourceYaml = null; byte[] buffer = new byte[1024]; ZipEntry nextEntry = zip.getNextEntry(); @@ -208,6 +242,7 @@ public class CsarUtilsTest extends ComponentBaseTest { int toscaEntryIndex = 0; int generatorEntryIndex = 0; int deploymentArtifactIndex = 0; + int informationalArtifactIndex = 0; String fileName = null; ArtifactDefinition artifactDefinition; Component componentToValidate = null; @@ -232,18 +267,18 @@ public class CsarUtilsTest extends ComponentBaseTest { if (entryName.contains(serviceFileName)) { componentToValidate = fetchedService; fileName = "Definitions/" + serviceFileName; - + assertEquals("Validate entry Name", (fileName), nextEntry.getName()); assertTrue(yamlToObjectConverter.isValidYaml(resourceYaml.getBytes())); validateContent(resourceYaml, componentToValidate); ++toscaEntryIndex; continue; } - + if (entryName.contains(vfc1FileName)) { componentToValidate = certifiedVFC1; fileName = "Definitions/" + vfc1FileName; - + assertEquals("Validate entry Name", (fileName), nextEntry.getName()); assertTrue(yamlToObjectConverter.isValidYaml(resourceYaml.getBytes())); validateContent(resourceYaml, componentToValidate); @@ -253,7 +288,7 @@ public class CsarUtilsTest extends ComponentBaseTest { if (entryName.contains(vfc2FileName)) { componentToValidate = certifiedVFC2; fileName = "Definitions/" + vfc2FileName; - + assertEquals("Validate entry Name", (fileName), nextEntry.getName()); assertTrue(yamlToObjectConverter.isValidYaml(resourceYaml.getBytes())); validateContent(resourceYaml, componentToValidate); @@ -261,38 +296,52 @@ public class CsarUtilsTest extends ComponentBaseTest { continue; } - if (entryName.contains(".xml") && !entryName.startsWith("Artifacts/AAI")) { + if (entryName.startsWith("Artifacts/Deployment/MODEL_INVENTORY_PROFILE") && entryName.contains("AAI")) { + ++generatorEntryIndex; + continue; + } + + if (entryName.contains(".xml") && entryName.startsWith("Artifacts/Deployment/") && !entryName.contains("AAI")) { ++deploymentArtifactIndex; continue; } - - if (entryName.startsWith("Artifacts/AAI")) { - ++generatorEntryIndex; + + if (entryName.contains(".xml") && entryName.startsWith("Artifacts/Informational/") && !entryName.contains("AAI")) { + ++informationalArtifactIndex; continue; } - + assertTrue("Unexpected entry: " + entryName, true); } assertEquals("Validate amount of entries", toscaEntryIndexToPass, toscaEntryIndex); assertEquals("Validate amount of generated AAI artifacts", generatorEntryIndexToPass, generatorEntryIndex); - assertEquals("Validate amount of generated Deployment artifacts", deploymentArtifactIndexToPass, deploymentArtifactIndex); - + assertEquals("Validate amount of Deployment artifacts entries", deploymentArtifactIndexToPass, + deploymentArtifactIndex); + assertEquals("Validate amount of Informational artifacts entries", informationalArtifactIndexToPass, + informationalArtifactIndex); + ins.close(); zip.close(); } catch (IOException e) { e.printStackTrace(); } } - - private void validateVFCsar(Component certifiedVF, byte[] resultByte, int toscaEntryIndexToPass, int ymlDeploymentArtifactIndexToPass, int xmlDeploymentArtifactIndexToPass, int heatEnvDeploymentArtifactIndexToPass) { - + + private void validateVFCsar(Component certifiedVF, byte[] resultByte, int toscaEntryIndexToPass, + int ymlDeploymentArtifactIndexToPass, int xmlDeploymentArtifactIndexToPass, int heatDeploymentArtifactIndexToPass, + int ymlInformationalArtifactIndexToPass, int xmlInformationalArtifactIndexToPass, int heatInformationalArtifactIndexToPass) { + // TODO Test to validate everything is right (comment out after testing) - /* - * try { FileUtils.writeByteArrayToFile(new File("c:/TestCSAR/" + fetchedService.getName() + ".zip"), resultByte); } catch (IOException e) { // Auto-generated catch block e.printStackTrace(); } - */ - - try (ByteArrayInputStream ins = new ByteArrayInputStream(resultByte); ZipInputStream zip = new ZipInputStream(ins);) { + /*try { + FileUtils.writeByteArrayToFile(new File("c:/TestCSAR/" + fetchedService.getName() + ".zip"), resultByte); + } catch (IOException e) { + // Auto-generated catch block + e.printStackTrace(); + }*/ + try (ByteArrayInputStream ins = new ByteArrayInputStream(resultByte); + ZipInputStream zip = new ZipInputStream(ins);) { + String resourceYaml = null; byte[] buffer = new byte[1024]; ZipEntry nextEntry = zip.getNextEntry(); @@ -303,14 +352,23 @@ public class CsarUtilsTest extends ComponentBaseTest { sb.append(new String(buffer, 0, len)); } - assertTrue(nextEntry.getName().equals("TOSCA-Metadata/TOSCA.meta")); + assertTrue(nextEntry.getName().equals("csar.meta")); + readNextEntry(sb, len, buffer, zip); + nextEntry = zip.getNextEntry(); + assertTrue(nextEntry.getName().equals("TOSCA-Metadata/TOSCA.meta")); + + readNextEntry(sb, len, buffer, zip); + YamlToObjectConverter yamlToObjectConverter = new YamlToObjectConverter(); int toscaEntryIndex = 0; - int ymlEntryIndex = 0; - int xmlArtifactsIndex = 0; - int heatEnvDeploymentArtifactIndex = 0; + int ymlDeploymentArtifactsIndex = 0; + int xmlDeploymentArtifactsIndex = 0; + int heatDeploymentArtifactIndex = 0; + int ymlInformationalArtifactsIndex = 0; + int xmlInformationalArtifactsIndex = 0; + int heatInformationalArtifactIndex = 0; String fileName = null; ArtifactDefinition artifactDefinition; Component componentToValidate = null; @@ -319,11 +377,8 @@ public class CsarUtilsTest extends ComponentBaseTest { String vfFileName = artifactDefinition.getArtifactName(); while ((nextEntry = zip.getNextEntry()) != null) { - sb.setLength(0); - - while ((len = zip.read(buffer)) > 0) { - sb.append(new String(buffer, 0, len)); - } + + readNextEntry(sb, len, buffer, zip); String entryName = nextEntry.getName(); @@ -331,7 +386,7 @@ public class CsarUtilsTest extends ComponentBaseTest { if (entryName.contains(vfFileName)) { componentToValidate = certifiedVF; fileName = "Definitions/" + vfFileName; - + assertEquals("Validate entry Name", (fileName), nextEntry.getName()); assertTrue(yamlToObjectConverter.isValidYaml(resourceYaml.getBytes())); validateContent(resourceYaml, componentToValidate); @@ -339,35 +394,72 @@ public class CsarUtilsTest extends ComponentBaseTest { continue; } - if (entryName.contains(".xml") && entryName.startsWith("Artifacts/")) { - ++xmlArtifactsIndex; - continue; + if (entryName.contains(".xml") && entryName.contains("YANG_XML")) { + if(entryName.startsWith("Artifacts/Deployment")){ + ++xmlDeploymentArtifactsIndex; + continue; + }else if(entryName.startsWith("Artifacts/Informational")){ + ++xmlInformationalArtifactsIndex; + continue; + } } - if (entryName.contains(".sh") && entryName.startsWith("Artifacts/")) { - ++heatEnvDeploymentArtifactIndex; + if (entryName.contains(".sh") && entryName.contains("HEAT_ARTIFACT")) { + if(entryName.startsWith("Artifacts/Deployment")){ + ++heatDeploymentArtifactIndex; + continue; + }else if(entryName.startsWith("Artifacts/Informational")){ + ++heatInformationalArtifactIndex; + continue; + } + } + + if ((entryName.contains(".yml") || entryName.contains(".yaml")) && entryName.contains("HEAT")) { + if(entryName.startsWith("Artifacts/Deployment")){ + ++ymlDeploymentArtifactsIndex; + continue; + }else if(entryName.startsWith("Artifacts/Informational")){ + ++ymlInformationalArtifactsIndex; + continue; + } + } + + if(entryName.contains("Definitions/") && entryName.contains("template-interface.yml")){ + validateInterfaceContent(resourceYaml, certifiedVF); continue; } - - if (entryName.contains(".yml") && entryName.startsWith("Artifacts/")) { - ++ymlEntryIndex; + if(entryName.contains("Definitions/")) { + if(isImportsFileValidation(entryName)) continue; } - + assertTrue("Unexpected entry: " + entryName, false); } + + //Definitions folder assertEquals("Validate amount of entries", toscaEntryIndexToPass, toscaEntryIndex); - assertEquals("Validate amount of YAML artifacts", ymlDeploymentArtifactIndexToPass, ymlEntryIndex); - assertEquals("Validate amount of generated XML artifacts", xmlDeploymentArtifactIndexToPass, xmlArtifactsIndex); - assertEquals("Validate amount of generated HEAT ENV artifacts", heatEnvDeploymentArtifactIndexToPass, heatEnvDeploymentArtifactIndex); - + + //Deployment folder + assertEquals("Validate amount of YAML Deployment artifacts", ymlDeploymentArtifactIndexToPass, ymlDeploymentArtifactsIndex); + assertEquals("Validate amount of XML Deployment artifacts", xmlDeploymentArtifactIndexToPass, + xmlDeploymentArtifactsIndex); + assertEquals("Validate amount of HEAT Deployment artifacts", heatDeploymentArtifactIndexToPass, + heatDeploymentArtifactIndex); + + //Informational folder + assertEquals("Validate amount of YAML Informational artifacts", ymlInformationalArtifactIndexToPass, ymlInformationalArtifactsIndex); + assertEquals("Validate amount of XML Informational artifacts", xmlInformationalArtifactIndexToPass, + xmlInformationalArtifactsIndex); + assertEquals("Validate amount of HEAT Informational artifacts", heatInformationalArtifactIndexToPass, + heatInformationalArtifactIndex); + ins.close(); zip.close(); } catch (IOException e) { e.printStackTrace(); } } - + private void validateContent(String content, Component component) { Yaml yaml = new Yaml(); @@ -395,30 +487,34 @@ public class CsarUtilsTest extends ComponentBaseTest { if (component.getComponentType().equals(ComponentTypeEnum.SERVICE)) { assertEquals("Validate component type", component.getComponentType().getValue(), type); } else { - assertEquals("Validate component type", ((Resource) component).getResourceType(), ResourceTypeEnum.valueOf(type)); + assertEquals("Validate component type", ((Resource) component).getResourceType(), + ResourceTypeEnum.valueOf(type)); } } - + private byte[] downloadCSAR(User sdncModifierDetails, Component createdComponent) throws Exception { String artifactUniqeId = createdComponent.getToscaArtifacts().get("assettoscacsar").getUniqueId(); RestResponse getCsarResponse = null; - + switch (createdComponent.getComponentType()) { case RESOURCE: - getCsarResponse = ArtifactRestUtils.downloadResourceArtifactInternalApi(createdComponent.getUniqueId(), sdncModifierDetails, artifactUniqeId); - break; + getCsarResponse = ArtifactRestUtils.downloadResourceArtifactInternalApi(createdComponent.getUniqueId(), + sdncModifierDetails, artifactUniqeId); + break; case SERVICE: - getCsarResponse = ArtifactRestUtils.downloadServiceArtifactInternalApi(createdComponent.getUniqueId(), sdncModifierDetails, artifactUniqeId); + getCsarResponse = ArtifactRestUtils.downloadServiceArtifactInternalApi(createdComponent.getUniqueId(), + sdncModifierDetails, artifactUniqeId); break; default: break; } - + assertNotNull(getCsarResponse); BaseRestUtils.checkSuccess(getCsarResponse); - ArtifactUiDownloadData artifactUiDownloadData = ResponseParser.parseToObject(getCsarResponse.getResponse(), ArtifactUiDownloadData.class); + ArtifactUiDownloadData artifactUiDownloadData = ResponseParser.parseToObject(getCsarResponse.getResponse(), + ArtifactUiDownloadData.class); assertNotNull(artifactUiDownloadData); @@ -427,4 +523,48 @@ public class CsarUtilsTest extends ComponentBaseTest { return decodeBase64; } + + private void validateInterfaceContent(String content, Component component) { + Yaml yaml = new Yaml(); + + InputStream inputStream = new ByteArrayInputStream(content.getBytes()); + @SuppressWarnings("unchecked") + Map<String, Object> load = (Map<String, Object>) yaml.load(inputStream); + @SuppressWarnings("unchecked") + Map<String, Object> node_types = (Map<String, Object>) load.get("node_types"); + assertNotNull(node_types); + + String toscaInterfaceName = node_types.keySet().stream().filter(p -> p.startsWith("org.openecomp.")).findAny().get(); + Map<String, Object> toscaInterface = (Map<String, Object>) node_types.get(toscaInterfaceName); + assertNotNull(toscaInterface); + String derived_from = (String) toscaInterface.get("derived_from"); + assertNotNull(derived_from); + assertEquals("Validate derived from generic", component.getDerivedFromGenericType(), derived_from); + + } + + private void readNextEntry(StringBuffer sb, int len, byte[] buffer, ZipInputStream zip) throws IOException { + sb.setLength(0); + + while ((len = zip.read(buffer)) > 0) { + sb.append(new String(buffer, 0, len)); + } + } + + private boolean isImportsFileValidation(String fileName) { + + switch(fileName){ + case "Definitions/artifacts.yml": + case "Definitions/capabilities.yml": + case "Definitions/data.yml": + case "Definitions/groups.yml": + case "Definitions/interfaces.yml": + case "Definitions/nodes.yml": + case "Definitions/policies.yml": + case "Definitions/relationships.yml": + return true; + + } + return false; + } } diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ExportToscaTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ExportToscaTest.java index e4360329ad..192f6759c3 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ExportToscaTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ExportToscaTest.java @@ -31,130 +31,306 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.stream.Collectors; import java.util.Optional; import org.apache.commons.codec.binary.Base64; import org.junit.Rule; import org.junit.rules.TestName; +import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; import org.openecomp.sdc.be.model.ArtifactDefinition; import org.openecomp.sdc.be.model.ArtifactUiDownloadData; +import org.openecomp.sdc.be.model.Component; +import org.openecomp.sdc.be.model.ComponentInstInputsMap; import org.openecomp.sdc.be.model.ComponentInstance; +import org.openecomp.sdc.be.model.ComponentInstanceInput; import org.openecomp.sdc.be.model.ComponentInstanceProperty; import org.openecomp.sdc.be.model.GroupDefinition; import org.openecomp.sdc.be.model.GroupProperty; import org.openecomp.sdc.be.model.InputDefinition; 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.be.model.tosca.ToscaPropertyType; import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; +import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ImportReqDetails; -import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; +import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; +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.rest.ArtifactRestUtils; 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.InputsRestUtils; +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.BaseValidationUtils; import org.openecomp.sdc.common.api.Constants; +import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import org.yaml.snakeyaml.Yaml; import com.google.gson.Gson; import com.google.gson.JsonParser; +import com.google.gson.reflect.TypeToken; public class ExportToscaTest extends ComponentBaseTest { @Rule public static TestName name = new TestName(); + String rootPath = System.getProperty("user.dir"); + private static final String CSARS_PATH = "/src/test/resources/CI/csars/"; + public static String userDefinedNodeYaml = "CustomVL.yml"; public ExportToscaTest() { super(name, ExportToscaTest.class.getName()); } - @Test(enabled = true) - public void exportVfModuleTest() throws Exception { + @DataProvider(name = "vfModuleCsar") + public static Object[][] csarNames() { + return new Object[][] { { "VSPPackage", true }, { "csar_1", true }, { "noArtifact", false }, {"noVfModule", false} }; +// return new Object[][] { { "VSPPackage", true }, { "csar_1", true }, { "noArtifact", false } }; + } + + @Test(dataProvider = "vfModuleCsar") + public void exportVfModuleTest(String csarname, boolean includeGroups) throws Exception { + System.out.println("run for csar " + csarname); User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - Resource createdResource = createVfFromCSAR(sdncModifierDetails, "VSPPackage"); + Resource createdResource = createVfFromCSAR(sdncModifierDetails, csarname); - Map<String, Object> load = downloadAndParseToscaTemplate(sdncModifierDetails, createdResource); + validateGroupsInResource(sdncModifierDetails, createdResource, includeGroups); + } + + @Test(dataProvider = "vfModuleCsar") + public void exportVfModuleInstanceTest(String csarname, boolean includeGroups) throws Exception { + System.out.println("run for csar " + csarname); + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + // create resource + Resource createdResource = createVfFromCSAR(sdncModifierDetails, csarname); + + // change state to check in + RestResponse checkinState = LifecycleRestUtils.changeComponentState(createdResource, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); + BaseRestUtils.checkSuccess(checkinState); + ServiceReqDetails serviceDetails = ElementFactory.getDefaultService("ciNewtestservice1", ServiceCategoriesEnum.MOBILITY, sdncModifierDetails.getUserId()); + + // 2 create service + RestResponse createServiceResponse = ServiceRestUtils.createService(serviceDetails, sdncModifierDetails); + ResourceRestUtils.checkCreateResponse(createServiceResponse); + Service service = ResponseParser.parseToObjectUsingMapper(createServiceResponse.getResponse(), Service.class); + + // 3 create vf instance in service + ComponentInstanceReqDetails componentInstanceDetails = ElementFactory.getComponentInstance(createdResource); + RestResponse createComponentInstance = ComponentInstanceRestUtils.createComponentInstance(componentInstanceDetails, sdncModifierDetails, service); + ResourceRestUtils.checkCreateResponse(createComponentInstance); + + RestResponse getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + + List<GroupDefinition> groupsInResource = createdResource.getGroups(); + int vfModuleCount = 0; + List<GroupDefinition> vfModulesInRes = groupsInResource.stream().filter(g -> g.getType().equals(Constants.DEFAULT_GROUP_VF_MODULE)).collect(Collectors.toList()); + + ComponentInstance componentInstance = service.getComponentInstances().get(0); + String normalizedName = componentInstance.getNormalizedName(); + + Map<String, Object> load = downloadAndParseToscaTemplate(sdncModifierDetails, service); assertNotNull(load); Map<String, Object> topology_template = (Map<String, Object>) load.get("topology_template"); assertNotNull(topology_template); Map<String, Object> groups = (Map<String, Object>) topology_template.get("groups"); - assertNotNull(groups); - List<GroupDefinition> groupsOrigin = createdResource.getGroups(); + if (includeGroups) { + assertNotNull(vfModulesInRes); + assertNotNull(groups); - assertEquals("Validate groups size", groupsOrigin.size(), groups.size()); - for (GroupDefinition group : groupsOrigin) { - Map<String, Object> groupTosca = (Map<String, Object>) groups.get(group.getName()); - assertNotNull(groupTosca); + assertEquals("Validate count of vf module instanses", vfModulesInRes.size(), groups.size()); - Map<String, Object> metadata = (Map<String, Object>) groupTosca.get("metadata"); - assertNotNull(metadata); + vfModulesInRes.forEach(modInRes -> { + validateVfModuleVsInstance(normalizedName, groups, modInRes); + }); + }else{ + assertNull(groups); + } + } - String invariantUUID; - String name; - String UUID; - String version; - Map<String, Object> properties = (Map<String, Object>) groupTosca.get("properties"); - - if (group.getType().equals(Constants.DEFAULT_GROUP_VF_MODULE)) { - invariantUUID = (String) metadata.get("vfModuleModelInvariantUUID"); - name = (String) metadata.get("vfModuleModelName"); - UUID = (String) metadata.get("vfModuleModelUUID"); - version = (String) metadata.get("vfModuleModelVersion"); - assertNotNull(properties); - - String vf_module_type = (String) properties.get("vf_module_type"); - List<GroupProperty> props = group.getProperties(); - for (GroupProperty prop : props) { - if (prop.getName().equals(Constants.IS_BASE)) { - String value = prop.getValue() == null ? prop.getDefaultValue() : prop.getValue(); - boolean bvalue = Boolean.parseBoolean(value); - if (bvalue) { - assertEquals("Validate vf_module_type", "Base", vf_module_type); - } else { - assertEquals("Validate vf_module_type", "Expansion", vf_module_type); - } - break; - } + private void validateVfModuleVsInstance(String normalizedName, Map<String, Object> groups, GroupDefinition modInRes) { + String instName = normalizedName + ".." + modInRes.getName(); + Map<String, Object> group = (Map<String, Object>) groups.get(instName); + assertNotNull(group); + + String type = (String) group.get("type"); + assertNotNull(type); + assertEquals("Validate group instance type", modInRes.getType(), type); + + Map<String, Object> metadata = (Map<String, Object>) group.get("metadata"); + assertNotNull(metadata); + + String invariantUUID = (String) metadata.get("vfModuleModelInvariantUUID"); + String name = (String) metadata.get("vfModuleModelName"); + String UUID = (String) metadata.get("vfModuleModelUUID"); + String version = (String) metadata.get("vfModuleModelVersion"); + + String customizationUUID = (String) metadata.get("vfModuleModelCustomizationUUID"); + assertNotNull("Validate group instance customizationUUID", customizationUUID); + + assertEquals("Validate group instance InvariantUUID", modInRes.getInvariantUUID(), invariantUUID); + assertEquals("Validate group instance name", modInRes.getName(), name); + assertEquals("Validate group instance UUID", modInRes.getGroupUUID(), UUID); + assertEquals("Validate group instance version", modInRes.getVersion(), version); + + Map<String, Object> propertiesInInst = (Map<String, Object>) group.get("properties"); + assertNotNull(propertiesInInst); + + List<GroupProperty> propertiesInGroup = modInRes.convertToGroupProperties(); + // property isBase not exist in tosca + assertEquals("Validate group instance properties size", propertiesInGroup.size() - 1, propertiesInInst.size()); + propertiesInGroup.forEach(propInGroup -> { + String propName = propInGroup.getName(); + if (!propName.equals("isBase")) { + Object propValue = propertiesInInst.get(propName); + String valueInGroup = propInGroup.getValue(); + if (valueInGroup != null && !valueInGroup.isEmpty()) { + assertNotNull(propValue); + assertEquals("Validate group instance property value for " + propName, valueInGroup, propValue.toString()); + } else { + assertNull(propValue); } - String vf_module_description = (String) properties.get("vf_module_description"); - assertEquals("Validate vf_module_description", group.getDescription(), vf_module_description); - - Boolean volume_group = (Boolean) properties.get("volume_group"); - boolean isVolume = false; - List<String> artifactsList = group.getArtifacts(); - List<ArtifactDefinition> artifacts = new ArrayList<>(); - if (artifactsList != null && !artifactsList.isEmpty()) { - ArtifactDefinition masterArtifact = findMasterArtifact(createdResource.getDeploymentArtifacts(), - artifacts, artifactsList); - if (masterArtifact.getArtifactType().equalsIgnoreCase(ArtifactTypeEnum.HEAT_VOL.getType())) { - isVolume = true; - } + } + }); + } + + private void validateGroupsInResource(User sdncModifierDetails, Resource createdResource, boolean includeGroups) throws Exception { + Map<String, Object> load = downloadAndParseToscaTemplate(sdncModifierDetails, createdResource); + assertNotNull(load); + Map<String, Object> topology_template = (Map<String, Object>) load.get("topology_template"); + assertNotNull(topology_template); + Map<String, Object> groups = (Map<String, Object>) topology_template.get("groups"); + if (includeGroups) { + assertNotNull(groups); + List<GroupDefinition> groupsOrigin = createdResource.getGroups(); + + assertEquals("Validate groups size", groupsOrigin.size(), groups.size()); + for (GroupDefinition group : groupsOrigin) { + Map<String, Object> groupTosca = (Map<String, Object>) groups.get(group.getName()); + assertNotNull(groupTosca); + + Map<String, Object> metadata = (Map<String, Object>) groupTosca.get("metadata"); + assertNotNull(metadata); + + String invariantUUID; + String name; + String UUID; + String version; + Map<String, Object> properties = (Map<String, Object>) groupTosca.get("properties"); + + if (group.getType().equals(Constants.DEFAULT_GROUP_VF_MODULE)) { + invariantUUID = (String) metadata.get("vfModuleModelInvariantUUID"); + name = (String) metadata.get("vfModuleModelName"); + UUID = (String) metadata.get("vfModuleModelUUID"); + version = (String) metadata.get("vfModuleModelVersion"); + assertNotNull(properties); + + validateVfModuleProperties(createdResource, group, properties); + } else { + invariantUUID = (String) metadata.get("invariantUUID"); + name = (String) metadata.get("name"); + UUID = (String) metadata.get("UUID"); + version = (String) metadata.get("version"); + assertNull(properties); + } - assertEquals("Validate volume_group", isVolume, volume_group); + assertEquals("Validate InvariantUUID", group.getInvariantUUID(), invariantUUID); + assertEquals("Validate name", group.getName(), name); + assertEquals("Validate UUID", group.getGroupUUID(), UUID); + assertEquals("Validate version", group.getVersion(), version); + } + } else { + assertEquals(null, groups); + } + } + + private void validateVfModuleProperties(Resource createdResource, GroupDefinition group, Map<String, Object> properties) { + // vf_module_type + String vf_module_type = (String) properties.get("vf_module_type"); + List<GroupProperty> props = group.convertToGroupProperties(); - } else { - invariantUUID = (String) metadata.get("invariantUUID"); - name = (String) metadata.get("name"); - UUID = (String) metadata.get("UUID"); - version = (String) metadata.get("version"); - assertNull(properties); + GroupProperty isBaseProp = getGroupPropertyByName(group, Constants.IS_BASE); + assertNotNull(isBaseProp); + String value = isBaseProp.getValue() == null ? isBaseProp.getDefaultValue() : isBaseProp.getValue(); + boolean bvalue = Boolean.parseBoolean(value); + if (bvalue) { + assertEquals("Validate vf_module_type", "Base", vf_module_type); + } else { + assertEquals("Validate vf_module_type", "Expansion", vf_module_type); + } + + // vf_module_description + String vf_module_description = (String) properties.get("vf_module_description"); + assertEquals("Validate vf_module_description", group.getDescription(), vf_module_description); + + // volume_group + Boolean volume_group = (Boolean) properties.get("volume_group"); + boolean isVolume = false; + List<String> artifactsList = group.getArtifacts(); + List<ArtifactDefinition> artifacts = new ArrayList<>(); + if (artifactsList != null && !artifactsList.isEmpty()) { + ArtifactDefinition masterArtifact = findMasterArtifact(createdResource.getDeploymentArtifacts(), artifacts, artifactsList); + if (masterArtifact.getArtifactType().equalsIgnoreCase(ArtifactTypeEnum.HEAT_VOL.getType())) { + isVolume = true; } - assertEquals("Validate InvariantUUID", group.getInvariantUUID(), invariantUUID); - assertEquals("Validate name", group.getName(), name); - assertEquals("Validate UUID", group.getGroupUUID(), UUID); - assertEquals("Validate version", group.getVersion(), version); + } + assertEquals("Validate volume_group", isVolume, volume_group); + + // min_vf_module_instances + Integer min_vf_module_instances = (Integer) properties.get("min_vf_module_instances"); + GroupProperty minInstProp = getGroupPropertyByName(group, "min_vf_module_instances"); + assertNotNull(minInstProp); + assertEquals("Validate min_vf_module_instances", minInstProp.getValue(), min_vf_module_instances.toString()); + + // vf_module_label + String vf_module_label = (String) properties.get("vf_module_label"); + GroupProperty labelProp = getGroupPropertyByName(group, "vf_module_label"); + assertNotNull(labelProp); + assertEquals("Validate vf_module_label", labelProp.getValue(), vf_module_label); + + // vf_module_label + Integer initial_count = (Integer) properties.get("initial_count"); + GroupProperty initCountProp = getGroupPropertyByName(group, "initial_count"); + assertNotNull(initCountProp); + assertEquals("Validate initial_count", initCountProp.getValue(), initial_count.toString()); + + // max_vf_module_instances + Integer max_vf_module_instances = (Integer) properties.get("max_vf_module_instances"); + GroupProperty maxInstProp = getGroupPropertyByName(group, "max_vf_module_instances"); + assertNotNull(maxInstProp); + if (max_vf_module_instances != null) { + assertEquals("Validate max_vf_module_instances", maxInstProp.getValue(), max_vf_module_instances.toString()); + } else { + assertEquals("Validate max_vf_module_instances", maxInstProp.getValue(), max_vf_module_instances); + } + } + private GroupProperty getGroupPropertyByName(GroupDefinition group, String name) { + List<GroupProperty> props = group.convertToGroupProperties(); + for (GroupProperty prop : props) { + if (prop.getName().equals(name)) { + return prop; + } } + return null; } @Test(enabled = true) @@ -179,8 +355,7 @@ public class ExportToscaTest extends ComponentBaseTest { validateInput(inputDef, inputInFile); } List<ComponentInstance> componentInstances = createdResource.getComponentInstances(); - Map<String, List<ComponentInstanceProperty>> componentInstancesProperties = createdResource - .getComponentInstancesProperties(); + Map<String, List<ComponentInstanceProperty>> componentInstancesProperties = createdResource.getComponentInstancesProperties(); Map<String, Object> node_templates = (Map<String, Object>) topology_template.get("node_templates"); assertNotNull(node_templates); @@ -188,8 +363,7 @@ public class ExportToscaTest extends ComponentBaseTest { for (Map.Entry<String, List<ComponentInstanceProperty>> entry : componentInstancesProperties.entrySet()) { - Optional<ComponentInstance> findFirst = componentInstances.stream() - .filter(ci -> ci.getUniqueId().equals(entry.getKey())).findFirst(); + Optional<ComponentInstance> findFirst = componentInstances.stream().filter(ci -> ci.getUniqueId().equals(entry.getKey())).findFirst(); assertTrue(findFirst.isPresent()); String resourceName = findFirst.get().getName(); Map<String, Object> instance = (Map<String, Object>) node_templates.get(resourceName); @@ -234,10 +408,8 @@ public class ExportToscaTest extends ComponentBaseTest { RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); BaseRestUtils.checkCreateResponse(createResource); Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - ComponentInstance pmaaServer = resource.getComponentInstances().stream() - .filter(p -> p.getName().equals("pmaa_server_0")).findAny().get(); - ComponentInstanceProperty jsonProp = resource.getComponentInstancesProperties().get(pmaaServer.getUniqueId()) - .stream().filter(p -> p.getType().equals(ToscaPropertyType.JSON.getType())).findAny().get(); + ComponentInstance pmaaServer = resource.getComponentInstances().stream().filter(p -> p.getName().equals("pmaa_server_0")).findAny().get(); + ComponentInstanceProperty jsonProp = resource.getComponentInstancesProperties().get(pmaaServer.getUniqueId()).stream().filter(p -> p.getType().equals(ToscaPropertyType.JSON.getType())).findAny().get(); String jsonValue = "{\"pmaa.sb_nic\":{\"address\":{\"get_input\":\"pmaa_dpu_fixed_ip\"},\"cidr\":{\"get_input\":\"pmaa_dpu_cidr\"},\"gateway\":{\"get_input\":\"pmaa_dpu_gateway\"}}}"; assertEquals(jsonProp.getValue(), jsonValue); // download and compare @@ -258,6 +430,187 @@ public class ExportToscaTest extends ComponentBaseTest { assertEquals(json, jsonValue); } + @Test(enabled = true) + public void exportServiceInputValue() throws Exception { + // 1 create vf as certified + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + Resource createdResource = createVfFromCSAR(sdncModifierDetails, "csar_1"); + RestResponse checkinState = LifecycleRestUtils.changeComponentState(createdResource, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); + BaseRestUtils.checkSuccess(checkinState); + ServiceReqDetails serviceDetails = ElementFactory.getDefaultService("ciNewtestservice1", ServiceCategoriesEnum.MOBILITY, sdncModifierDetails.getUserId()); + + // 2 create service + RestResponse createServiceResponse = ServiceRestUtils.createService(serviceDetails, sdncModifierDetails); + ResourceRestUtils.checkCreateResponse(createServiceResponse); + Service service = ResponseParser.parseToObjectUsingMapper(createServiceResponse.getResponse(), Service.class); + + // 3 create vf instance in service + ComponentInstanceReqDetails componentInstanceDetails = ElementFactory.getComponentInstance(createdResource); + RestResponse createComponentInstance = ComponentInstanceRestUtils.createComponentInstance(componentInstanceDetails, sdncModifierDetails, service); + ResourceRestUtils.checkCreateResponse(createComponentInstance); + + RestResponse getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + + // 4 download tosca template + Map<String, Object> tosca = downloadAndParseToscaTemplate(sdncModifierDetails, service); + assertNotNull(tosca); + Map<String, Object> topology_template = (Map<String, Object>) tosca.get("topology_template"); + assertNotNull(topology_template); + + // 5 validate no inputs in service + Map<String, Object> inputs = (Map<String, Object>) tosca.get("inputs"); + assertNull(inputs); + + List<ComponentInstance> componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + assertEquals(1, componentInstances.size()); + ComponentInstance vfi = componentInstances.get(0); + + // 6 add instance inputs in service + RestResponse getComponentInstanceInputsResponse = InputsRestUtils.getComponentInstanceInputs(service, vfi); + BaseValidationUtils.checkSuccess(getComponentInstanceInputsResponse); + List<InputDefinition> instanceInputs = new Gson().fromJson(getComponentInstanceInputsResponse.getResponse(), new TypeToken<ArrayList<InputDefinition>>() { + }.getType()); + // Take only the 2 first inputs + List<InputDefinition> inputsToAdd = instanceInputs.stream().limit(2).collect(Collectors.toList()); + + // 7 Build component instances input map to add to server + ComponentInstInputsMap buildComponentInstInputsMap = buildComponentInstInputsMap(vfi.getUniqueId(), inputsToAdd); + RestResponse addInputResponse = InputsRestUtils.addInput(service, buildComponentInstInputsMap, UserRoleEnum.DESIGNER); + BaseValidationUtils.checkSuccess(addInputResponse); + + // 8 validate inputs in service + // 8.1 download tosca template + getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + + tosca = downloadAndParseToscaTemplate(sdncModifierDetails, service); + assertNotNull(tosca); + topology_template = (Map<String, Object>) tosca.get("topology_template"); + assertNotNull(topology_template); + + // 8.2 validate inputs in service + inputs = (Map<String, Object>) topology_template.get("inputs"); + assertNotNull(inputs); + assertEquals(2, inputs.size()); + + // validate created inputs vs inputs in Tosca inputs section + final Map<String, Object> inputsFinal = inputs; + buildComponentInstInputsMap.getComponentInstanceInputsMap().values().forEach(listPerInstance -> { + listPerInstance.forEach(input -> { + Map<String, Object> inputInMap = (Map<String, Object>) inputsFinal.get(input.getName()); + assertNotNull(inputInMap); + }); + }); + Map<String, List<ComponentInstanceInput>> componentInstancesInputs = service.getComponentInstancesInputs(); + + // validate created inputs vs inputs in Tosca instance input value + List<ComponentInstanceInput> vfiInputs = componentInstancesInputs.get(vfi.getUniqueId()); + assertNotNull(vfiInputs); + assertEquals(2, vfiInputs.size()); + + Map<String, Object> node_templates = (Map<String, Object>) topology_template.get("node_templates"); + assertNotNull(node_templates); + + Map<String, Object> instance = (Map<String, Object>) node_templates.get(vfi.getName()); + assertNotNull(instance); + Map<String, Object> properties = (Map<String, Object>) instance.get("properties"); + assertNotNull(properties); + + vfiInputs.forEach(vfiInput -> { + Map<String, Object> inputPropValueInTosca = (Map<String, Object>) properties.get(vfiInput.getName()); + assertNotNull(inputPropValueInTosca); + String instaneInputName = (String) inputPropValueInTosca.get("get_input"); + assertNotNull(instaneInputName); + Map<String, Object> inputInMap = (Map<String, Object>) inputsFinal.get(instaneInputName); + assertNotNull(inputInMap); + }); + + } + + @Test(enabled = true) + public void exportComponentInstancesTest() throws Exception { + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + Resource createdResource = createVfFromCSAR(sdncModifierDetails, "csar_1"); + + Map<String, Object> load = downloadAndParseToscaTemplate(sdncModifierDetails, createdResource); + assertNotNull(load); + Map<String, Object> topology_template = (Map<String, Object>) load.get("topology_template"); + assertNotNull(topology_template); + + Map<String, Object> node_templates = (Map<String, Object>) topology_template.get("node_templates"); + assertNotNull(node_templates); + + RestResponse getResource = ResourceRestUtils.getResource(createdResource.getUniqueId()); + BaseRestUtils.checkSuccess(getResource); + Resource resource = ResponseParser.parseToObjectUsingMapper(getResource.getResponse(), Resource.class); + List<ComponentInstance> componentInstances = resource.getComponentInstances(); + + assertEquals(componentInstances.size(), node_templates.size()); + + for (ComponentInstance ci : componentInstances) { + Map<String, Object> instance = (Map<String, Object>) node_templates.get(ci.getName()); + assertNotNull(instance); + Map<String, Object> metadata = (Map<String, Object>) instance.get("metadata"); + assertNotNull(metadata); + String customizationUUD = (String) metadata.get("customizationUUID"); + assertTrue(ci.getCustomizationUUID().equals(customizationUUD)); + } + + } + + @SuppressWarnings("unchecked") + @Test + public void extendNodeTemplateWithDefaultPropertyValuesTest() throws Exception { + + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + ImportReqDetails resourceDetails = ElementFactory.getDefaultImportResource(); + String payloadCsarName = "ToscaTemplateCsar.csar"; + Path path = Paths.get(rootPath + CSARS_PATH + "ToscaTemplateCsar.csar"); + byte[] data = Files.readAllBytes(path); + String payloadData = Base64.encodeBase64String(data); + resourceDetails.setPayloadData(payloadData); + resourceDetails.setPayloadName(payloadCsarName); + resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); + BaseRestUtils.checkCreateResponse(createResource); + Resource createdResource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); + + Map<String, Object> load = downloadAndParseToscaTemplate(sdncModifierDetails, createdResource); + assertNotNull(load); + + Map<String, Object> nodeTemplateProperties = findNodeTemplateProperties(load, "custom_vl"); + + assertTrue(nodeTemplateProperties != null); + assertTrue(nodeTemplateProperties.get("dhcp_enabled").equals(true)); + assertTrue(nodeTemplateProperties.get("ip_version").equals(4)); + assertTrue(nodeTemplateProperties.get("vl_name").equals("customvl")); + } + + private Map<String, Object> findNodeTemplateProperties(Map<String, Object> load, String riName) { + // find properties of node template (RI) + return findToscaElement( + // find node template (RI) by name + findToscaElement( + // find node templates + findToscaElement( + // find topology template + findToscaElement(load, "topology_template"), "node_templates"), + riName), + "properties"); + } + + @SuppressWarnings("unchecked") + private Map<String, Object> findToscaElement(Map<String, Object> load, String elementName) { + return (Map<String, Object>) load.get(elementName); + } + + // ---------------------------------------- private void validateInput(InputDefinition inputDef, Map<String, Object> inputInFile) { assertEquals("validate input type", inputDef.getType(), (String) inputInFile.get("type")); @@ -273,15 +626,19 @@ public class ExportToscaTest extends ComponentBaseTest { assertEquals("validate input description", inputDef.getDescription(), (String) inputInFile.get("description")); } - // ---------------------------------------- - private Map<String, Object> downloadAndParseToscaTemplate(User sdncModifierDetails, Resource createdResource) - throws Exception { - String artifactUniqeId = createdResource.getToscaArtifacts().get("assettoscatemplate").getUniqueId(); - - RestResponse toscaTemplate = ArtifactRestUtils.downloadResourceArtifactInternalApi( - createdResource.getUniqueId(), sdncModifierDetails, artifactUniqeId); - ArtifactUiDownloadData artifactUiDownloadData = ResponseParser.parseToObject(toscaTemplate.getResponse(), - ArtifactUiDownloadData.class); + private Map<String, Object> downloadAndParseToscaTemplate(User sdncModifierDetails, Component createdComponent) throws Exception { + String artifactUniqeId = createdComponent.getToscaArtifacts().get("assettoscatemplate").getUniqueId(); + RestResponse toscaTemplate; + + if (createdComponent.getComponentType() == ComponentTypeEnum.RESOURCE) { + toscaTemplate = ArtifactRestUtils.downloadResourceArtifactInternalApi(createdComponent.getUniqueId(), sdncModifierDetails, artifactUniqeId); + + } else { + toscaTemplate = ArtifactRestUtils.downloadServiceArtifactInternalApi(createdComponent.getUniqueId(), sdncModifierDetails, artifactUniqeId); + } + BaseRestUtils.checkSuccess(toscaTemplate); + + ArtifactUiDownloadData artifactUiDownloadData = ResponseParser.parseToObject(toscaTemplate.getResponse(), ArtifactUiDownloadData.class); byte[] fromUiDownload = artifactUiDownloadData.getBase64Contents().getBytes(); byte[] decodeBase64 = Base64.decodeBase64(fromUiDownload); Yaml yaml = new Yaml(); @@ -292,20 +649,7 @@ public class ExportToscaTest extends ComponentBaseTest { return load; } - private Resource createVfFromCSAR(User sdncModifierDetails, String csarId) throws Exception { - // create new resource from Csar - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - - resourceDetails.setCsarUUID(csarId); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkCreateResponse(createResource); - Resource createdResource = ResponseParser.convertResourceResponseToJavaObject(createResource.getResponse()); - return createdResource; - } - - public ArtifactDefinition findMasterArtifact(Map<String, ArtifactDefinition> deplymentArtifact, - List<ArtifactDefinition> artifacts, List<String> artifactsList) { + public ArtifactDefinition findMasterArtifact(Map<String, ArtifactDefinition> deplymentArtifact, List<ArtifactDefinition> artifacts, List<String> artifactsList) { for (String artifactUid : artifactsList) { for (Entry<String, ArtifactDefinition> entry : deplymentArtifact.entrySet()) { ArtifactDefinition artifact = entry.getValue(); @@ -318,8 +662,7 @@ public class ExportToscaTest extends ComponentBaseTest { ArtifactDefinition masterArtifact = null; for (ArtifactDefinition artifactInfo : artifacts) { String atrifactType = artifactInfo.getArtifactType(); - if (atrifactType.equalsIgnoreCase(ArtifactTypeEnum.HEAT_VOL.getType()) - || atrifactType.equalsIgnoreCase(ArtifactTypeEnum.HEAT_NET.getType())) { + if (atrifactType.equalsIgnoreCase(ArtifactTypeEnum.HEAT_VOL.getType()) || atrifactType.equalsIgnoreCase(ArtifactTypeEnum.HEAT_NET.getType())) { masterArtifact = artifactInfo; continue; } @@ -330,4 +673,13 @@ public class ExportToscaTest extends ComponentBaseTest { } return masterArtifact; } + + private ComponentInstInputsMap buildComponentInstInputsMap(String addToInput, List<InputDefinition> inputs) { + Map<String, List<InputDefinition>> map = new HashMap<>(); + map.put(addToInput, inputs); + ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap(); + componentInstInputsMap.setComponentInstanceInputsMap(map); + return componentInstInputsMap; + } + } diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportCsarResourceTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportCsarResourceTest.java index eab4e5bed2..6bf3477c1f 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportCsarResourceTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportCsarResourceTest.java @@ -39,6 +39,8 @@ import java.util.stream.Collectors; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang.WordUtils; +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.tinkerpop.gremlin.process.traversal.P; import org.junit.Rule; import org.junit.rules.TestName; import org.openecomp.sdc.be.dao.api.ActionStatus; @@ -46,18 +48,24 @@ import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; import org.openecomp.sdc.be.model.ArtifactDefinition; import org.openecomp.sdc.be.model.CapabilityDefinition; import org.openecomp.sdc.be.model.ComponentInstance; +import org.openecomp.sdc.be.model.ComponentInstanceProperty; import org.openecomp.sdc.be.model.GroupDefinition; import org.openecomp.sdc.be.model.GroupProperty; import org.openecomp.sdc.be.model.RequirementCapabilityRelDef; 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.be.model.tosca.ToscaPropertyType; import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; import org.openecomp.sdc.ci.tests.api.Urls; import org.openecomp.sdc.ci.tests.config.Config; import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ImportReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; +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.HttpHeaderEnum; import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest; @@ -66,12 +74,15 @@ import org.openecomp.sdc.ci.tests.utils.Utils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils; 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.GroupRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.ImportRestUtils; 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.openecomp.sdc.common.api.ArtifactGroupTypeEnum; import org.openecomp.sdc.common.util.ValidationUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -83,7 +94,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { private static Logger log = LoggerFactory.getLogger(ImportCsarResourceTest.class.getName()); @Rule public static TestName name = new TestName(); - + private static final String CSARS_PATH = "/src/test/resources/CI/csars/"; Gson gson = new Gson(); public ImportCsarResourceTest() { @@ -757,7 +768,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { byte[] data = null; String payloadData = null; - path = Paths.get(rootPath + "/src/test/resources/CI/csars/valid_vf.csar"); + path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf.csar"); data = Files.readAllBytes(path); payloadData = Base64.encodeBase64String(data); resourceDetails.setPayloadData(payloadData); @@ -775,7 +786,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); // change composition (resource should be updated) - path = Paths.get(rootPath + "/src/test/resources/CI/csars/valid_vf_b.csar"); + path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf_b.csar"); data = Files.readAllBytes(path); payloadData = Base64.encodeBase64String(data); resourceDetails.setPayloadData(payloadData); @@ -802,7 +813,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); // wrong RI (without node types, resource shouldn't be updated) - path = Paths.get(rootPath + "/src/test/resources/CI/csars/valid_vf_c.csar"); + path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf_c.csar"); data = Files.readAllBytes(path); payloadData = Base64.encodeBase64String(data); resourceDetails.setPayloadData(payloadData); @@ -817,7 +828,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { // create new resource from other Csar resourceDetails = ElementFactory.getDefaultImportResource(); - path = Paths.get(rootPath + "/src/test/resources/CI/csars/VF_RI2_G4_withArtifacts.csar"); + path = Paths.get(rootPath + "/src/main/resources/ci/VF_RI2_G4_withArtifacts.csar"); data = Files.readAllBytes(path); payloadData = Base64.encodeBase64String(data); resourceDetails.setPayloadData(payloadData); @@ -833,7 +844,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { // wrong RI (with node types) resource shouldn't be created resourceDetails.setCsarUUID("VF_RI2_G4_withArtifacts_b.csar"); - path = Paths.get(rootPath + "/src/test/resources/CI/csars/VF_RI2_G4_withArtifacts_b.csar"); + path = Paths.get(rootPath + "/src/main/resources/ci/VF_RI2_G4_withArtifacts_b.csar"); data = Files.readAllBytes(path); payloadData = Base64.encodeBase64String(data); resourceDetails.setPayloadData(payloadData); @@ -854,7 +865,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { byte[] data = null; String payloadData = null; - path = Paths.get(rootPath + "/src/test/resources/CI/csars/valid_vf.csar"); + path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf.csar"); data = Files.readAllBytes(path); payloadData = Base64.encodeBase64String(data); resourceDetails.setPayloadData(payloadData); @@ -871,7 +882,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); // change composition and update resource - path = Paths.get(rootPath + "/src/test/resources/CI/csars/valid_vf_b.csar"); + path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf_b.csar"); data = Files.readAllBytes(path); payloadData = Base64.encodeBase64String(data); resourceDetails.setPayloadData(payloadData); @@ -899,7 +910,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { // try to update resource with wrong RI (without node types, resource // shouldn't be updated) - path = Paths.get(rootPath + "/src/test/resources/CI/csars/valid_vf_c.csar"); + path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf_c.csar"); data = Files.readAllBytes(path); payloadData = Base64.encodeBase64String(data); resourceDetails.setPayloadData(payloadData); @@ -1079,7 +1090,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { byte[] data = null; String payloadData = null; - path = Paths.get(rootPath + "/src/test/resources/CI/csars/valid_vf.csar"); + path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf.csar"); data = Files.readAllBytes(path); payloadData = Base64.encodeBase64String(data); resourceDetails.setPayloadData(payloadData); @@ -1097,7 +1108,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); // change composition (add new RI with specified property values) - path = Paths.get(rootPath + "/src/test/resources/CI/csars/valid_vf_d.csar"); + path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf_d.csar"); data = Files.readAllBytes(path); payloadData = Base64.encodeBase64String(data); resourceDetails.setPayloadData(payloadData); @@ -1112,7 +1123,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); // change composition (add new specified property values to existing RI) - path = Paths.get(rootPath + "/src/test/resources/CI/csars/valid_vf_f.csar"); + path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf_f.csar"); data = Files.readAllBytes(path); payloadData = Base64.encodeBase64String(data); resourceDetails.setPayloadData(payloadData); @@ -1268,7 +1279,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { Map<String, String> createdMembers = groupDefinition1.get(0).getMembers(); verifyMembers(createdMembers, compNameToUniqueId); - List<GroupProperty> properties = groupDefinition1.get(0).getProperties(); + List<GroupProperty> properties = groupDefinition1.get(0).convertToGroupProperties(); assertEquals("Verify number of members", 2, properties.size()); GroupProperty heatFiles = properties.stream().filter(p -> p.getName().equals("heat_files")).findFirst().get(); @@ -1465,7 +1476,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { byte[] data = null; String payloadData = null; - path = Paths.get(rootPath + "/src/test/resources/CI/csars/vmmc_relate_by_cap_name.csar"); + path = Paths.get(rootPath + CSARS_PATH + "vmmc_relate_by_cap_name.csar"); data = Files.readAllBytes(path); payloadData = Base64.encodeBase64String(data); resourceDetails.setPayloadData(payloadData); @@ -1491,7 +1502,7 @@ public class ImportCsarResourceTest extends ComponentBaseTest { byte[] data = null; String payloadData = null; - path = Paths.get(rootPath + "/src/test/resources/CI/csars/vf_relate_by_cap_name.csar"); + path = Paths.get(rootPath + CSARS_PATH + "vf_relate_by_cap_name.csar"); data = Files.readAllBytes(path); payloadData = Base64.encodeBase64String(data); resourceDetails.setPayloadData(payloadData); @@ -1514,6 +1525,310 @@ public class ImportCsarResourceTest extends ComponentBaseTest { assertEquals(mappedByReqOwner.get(cp2Uid).get(0).getRelationships().get(0).getCapabilityUid(), capabilities.get("link").getUniqueId()); } + @Test(enabled = true) + public void importCsarCheckVfHeatEnv() throws Exception { + ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); + resourceDetails.setCsarUUID("csar_1"); + resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + BaseRestUtils.checkCreateResponse(createResource); + Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); + + + Map<String, ArtifactDefinition> deploymentArtifacts = resource.getDeploymentArtifacts(); + assertNotNull(deploymentArtifacts); + // 2 lisence, 1 heat, 1 heatenv + assertEquals(4, deploymentArtifacts.size()); + + ArtifactDefinition artifactHeat = deploymentArtifacts.get("heat0"); + assertNotNull(artifactHeat); + + ArtifactDefinition artifactHeatEnv = deploymentArtifacts.get("heat0env"); + assertNotNull(artifactHeatEnv); + + assertEquals(artifactHeat.getUniqueId(), artifactHeatEnv.getGeneratedFromId()); + assertEquals("VF HEAT ENV", artifactHeatEnv.getArtifactDisplayName()); + assertEquals("HEAT_ENV", artifactHeatEnv.getArtifactType()); + assertEquals("VF Auto-generated HEAT Environment deployment artifact", artifactHeatEnv.getDescription()); + + String designerUserId = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId(); + String testerUserId = ElementFactory.getDefaultUser(UserRoleEnum.TESTER).getUserId(); + RestResponse lifecycleChangeResponse = LifecycleRestUtils.changeResourceState(resourceDetails, designerUserId, LifeCycleStatesEnum.CHECKIN); + LifecycleRestUtils.checkSuccess(lifecycleChangeResponse); + lifecycleChangeResponse = LifecycleRestUtils.changeResourceState(resourceDetails, designerUserId, LifeCycleStatesEnum.CHECKOUT); + LifecycleRestUtils.checkSuccess(lifecycleChangeResponse); + lifecycleChangeResponse = LifecycleRestUtils.changeResourceState(resourceDetails, designerUserId, LifeCycleStatesEnum.CHECKIN); + LifecycleRestUtils.checkSuccess(lifecycleChangeResponse); + lifecycleChangeResponse = LifecycleRestUtils.changeResourceState(resourceDetails, designerUserId, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + LifecycleRestUtils.checkSuccess(lifecycleChangeResponse); + lifecycleChangeResponse = LifecycleRestUtils.changeResourceState(resourceDetails, testerUserId, LifeCycleStatesEnum.STARTCERTIFICATION); + LifecycleRestUtils.checkSuccess(lifecycleChangeResponse); + lifecycleChangeResponse = LifecycleRestUtils.changeResourceState(resourceDetails, testerUserId, LifeCycleStatesEnum.CERTIFY); + LifecycleRestUtils.checkSuccess(lifecycleChangeResponse); + Resource certifiedResource = ResponseParser.parseToObjectUsingMapper(lifecycleChangeResponse.getResponse(), Resource.class); + + + User modifier = new User(); + modifier.setUserId(designerUserId); + + ServiceReqDetails serviceDetails = ElementFactory.getDefaultService("newtestservice1", ServiceCategoriesEnum.MOBILITY, designerUserId); + + RestResponse serviceRes = ServiceRestUtils.createService(serviceDetails, modifier); + ResourceRestUtils.checkCreateResponse(serviceRes); + Service service = ResponseParser.parseToObjectUsingMapper(serviceRes.getResponse(), Service.class); + + ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory.getComponentInstance(certifiedResource); + RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, modifier, service.getUniqueId(), service.getComponentType()); + BaseRestUtils.checkCreateResponse(createResourceInstanceResponse); + RestResponse serviceByGet = ServiceRestUtils.getService(service.getUniqueId()); + service = ResponseParser.parseToObjectUsingMapper(serviceByGet.getResponse(), Service.class); + + List<ComponentInstance> componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + + assertEquals(1, componentInstances.size()); + ComponentInstance ci = componentInstances.get(0); + Map<String, ArtifactDefinition> instDepArtifacts = ci.getDeploymentArtifacts(); + assertNotNull(instDepArtifacts); + ArtifactDefinition instArtifactHeat = instDepArtifacts.get("heat0"); + assertNotNull(instArtifactHeat); + + ArtifactDefinition instArtifactHeatEnv = instDepArtifacts.get("heat0env"); + assertNotNull(instArtifactHeatEnv); + assertEquals(artifactHeat.getUniqueId(), instArtifactHeatEnv.getGeneratedFromId()); + assertEquals("HEAT ENV", instArtifactHeatEnv.getArtifactDisplayName()); + assertEquals("HEAT_ENV", instArtifactHeatEnv.getArtifactType()); + + assertEquals(artifactHeat.getUniqueId(), instArtifactHeat.getUniqueId()); + //different artifacts + assertTrue( !artifactHeatEnv.getUniqueId().equals(instArtifactHeat.getUniqueId()) ); + + + } + + @Test(enabled = true) + public void createAndUpdateCsarCheckVfHeatEnv() throws Exception { + ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); + resourceDetails.setCsarUUID("orig2G_org"); + resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + BaseRestUtils.checkCreateResponse(createResource); + Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); + + + Map<String, ArtifactDefinition> deploymentArtifacts = resource.getDeploymentArtifacts(); + assertNotNull(deploymentArtifacts); + + assertEquals(13, deploymentArtifacts.size()); + + ArtifactDefinition artifactHeat = deploymentArtifacts.get("heat0"); + assertNotNull(artifactHeat); + + ArtifactDefinition artifactHeatEnv = deploymentArtifacts.get("heat0env"); + assertNotNull(artifactHeatEnv); + + assertEquals(artifactHeat.getUniqueId(), artifactHeatEnv.getGeneratedFromId()); + assertEquals("VF HEAT ENV", artifactHeatEnv.getArtifactDisplayName()); + assertEquals("HEAT_ENV", artifactHeatEnv.getArtifactType()); + assertEquals("VF Auto-generated HEAT Environment deployment artifact", artifactHeatEnv.getDescription()); + + List<GroupDefinition> groups = resource.getGroups(); + assertEquals(2, groups.size()); + GroupDefinition group1 = groups.stream().filter(p -> p.getName().contains("module-0")).findAny().get(); + GroupDefinition group2 = groups.stream().filter(p -> p.getName().contains("module-1")).findAny().get(); + assertEquals(11, group1.getArtifacts().size()); + assertEquals(3, group2.getArtifacts().size()); + + resourceDetails.setCsarUUID("orig2G_update"); + + RestResponse updateResource = ResourceRestUtils.updateResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), resourceDetails.getUniqueId()); + BaseRestUtils.checkSuccess(updateResource); + + resource = ResponseParser.parseToObjectUsingMapper(updateResource.getResponse(), Resource.class); + + + Map<String, ArtifactDefinition> deploymentArtifactsUpd = resource.getDeploymentArtifacts(); + assertNotNull(deploymentArtifactsUpd); + + assertEquals(13, deploymentArtifactsUpd.size()); + + ArtifactDefinition artifactHeatUpd = deploymentArtifacts.get("heat0"); + assertNotNull(artifactHeatUpd); + + ArtifactDefinition artifactHeatEnvUpd = deploymentArtifacts.get("heat0env"); + assertNotNull(artifactHeatEnvUpd); + + groups = resource.getGroups(); + assertEquals(2, groups.size()); + assertEquals(7, groups.get(0).getArtifacts().size()); + assertEquals(7, groups.get(1).getArtifacts().size()); + + + } + + @Test + public void importInnerVfcWithArtifactsSucceed() throws Exception { + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + String rootPath = System.getProperty("user.dir"); + ImportReqDetails resourceDetails = ElementFactory.getDefaultImportResource(); + + String payloadName = "ImportArtifactsToVFC.csar"; + Path path = Paths.get(rootPath + CSARS_PATH + "ImportArtifactsToVFC.csar"); + byte[] data = Files.readAllBytes(path); + String payloadData = Base64.encodeBase64String(data); + resourceDetails.setPayloadData(payloadData); + resourceDetails.setPayloadName(payloadName); + resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); + + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); + BaseRestUtils.checkCreateResponse(createResource); + Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); + + List<ComponentInstance> componentInstances = resource.getComponentInstances(); + List<ComponentInstance> reducedComponentInstances = componentInstances.stream() + .filter(ci->ci.getNormalizedName().contains("server_sm")) + .collect(Collectors.toList()); + assertTrue(!reducedComponentInstances.isEmpty() && reducedComponentInstances.size() == 2); + reducedComponentInstances.stream().forEach(ci->isValidArtifacts(ci)); + + payloadName = "ImportArtifactsToVFC_empty.csar"; + path = Paths.get(rootPath + CSARS_PATH + "ImportArtifactsToVFC_empty.csar"); + data = Files.readAllBytes(path); + payloadData = Base64.encodeBase64String(data); + resourceDetails.setName(resourceDetails.getName()+"2"); + resourceDetails.setPayloadData(payloadData); + resourceDetails.setPayloadName(payloadName); + resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); + + createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); + BaseRestUtils.checkCreateResponse(createResource); + resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); + + componentInstances = resource.getComponentInstances(); + reducedComponentInstances = componentInstances.stream() + .filter(ci->ci.getNormalizedName().contains("server_sm")) + .collect(Collectors.toList()); + assertTrue(!reducedComponentInstances.isEmpty() && reducedComponentInstances.size() == 2); + reducedComponentInstances.stream() + .forEach(ci->assertTrue( + (ci.getDeploymentArtifacts()==null || ci.getDeploymentArtifacts().isEmpty()) && + (ci.getArtifacts()==null || ci.getArtifacts().isEmpty())) + ); + } + + @SuppressWarnings("unchecked") + @Test + public void importInnerVfcWithArtifactsUpdateSucceed() throws Exception { + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + String rootPath = System.getProperty("user.dir"); + ImportReqDetails resourceDetails = ElementFactory.getDefaultImportResource(); + + String payloadName = "vfc_artifacts.csar"; + Path path = Paths.get(rootPath + CSARS_PATH + payloadName); + byte[] data = Files.readAllBytes(path); + String payloadData = Base64.encodeBase64String(data); + resourceDetails.setPayloadData(payloadData); + resourceDetails.setPayloadName(payloadName); + resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); + + Map<String,String> validCreatedInformationalArtifactVersions = new HashMap<>(); + validCreatedInformationalArtifactVersions.put("GuideInfoDelete.mib","1"); + validCreatedInformationalArtifactVersions.put("GuideInfoUpdate.mib","1"); + validCreatedInformationalArtifactVersions.put("OtherInfoIgnore.mib","1"); + + Map<String,String> validCreatedDeploymentArtifactVersions = new HashMap<>(); + validCreatedDeploymentArtifactVersions.put("PollDelete.mib","1"); + validCreatedDeploymentArtifactVersions.put("PollUpdate.mib","1"); + validCreatedDeploymentArtifactVersions.put("TrapDelete.mib","1"); + validCreatedDeploymentArtifactVersions.put("TrapUpdate.mib","1"); + + Map<String,String> validUpdatedInformationalArtifactVersions = new HashMap<>(); + validUpdatedInformationalArtifactVersions.put("GuideInfoNew.mib","1"); + validUpdatedInformationalArtifactVersions.put("GuideInfoUpdate.mib","2"); + validUpdatedInformationalArtifactVersions.put("OtherInfoIgnore.mib","1"); + + Map<String,String> validUpdatedDeploymentArtifactVersions = new HashMap<>(); + validUpdatedDeploymentArtifactVersions.put("PollNew.mib","1"); + validUpdatedDeploymentArtifactVersions.put("PollUpdate.mib","2"); + validUpdatedDeploymentArtifactVersions.put("TrapNew.mib","1"); + validUpdatedDeploymentArtifactVersions.put("TrapUpdate.mib","2"); + + RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); + BaseRestUtils.checkCreateResponse(createResource); + Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); + + List<ComponentInstance> componentInstances = resource.getComponentInstances().stream() + .filter(ci->ci.getNormalizedName().contains("ltm_server")) + .collect(Collectors.toList()); + assertTrue(!componentInstances.isEmpty() && componentInstances.size() == 1); + ComponentInstance componentInstance = componentInstances.get(0); + assertTrue(!componentInstance.getArtifacts().isEmpty() && componentInstance.getArtifacts().size() == 3); + componentInstance.getArtifacts().values().stream() + .forEach(a->assertTrue(validCreatedInformationalArtifactVersions.containsKey(a.getArtifactName()) && + validCreatedInformationalArtifactVersions.get(a.getArtifactName()).equals(a.getArtifactVersion()))); + + assertTrue(!componentInstance.getDeploymentArtifacts().isEmpty() && componentInstance.getDeploymentArtifacts().size() == 4); + componentInstance.getDeploymentArtifacts().values().stream() + .forEach(a->assertTrue(validCreatedDeploymentArtifactVersions.containsKey(a.getArtifactName()) && + validCreatedDeploymentArtifactVersions.get(a.getArtifactName()).equals(a.getArtifactVersion()))); + + payloadName = "vfc_artifacts_update.csar"; + path = Paths.get(rootPath + CSARS_PATH + payloadName); + data = Files.readAllBytes(path); + payloadData = Base64.encodeBase64String(data); + resourceDetails.setPayloadData(payloadData); + resourceDetails.setPayloadName(payloadName); + + RestResponse updateResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resource.getUniqueId()); + BaseRestUtils.checkSuccess(updateResource); + resource = ResponseParser.parseToObjectUsingMapper(updateResource.getResponse(), Resource.class); + + componentInstances = resource.getComponentInstances().stream() + .filter(ci->ci.getNormalizedName().contains("ltm_server")) + .collect(Collectors.toList()); + assertTrue(!componentInstances.isEmpty() && componentInstances.size() == 1); + componentInstance = componentInstances.get(0); + assertTrue(!componentInstance.getArtifacts().isEmpty() && componentInstance.getArtifacts().size() == 3); + componentInstance.getArtifacts().values().stream() + .forEach(a->assertTrue(validUpdatedInformationalArtifactVersions.containsKey(a.getArtifactName()) && + validUpdatedInformationalArtifactVersions.get(a.getArtifactName()).equals(a.getArtifactVersion()))); + + assertTrue(!componentInstance.getDeploymentArtifacts().isEmpty() && componentInstance.getDeploymentArtifacts().size() == 4); + componentInstance.getDeploymentArtifacts().values().stream() + .forEach(a->assertTrue(validUpdatedDeploymentArtifactVersions.containsKey(a.getArtifactName()) && + validUpdatedDeploymentArtifactVersions.get(a.getArtifactName()).equals(a.getArtifactVersion()))); + + + payloadName = "vfc_artifacts_delete_all.csar"; + path = Paths.get(rootPath + CSARS_PATH + payloadName); + data = Files.readAllBytes(path); + payloadData = Base64.encodeBase64String(data); + resourceDetails.setPayloadData(payloadData); + resourceDetails.setPayloadName(payloadName); + + updateResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resource.getUniqueId()); + BaseRestUtils.checkSuccess(updateResource); + resource = ResponseParser.parseToObjectUsingMapper(updateResource.getResponse(), Resource.class); + + componentInstances = resource.getComponentInstances().stream() + .filter(ci->ci.getNormalizedName().contains("ltm_server")) + .collect(Collectors.toList()); + assertTrue(!componentInstances.isEmpty() && componentInstances.size() == 1); + componentInstance = componentInstances.get(0); + assertTrue(componentInstance.getArtifacts() == null || componentInstance.getArtifacts().isEmpty()); + assertTrue(componentInstance.getDeploymentArtifacts() == null || componentInstance.getDeploymentArtifacts().isEmpty()); + } + + private void isValidArtifacts(ComponentInstance ci) { + assertTrue(!ci.getDeploymentArtifacts().isEmpty() && ci.getDeploymentArtifacts().size() == 11); + ci.getDeploymentArtifacts().values().stream() + .forEach(a->assertTrue(a.getArtifactName().startsWith("Some"))); + + assertTrue(!ci.getArtifacts().isEmpty() && ci.getArtifacts().size() == 1); + ci.getArtifacts().values().stream() + .forEach(a->assertTrue(a.getArtifactName().startsWith("Process"))); + } + private void verifyMembers(Map<String, String> createdMembers, Map<String, String> compNameToUniqueId) { for (Map.Entry<String, String> entry : createdMembers.entrySet()) { String key = entry.getKey(); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportGenericResourceCITest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportGenericResourceCITest.java index 873d33979f..7957edc9a7 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportGenericResourceCITest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportGenericResourceCITest.java @@ -46,9 +46,12 @@ import org.apache.http.entity.mime.content.FileBody; import org.apache.http.entity.mime.content.StringBody; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; + import org.junit.Rule; import org.junit.rules.TestName; import org.openecomp.sdc.be.model.LifecycleStateEnum; +import org.openecomp.sdc.be.model.PropertyDefinition; +import org.openecomp.sdc.be.model.Resource; import org.openecomp.sdc.be.model.category.CategoryDefinition; import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; import org.openecomp.sdc.ci.tests.api.Urls; @@ -82,9 +85,10 @@ public class ImportGenericResourceCITest extends ComponentBaseTest { private static Logger log = LoggerFactory.getLogger(ImportGenericResourceCITest.class.getName()); private static final String FILE_NAME_MY_COMPUTE = "tosca.nodes.MyCompute"; private static final String RESOURCE_NAME_UPDATE_COMPUTE = "userUpdateCompute"; - private static final String RESOURCE_NAME_MY_COMPUTE = "myCompute"; + private static final String RESOURCE_NAME_MY_COMPUTE = "MyCompute"; private static final String RESOURCE_NAME_USER_COMPUTE = "userCompute"; private static final String FILE_NAME_USER_COMPUTE = "tosca.nodes.userCompute"; + private static final String FILE_NAME_USER_VFC = "Derived_VFC"; @Rule public static TestName name = new TestName(); @@ -503,7 +507,7 @@ public class ImportGenericResourceCITest extends ComponentBaseTest { String fileName = FILE_NAME_MY_COMPUTE; RestResponse response = ImportRestUtils.importNormativeResourceByName(RESOURCE_NAME_MY_COMPUTE, UserRoleEnum.ADMIN); Integer statusCode = response.getErrorCode(); - assertTrue(statusCode == BaseRestUtils.STATUS_CODE_IMPORT_SUCCESS); + assertTrue(String.format("Expected code %s and got code %s",ImportRestUtils.STATUS_CODE_IMPORT_SUCCESS,statusCode),statusCode == ImportRestUtils.STATUS_CODE_IMPORT_SUCCESS); String uid = ResponseParser.getUniqueIdFromResponse(response); validateMyComputeResource(uid, fileName, "1.0", "CERTIFIED"); @@ -572,7 +576,7 @@ public class ImportGenericResourceCITest extends ComponentBaseTest { String fileName = FILE_NAME_USER_COMPUTE; RestResponse response = ImportRestUtils.importNormativeResourceByName(RESOURCE_NAME_USER_COMPUTE, UserRoleEnum.ADMIN); Integer statusCode = response.getErrorCode(); - assertTrue(statusCode == ImportRestUtils.STATUS_CODE_IMPORT_SUCCESS); + assertTrue(String.format("Expected code %s and got code %s",ImportRestUtils.STATUS_CODE_IMPORT_SUCCESS,statusCode),statusCode == ImportRestUtils.STATUS_CODE_IMPORT_SUCCESS); String uid = ResponseParser.getUniqueIdFromResponse(response); validateMyComputeResource(uid, fileName, "1.0", "CERTIFIED"); @@ -595,5 +599,22 @@ public class ImportGenericResourceCITest extends ComponentBaseTest { Integer statusCode = ImportRestUtils.importNormativeResourceByName(RESOURCE_NAME_MY_COMPUTE, UserRoleEnum.DESIGNER).getErrorCode(); assertTrue(statusCode == 409); } + + @Test + public void testImportVFCDerivedFromGeneric() throws IOException { + + RestResponse response = ImportRestUtils.importNewResourceByName(FILE_NAME_USER_VFC, UserRoleEnum.ADMIN); + Integer statusCode = response.getErrorCode(); + assertTrue(String.format("Expected code %s and got code %s",ImportRestUtils.STATUS_CODE_IMPORT_SUCCESS,statusCode),statusCode == ImportRestUtils.STATUS_CODE_IMPORT_SUCCESS); + String uid = ResponseParser.getUniqueIdFromResponse(response); + response = ResourceRestUtils.getResource(uid); + Resource VFC = ResponseParser.convertResourceResponseToJavaObject(response.getResponse()); + List<PropertyDefinition> props = VFC.getProperties(); + for (PropertyDefinition prop : props) { + assertTrue(null != prop.getOwnerId() && !uid.equals(prop.getOwnerId())); + + } + + } } diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportNewResourceCITest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportNewResourceCITest.java index ec335fa65f..9e8a2a1f95 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportNewResourceCITest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportNewResourceCITest.java @@ -108,7 +108,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { // init user sdncModifierDetails.setUserId(UserRoleEnum.ADMIN.getUserId()); // init resource details - resourceDetails = ElementFactory.getDefaultResource("importResource4test", NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, "jh0003"); + resourceDetails = ElementFactory.getDefaultResource("importResource4test", NormativeTypesEnum.ROOT, + ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, "jh0003"); } @Test @@ -119,8 +120,10 @@ public class ImportNewResourceCITest extends ComponentBaseTest { DbUtils.cleanAllAudits(); // import testResources trough newResource API - RestResponse importResponse = ImportRestUtils.importNewResourceByName(currResource.getFolderName(), UserRoleEnum.ADMIN); - System.err.println("import Resource " + "<" + currResource.getFolderName() + ">" + "response: " + importResponse.getErrorCode()); + RestResponse importResponse = ImportRestUtils.importNewResourceByName(currResource.getFolderName(), + UserRoleEnum.ADMIN); + System.err.println("import Resource " + "<" + currResource.getFolderName() + ">" + "response: " + + importResponse.getErrorCode()); // validate response ImportRestUtils.validateImportTestTypesResp(currResource, importResponse); @@ -143,7 +146,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { expectedResourceAuditJavaObject.setCurrState(""); expectedResourceAuditJavaObject.setComment(null); expectedResourceAuditJavaObject.setStatus(errorInfo.getCode().toString()); - List<String> variables = (currResource.getErrorParams() != null ? currResource.getErrorParams() : new ArrayList<String>()); + List<String> variables = (currResource.getErrorParams() != null ? currResource.getErrorParams() + : new ArrayList<String>()); String auditDesc = AuditValidationUtils.buildAuditDescription(errorInfo, variables); expectedResourceAuditJavaObject.setDesc(auditDesc); AuditValidationUtils.validateAuditImport(expectedResourceAuditJavaObject, auditAction); @@ -156,7 +160,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { // init user sdncModifierDetails.setUserId(userRoleEnum.getUserId()); // init resource details - resourceDetails = ElementFactory.getDefaultResource("importResource4test", NormativeTypesEnum.ROOT, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, "jh0003"); + resourceDetails = ElementFactory.getDefaultResource("importResource4test", NormativeTypesEnum.ROOT, + ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, "jh0003"); // clean ES DB DbUtils.cleanAllAudits(); // import new resource (expected checkOut state) @@ -166,14 +171,19 @@ public class ImportNewResourceCITest extends ComponentBaseTest { @Test(enabled = false) public void importUIResource() throws IOException { - String payload = "tosca_definitions_version: tosca_simple_yaml_1_0_0\r\n" + "node_types: \r\n" + " org.openecomp.resource.importResource4test:\r\n" + " derived_from: tosca.nodes.Root\r\n" + " description: someDesc"; + String payload = "tosca_definitions_version: tosca_simple_yaml_1_0_0\r\n" + "node_types: \r\n" + + " org.openecomp.resource.importResource4test:\r\n" + " derived_from: tosca.nodes.Root\r\n" + + " description: someDesc"; String encodedPayload = new String(Base64.encodeBase64(payload.getBytes())); - String json = "{\r\n" + " \"resourceName\": \"importResource4test\",\r\n" + " \"payloadName\": \"importResource4test.yml\",\r\n" + String json = "{\r\n" + " \"resourceName\": \"importResource4test\",\r\n" + + " \"payloadName\": \"importResource4test.yml\",\r\n" + " \"categories\": [{\"name\": \"Application L4+\",\"normalizedName\": \"application l4+\",\"uniqueId\": \"resourceNewCategory.application l4+\",\"subcategories\": [{\"name\": \"Web Server\"}]}],\r\n" - + " \"description\": \"ResourceDescription\",\r\n" + " \"vendorName\": \"VendorName\",\r\n" + " \"vendorRelease\": \"VendorRelease\",\r\n" + " \"contactId\": \"AT1234\",\r\n" + " \"icon\": \"router\",\r\n" + " \"tags\": [\r\n" - + " \"importResource4test\"\r\n" + " ],\r\n" + " \"payloadData\": \"" + encodedPayload + "\"\r\n" + "}"; + + " \"description\": \"ResourceDescription\",\r\n" + " \"vendorName\": \"VendorName\",\r\n" + + " \"vendorRelease\": \"VendorRelease\",\r\n" + " \"contactId\": \"AT1234\",\r\n" + + " \"icon\": \"router\",\r\n" + " \"tags\": [\r\n" + " \"importResource4test\"\r\n" + " ],\r\n" + + " \"payloadData\": \"" + encodedPayload + "\"\r\n" + "}"; String md5 = GeneralUtility.calculateMD5ByString(json); @@ -226,8 +236,10 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString()); // validate get response - RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceRespJavaObject.getUniqueId()); - Resource resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); + RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, + resourceRespJavaObject.getUniqueId()); + Resource resourceFromGet = ResponseParser + .convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); assertNotNull(resourceFromGet); // validate @@ -235,7 +247,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { // validate audit resourceDetails.setVersion(resourceDetails.getVersion()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor.constructFieldsForAuditValidation(resourceDetails, resourceVersion); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor + .constructFieldsForAuditValidation(resourceDetails, resourceVersion); auditAction = "ResourceImport"; expectedResourceAuditJavaObject.setAction(auditAction); @@ -275,7 +288,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { DbUtils.cleanAllAudits(); // import new resource while resource already exist in other state - importResponse = ImportRestUtils.importNewResourceByName("importResource4testUpdateVendorNameAndCategory", UserRoleEnum.ADMIN); + importResponse = ImportRestUtils.importNewResourceByName("importResource4testUpdateVendorNameAndCategory", + UserRoleEnum.ADMIN); assertNotNull("check response object is not null after import resource", importResponse); assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode()); @@ -290,8 +304,10 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString()); // validate get response - RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceRespJavaObject.getUniqueId()); - Resource resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); + RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, + resourceRespJavaObject.getUniqueId()); + Resource resourceFromGet = ResponseParser + .convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); assertNotNull(resourceFromGet); // validate @@ -299,7 +315,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { // validate audit resourceDetails.setVersion(resourceDetails.getVersion()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor.constructFieldsForAuditValidation(resourceDetails); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor + .constructFieldsForAuditValidation(resourceDetails); auditAction = "ResourceImport"; resourceVersion = "0.1"; @@ -331,14 +348,17 @@ public class ImportNewResourceCITest extends ComponentBaseTest { assertNotNull("check response object is not null after import resource", importResponse); assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode()); - ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name()); + ErrorInfo errorInfo = ErrorValidationUtils + .parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name()); assertEquals("Check response code after adding artifact", errorInfo.getCode(), importResponse.getErrorCode()); String[] split = resourceFromImport.getLastUpdaterFullName().split(" "); String firstName = split[0]; String lastName = split[1]; - List<String> variables = Arrays.asList(resourceFromImport.getName(), "resource", firstName, lastName, resourceFromImport.getLastUpdaterUserId()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name(), variables, importResponse.getResponse()); + List<String> variables = Arrays.asList(resourceFromImport.getName(), "resource", firstName, lastName, + resourceFromImport.getLastUpdaterUserId()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name(), variables, + importResponse.getResponse()); } @@ -359,74 +379,88 @@ public class ImportNewResourceCITest extends ComponentBaseTest { assertNotNull("check response object is not null after import resource", importResponse); assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode()); - ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name()); + ErrorInfo errorInfo = ErrorValidationUtils + .parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name()); assertEquals("Check response code after adding artifact", errorInfo.getCode(), importResponse.getErrorCode()); String[] split = resourceFromImport.getLastUpdaterFullName().split(" "); String firstName = split[0]; String lastName = split[1]; - List<String> variables = Arrays.asList(resourceFromImport.getName(), "resource", firstName, lastName, resourceFromImport.getLastUpdaterUserId()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name(), variables, importResponse.getResponse()); + List<String> variables = Arrays.asList(resourceFromImport.getName(), "resource", firstName, lastName, + resourceFromImport.getLastUpdaterUserId()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CHECKOUT_STATE.name(), variables, + importResponse.getResponse()); } @Test(enabled = false) public void importNewResource_nameSpace_vf() throws Exception { - RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testVF", UserRoleEnum.DESIGNER); + RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testVF", + UserRoleEnum.DESIGNER); assertNotNull("check response object is not null after import resource", importResponse); assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode()); assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue()); - Resource resourceRespJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse()); + Resource resourceRespJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResponse.getResponse()); assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.VF)); } @Test public void importNewResource_nameSpace_vfc() throws Exception { - RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testVFC", UserRoleEnum.DESIGNER); + RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testVFC", + UserRoleEnum.DESIGNER); assertNotNull("check response object is not null after import resource", importResponse); assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode()); assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue()); - Resource resourceRespJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse()); + Resource resourceRespJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResponse.getResponse()); assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.VFC)); } @Test public void importNewResource_nameSpace_vl() throws Exception { - RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testVL", UserRoleEnum.DESIGNER); + RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testVL", + UserRoleEnum.DESIGNER); assertNotNull("check response object is not null after import resource", importResponse); assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode()); assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue()); - Resource resourceRespJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse()); + Resource resourceRespJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResponse.getResponse()); assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.VL)); } @Test public void importNewResource_nameSpace_cp() throws Exception { - RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testCP", UserRoleEnum.DESIGNER); + RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testCP", + UserRoleEnum.DESIGNER); assertNotNull("check response object is not null after import resource", importResponse); assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode()); assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue()); - Resource resourceRespJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse()); + Resource resourceRespJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResponse.getResponse()); assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.CP)); } @Test public void importNewResource_nameSpace_unknown() throws Exception { - RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.DESIGNER); + RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4test", + UserRoleEnum.DESIGNER); assertNotNull("check response object is not null after import resource", importResponse); assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode()); assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue()); - Resource resourceRespJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResponse.getResponse()); + Resource resourceRespJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResponse.getResponse()); assertTrue(resourceRespJavaObject.getResourceType().equals(ResourceTypeEnum.VFC)); } @Test public void importNewResource_MissingNameSpace() throws Exception { - RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testMissingNameSpace", UserRoleEnum.DESIGNER); + RestResponse importResponse = ImportRestUtils.importNewResourceByName("importResource4testMissingNameSpace", + UserRoleEnum.DESIGNER); assertNotNull("check response object is not null after import resource", importResponse); assertNotNull("check error code exists in response after import resource", importResponse.getErrorCode()); assertEquals("Check response code after import resource", 400, importResponse.getErrorCode().intValue()); @@ -464,8 +498,10 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString()); // validate get response - RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceRespJavaObject.getUniqueId()); - Resource resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); + RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, + resourceRespJavaObject.getUniqueId()); + Resource resourceFromGet = ResponseParser + .convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); assertNotNull(resourceFromGet); // validate @@ -473,7 +509,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { // validate audit resourceDetails.setVersion(resourceDetails.getVersion()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor.constructFieldsForAuditValidation(resourceDetails); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor + .constructFieldsForAuditValidation(resourceDetails); auditAction = "ResourceImport"; resourceVersion = "0.1"; @@ -505,7 +542,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceVersion = resourceDetails.getVersion(); String checkinComment = "good checkin"; String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}"; - RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); + RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); assertNotNull("check response object is not null after import resource", checkInResponse); assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue()); @@ -530,8 +568,10 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceRespJavaObject.setLifecycleState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString()); // validate get response - RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceRespJavaObject.getUniqueId()); - Resource resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); + RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, + resourceRespJavaObject.getUniqueId()); + Resource resourceFromGet = ResponseParser + .convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); assertNotNull(resourceFromGet); // validate @@ -539,7 +579,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { // validate audit resourceDetails.setVersion(resourceDetails.getVersion()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor.constructFieldsForAuditValidation(resourceDetails); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor + .constructFieldsForAuditValidation(resourceDetails); resourceVersion = "0.2"; auditAction = "ResourceImport"; @@ -565,9 +606,11 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class); resourceVersion = resourceDetails.getVersion(); - RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId()); + RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, + resourceDetails.getUniqueId()); assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue()); - Resource resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); + Resource resourceFromGet = ResponseParser + .convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); assertNotNull(resourceFromGet); // add mandatory artifacts // // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails, @@ -583,7 +626,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceVersion = resourceDetails.getVersion(); String checkinComment = "good checkin"; String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}"; - RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); + RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); assertNotNull("check response object is not null after import resource", checkInResponse); assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue()); @@ -593,7 +637,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceDetails.setVersion(resourceFromGet.getVersion()); // req4cert resource - RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertNotNull("check response object is not null after resource request for certification", request4cert); assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue()); resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse()); @@ -614,11 +659,13 @@ public class ImportNewResourceCITest extends ComponentBaseTest { assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode()); assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode()); List<String> variables = Arrays.asList(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), variables, importResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), variables, + importResponse.getResponse()); // validate audit - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor.constructFieldsForAuditValidation(resourceDetails, resourceVersion); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor + .constructFieldsForAuditValidation(resourceDetails, resourceVersion); String auditAction = "ResourceImport"; expectedResourceAuditJavaObject.setAction(auditAction); @@ -649,9 +696,11 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class); resourceVersion = resourceDetails.getVersion(); - RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId()); + RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, + resourceDetails.getUniqueId()); assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue()); - Resource resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); + Resource resourceFromGet = ResponseParser + .convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); assertNotNull(resourceFromGet); // add mandatory artifacts // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails, @@ -667,12 +716,14 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceVersion = resourceDetails.getVersion(); String checkinComment = "good checkin"; String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}"; - RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); + RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); assertNotNull("check response object is not null after import resource", checkInResponse); assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue()); // req4cert resource - RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertNotNull("check response object is not null after resource request for certification", request4cert); assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue()); resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse()); @@ -687,18 +738,22 @@ public class ImportNewResourceCITest extends ComponentBaseTest { importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.DESIGNER); // validate response - ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_SENT_FOR_CERTIFICATION.name()); + ErrorInfo errorInfo = ErrorValidationUtils + .parseErrorConfigYaml(ActionStatus.COMPONENT_SENT_FOR_CERTIFICATION.name()); assertNotNull("check response object is not null after create resouce", importResponse); assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode()); assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode()); String[] split = resourceFromGet.getLastUpdaterFullName().split(" "); String firstName = split[0]; String lastName = split[1]; - List<String> variables = Arrays.asList(resourceFromGet.getName(), "resource", firstName, lastName, resourceFromGet.getLastUpdaterUserId()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_SENT_FOR_CERTIFICATION.name(), variables, importResponse.getResponse()); + List<String> variables = Arrays.asList(resourceFromGet.getName(), "resource", firstName, lastName, + resourceFromGet.getLastUpdaterUserId()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_SENT_FOR_CERTIFICATION.name(), variables, + importResponse.getResponse()); // validate audit - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor.constructFieldsForAuditValidation(resourceDetails, resourceVersion); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor + .constructFieldsForAuditValidation(resourceDetails, resourceVersion); String auditAction = "ResourceImport"; expectedResourceAuditJavaObject.setAction(auditAction); expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.DESIGNER.getUserId()); @@ -727,9 +782,11 @@ public class ImportNewResourceCITest extends ComponentBaseTest { assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue()); resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class); resourceVersion = resourceDetails.getVersion(); - RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId()); + RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, + resourceDetails.getUniqueId()); assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue()); - Resource resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); + Resource resourceFromGet = ResponseParser + .convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); assertNotNull(resourceFromGet); // add mandatory artifacts @@ -746,12 +803,14 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceVersion = resourceDetails.getVersion(); String checkinComment = "good checkin"; String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}"; - RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); + RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); assertNotNull("check response object is not null after import resource", checkInResponse); assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue()); // req4cert resource - RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertNotNull("check response object is not null after resource request for certification", request4cert); assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue()); resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse()); @@ -790,7 +849,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { ResourceValidationUtils.validateModelObjects(resourceFromImport, resourceFromGet); // validate audit - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor.constructFieldsForAuditValidation(resourceDetails, resourceVersion); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor + .constructFieldsForAuditValidation(resourceDetails, resourceVersion); auditAction = "ResourceImport"; expectedResourceAuditJavaObject.setAction(auditAction); expectedResourceAuditJavaObject.setPrevState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString()); @@ -812,9 +872,11 @@ public class ImportNewResourceCITest extends ComponentBaseTest { assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue()); resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class); resourceVersion = resourceDetails.getVersion(); - RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId()); + RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, + resourceDetails.getUniqueId()); assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue()); - Resource resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); + Resource resourceFromGet = ResponseParser + .convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); assertNotNull(resourceFromGet); // add mandatory artifacts @@ -831,12 +893,14 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceVersion = resourceDetails.getVersion(); String checkinComment = "good checkin"; String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}"; - RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); + RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); assertNotNull("check response object is not null after import resource", checkInResponse); assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue()); // req4cert resource - RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertNotNull("check response object is not null after resource request for certification", request4cert); assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue()); resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse()); @@ -845,7 +909,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceDetails.setVersion(resourceFromGet.getVersion()); // startCert - RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION); assertNotNull("check response object is not null after resource request start certification", startCert); assertEquals("Check response code after checkout resource", 200, startCert.getErrorCode().intValue()); resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse()); @@ -866,10 +931,12 @@ public class ImportNewResourceCITest extends ComponentBaseTest { assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode()); assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode()); List<String> variables = Arrays.asList(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), variables, importResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), variables, + importResponse.getResponse()); // validate audit - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor.constructFieldsForAuditValidation(resourceDetails, resourceVersion); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor + .constructFieldsForAuditValidation(resourceDetails, resourceVersion); String auditAction = "ResourceImport"; expectedResourceAuditJavaObject.setAction(auditAction); expectedResourceAuditJavaObject.setResourceName(""); @@ -897,9 +964,11 @@ public class ImportNewResourceCITest extends ComponentBaseTest { assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue()); resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class); resourceVersion = resourceDetails.getVersion(); - RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId()); + RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, + resourceDetails.getUniqueId()); assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue()); - Resource resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); + Resource resourceFromGet = ResponseParser + .convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); assertNotNull(resourceFromGet); // add mandatory artifacts @@ -916,12 +985,14 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceVersion = resourceDetails.getVersion(); String checkinComment = "good checkin"; String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}"; - RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); + RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); assertNotNull("check response object is not null after import resource", checkInResponse); assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue()); // req4cert resource - RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertNotNull("check response object is not null after resource request for certification", request4cert); assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue()); resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse()); @@ -930,7 +1001,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceDetails.setVersion(resourceFromGet.getVersion()); // startCert - RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION); assertNotNull("check response object is not null after resource request start certification", startCert); assertEquals("Check response code after checkout resource", 200, startCert.getErrorCode().intValue()); resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse()); @@ -944,15 +1016,19 @@ public class ImportNewResourceCITest extends ComponentBaseTest { // import new resource while resource already exist in other state importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.DESIGNER); - ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name()); + ErrorInfo errorInfo = ErrorValidationUtils + .parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name()); assertNotNull("check response object is not null after create resouce", importResponse); assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode()); assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode()); - List<String> variables = Arrays.asList(resourceDetails.getName(), "resource", sdncAdminUser.getFirstName(), sdncAdminUser.getLastName(), sdncAdminUser.getUserId()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name(), variables, importResponse.getResponse()); + List<String> variables = Arrays.asList(resourceDetails.getName(), "resource", sdncAdminUser.getFirstName(), + sdncAdminUser.getLastName(), sdncAdminUser.getUserId()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name(), + variables, importResponse.getResponse()); // validate audit - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor.constructFieldsForAuditValidation(resourceDetails, resourceVersion); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor + .constructFieldsForAuditValidation(resourceDetails, resourceVersion); String auditAction = "ResourceImport"; expectedResourceAuditJavaObject.setAction(auditAction); expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.DESIGNER.getUserId()); @@ -983,9 +1059,11 @@ public class ImportNewResourceCITest extends ComponentBaseTest { assertEquals("Check response code after import resource", 201, importResponse.getErrorCode().intValue()); resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class); resourceVersion = resourceDetails.getVersion(); - RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId()); + RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, + resourceDetails.getUniqueId()); assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue()); - Resource resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); + Resource resourceFromGet = ResponseParser + .convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); assertNotNull(resourceFromGet); // add mandatory artifacts @@ -1002,12 +1080,14 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceVersion = resourceDetails.getVersion(); String checkinComment = "good checkin"; String checkinComentJson = "{\"userRemarks\": \"" + checkinComment + "\"}"; - RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); + RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CHECKIN, checkinComentJson); assertNotNull("check response object is not null after import resource", checkInResponse); assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue()); // req4cert resource - RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertNotNull("check response object is not null after resource request for certification", request4cert); assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue()); resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse()); @@ -1016,7 +1096,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceDetails.setVersion(resourceFromGet.getVersion()); // startCert - RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION); assertNotNull("check response object is not null after resource request start certification", startCert); assertEquals("Check response code after checkout resource", 200, startCert.getErrorCode().intValue()); resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse()); @@ -1032,15 +1113,19 @@ public class ImportNewResourceCITest extends ComponentBaseTest { importResponse = ImportRestUtils.importNewResourceByName("importResource4test", UserRoleEnum.ADMIN); // validate response - ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name()); + ErrorInfo errorInfo = ErrorValidationUtils + .parseErrorConfigYaml(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name()); assertNotNull("check response object is not null after create resouce", importResponse); assertNotNull("check error code exists in response after create resource", importResponse.getErrorCode()); assertEquals("Check response code after create service", errorInfo.getCode(), importResponse.getErrorCode()); - List<String> variables = Arrays.asList(resourceDetails.getName(), "resource", sdncAdminUser.getFirstName(), sdncAdminUser.getLastName(), sdncAdminUser.getUserId()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name(), variables, importResponse.getResponse()); + List<String> variables = Arrays.asList(resourceDetails.getName(), "resource", sdncAdminUser.getFirstName(), + sdncAdminUser.getLastName(), sdncAdminUser.getUserId()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_IN_CERT_IN_PROGRESS_STATE.name(), + variables, importResponse.getResponse()); // validate audit - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor.constructFieldsForAuditValidation(resourceDetails, resourceVersion); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = Convertor + .constructFieldsForAuditValidation(resourceDetails, resourceVersion); String auditAction = "ResourceImport"; expectedResourceAuditJavaObject.setAction(auditAction); expectedResourceAuditJavaObject.setModifierUid(UserRoleEnum.ADMIN.getUserId()); @@ -1202,10 +1287,6 @@ public class ImportNewResourceCITest extends ComponentBaseTest { // DbUtils.cleanAllAudits(); // // // change resource details - // resourceDetails = - // ElementFactory.getDefaultResource("tosca.nodes.importResource4test", - // NormativeTypesEnum.COMPUTE, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, - // "jh0003"); // // // import new resource while resource already exist in other state // importResponse = @@ -1279,9 +1360,11 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class); resourceVersion = resourceDetails.getVersion(); - RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId()); + RestResponse resourceGetResponse = ResourceRestUtils.getResource(sdncModifierDetails, + resourceDetails.getUniqueId()); assertEquals("Check response code after get resource", 200, resourceGetResponse.getErrorCode().intValue()); - Resource resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); + Resource resourceFromGet = ResponseParser + .convertResourceResponseToJavaObject(resourceGetResponse.getResponse()); assertNotNull(resourceFromGet); // add mandatory artifacts // resourceUtils.addResourceMandatoryArtifacts(sdncModifierDetails, @@ -1293,7 +1376,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { resourceDetails = ResponseParser.parseToObject(importResponse.getResponse(), ResourceReqDetails.class); resourceDetails.setVersion(resourceFromGet.getVersion()); - RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, "0.1", LifeCycleStatesEnum.CHECKIN); + RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + "0.1", LifeCycleStatesEnum.CHECKIN); assertNotNull("check response object is not null after import resource", checkInResponse); assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue()); @@ -1301,7 +1385,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { assertTrue(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid)); // req4cert resource - RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse request4cert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertNotNull("check response object is not null after resource request for certification", request4cert); assertEquals("Check response code after checkout resource", 200, request4cert.getErrorCode().intValue()); resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(request4cert.getResponse()); @@ -1313,7 +1398,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { assertTrue(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid2)); // startCert - RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse startCert = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + resourceVersion, LifeCycleStatesEnum.STARTCERTIFICATION); assertNotNull("check response object is not null after resource request start certification", startCert); assertEquals("Check response code after checkout resource", 200, startCert.getErrorCode().intValue()); resourceFromGet = ResponseParser.convertResourceResponseToJavaObject(startCert.getResponse()); @@ -1324,14 +1410,16 @@ public class ImportNewResourceCITest extends ComponentBaseTest { String newUuid3 = ResponseParser.getValueFromJsonResponse(startCert.getResponse(), "uuid"); assertTrue(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid3)); - RestResponse certify = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, "0.1", LifeCycleStatesEnum.CERTIFY); + RestResponse certify = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, "0.1", + LifeCycleStatesEnum.CERTIFY); assertNotNull("check response object is not null after import resource", certify); assertEquals("Check response code after checkout resource", 200, certify.getErrorCode().intValue()); String newUuid4 = ResponseParser.getValueFromJsonResponse(certify.getResponse(), "uuid"); assertTrue(ResourceValidationUtils.validateUuidAfterChangingStatus(oldUuid, newUuid4)); - RestResponse checkoutResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, "1.0", LifeCycleStatesEnum.CHECKOUT); + RestResponse checkoutResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, + "1.0", LifeCycleStatesEnum.CHECKOUT); assertNotNull("check response object is not null after import resource", checkInResponse); assertEquals("Check response code after checkout resource", 200, checkInResponse.getErrorCode().intValue()); @@ -1349,7 +1437,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { List<PropertyDefinition> properties = resource.getProperties(); assertEquals("check properties size", 3, properties.size()); - PropertyDefinition propertyDefinition = properties.stream().filter(p -> p.getName().equals("validation_test")).findFirst().get(); + PropertyDefinition propertyDefinition = properties.stream().filter(p -> p.getName().equals("validation_test")) + .findFirst().get(); String defaultValue = propertyDefinition.getDefaultValue(); Map mapValue = gson.fromJson(defaultValue, Map.class); @@ -1371,7 +1460,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { List<PropertyDefinition> properties = resource.getProperties(); assertEquals("check properties size", 3, properties.size()); - PropertyDefinition propertyDefinition = properties.stream().filter(p -> p.getName().equals("validation_test")).findFirst().get(); + PropertyDefinition propertyDefinition = properties.stream().filter(p -> p.getName().equals("validation_test")) + .findFirst().get(); String defaultValue = propertyDefinition.getDefaultValue(); List listValue = gson.fromJson(defaultValue, List.class); @@ -1385,7 +1475,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { assertEquals("check properties size", 2, attributes.size()); // Verify attribute from type map - AttributeDefinition attributeMapDefinition = attributes.stream().filter(p -> p.getName().equals("validation_test_map")).findFirst().get(); + AttributeDefinition attributeMapDefinition = attributes.stream() + .filter(p -> p.getName().equals("validation_test_map")).findFirst().get(); String defaultMapValue = attributeMapDefinition.getDefaultValue(); Map attributeMapValue = gson.fromJson(defaultMapValue, Map.class); assertEquals("check Map value size", 2, attributeMapValue.size()); @@ -1393,7 +1484,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { checkMapValues(attributeMapValue, "key", 2, SPECIAL_CHARACTERS); // Verify attribute from type list - AttributeDefinition attributeListDefinition = attributes.stream().filter(p -> p.getName().equals("validation_test_list")).findFirst().get(); + AttributeDefinition attributeListDefinition = attributes.stream() + .filter(p -> p.getName().equals("validation_test_list")).findFirst().get(); String defaultListValue = attributeListDefinition.getDefaultValue(); List attributeListValue = gson.fromJson(defaultListValue, List.class); @@ -1408,7 +1500,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { private void checkListValues(Object object, int index, String suffix) { Map map = (Map) object; - assertEquals("check Map protocol value", "protocol" + index + (suffix == null ? "" : suffix), map.get("protocol")); + assertEquals("check Map protocol value", "protocol" + index + (suffix == null ? "" : suffix), + map.get("protocol")); assertEquals("check Map token value", "token" + index, map.get("token")); } @@ -1424,7 +1517,8 @@ public class ImportNewResourceCITest extends ComponentBaseTest { private void checkMapValues(Map mapValue, String key, int index, String suffix) { Map map1 = (Map) mapValue.get(key + index); - assertEquals("check Map protocol value", "protocol" + index + (suffix == null ? "" : suffix), map1.get("protocol")); + assertEquals("check Map protocol value", "protocol" + index + (suffix == null ? "" : suffix), + map1.get("protocol")); assertEquals("check Map token value", "token" + index, map1.get("token")); } diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportToscaResourceTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportToscaResourceTest.java index b78bf3de36..0973135295 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportToscaResourceTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportToscaResourceTest.java @@ -95,6 +95,8 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; +import aj.org.objectweb.asm.Attribute; + /** * * @author Andrey + Pavel + Shay @@ -135,10 +137,15 @@ public class ImportToscaResourceTest extends ComponentBaseTest { @DataProvider private static final Object[][] getYmlWithInValidListProperties() throws IOException, Exception { - return new Object[][] { { "ListPropertyFalure02.yml", "[false,\"truee\"]", "boolean" }, { "ListPropertyFalure03.yml", "[false,3]", "boolean" }, { "ListPropertyFalure04.yml", "[false,3.56]", "boolean" }, - { "ListPropertyFalure05.yml", "[10000,3.56]", "integer" }, { "ListPropertyFalure06.yml", "[10000,\"aaaa\"]", "integer" }, { "ListPropertyFalure07.yml", "[10000,true]", "integer" }, - { "ListPropertyFalure08.yml", "[10.5,true]", "float" }, { "ListPropertyFalure09.yml", "[10.5,\"asdc\"]", "float" }, // type - // float + return new Object[][] { { "ListPropertyFalure02.yml", "[false,\"truee\"]", "boolean" }, + { "ListPropertyFalure03.yml", "[false,3]", "boolean" }, + { "ListPropertyFalure04.yml", "[false,3.56]", "boolean" }, + { "ListPropertyFalure05.yml", "[10000,3.56]", "integer" }, + { "ListPropertyFalure06.yml", "[10000,\"aaaa\"]", "integer" }, + { "ListPropertyFalure07.yml", "[10000,true]", "integer" }, + { "ListPropertyFalure08.yml", "[10.5,true]", "float" }, + { "ListPropertyFalure09.yml", "[10.5,\"asdc\"]", "float" }, // type + // float { "ListPropertyFalure11.yml", "[10.5,\"500.0@\"]", "float" }, // property // list // float @@ -166,20 +173,26 @@ public class ImportToscaResourceTest extends ComponentBaseTest { // in // default // value - { "ListPropertyFalure14.yml", "[false,\"falsee\",true]", "boolean" }, { "ListPropertyFalure15.yml", "[10.5,\"10.6x\",20.5,30.5]", "float" } // float - // with - // value - // 10.6x - // instead - // 10.6f + { "ListPropertyFalure14.yml", "[false,\"falsee\",true]", "boolean" }, + { "ListPropertyFalure15.yml", "[10.5,\"10.6x\",20.5,30.5]", "float" } // float + // with + // value + // 10.6x + // instead + // 10.6f }; } @DataProvider private static final Object[][] getYmlWithInValidMapProperties() throws IOException, Exception { - return new Object[][] { { "MapPropertyFalure02.yml", "[false,\"truee\"]", "boolean" }, { "MapPropertyFalure03.yml", "[false,3]", "boolean" }, { "MapPropertyFalure04.yml", "[false,3.56]", "boolean" }, - { "MapPropertyFalure05.yml", "[10000,3.56]", "integer" }, { "MapPropertyFalure06.yml", "[10000,\"aaaa\"]", "integer" }, { "MapPropertyFalure07.yml", "[10000,true]", "integer" }, { "MapPropertyFalure08.yml", "[10.5,true]", "float" }, + return new Object[][] { { "MapPropertyFalure02.yml", "[false,\"truee\"]", "boolean" }, + { "MapPropertyFalure03.yml", "[false,3]", "boolean" }, + { "MapPropertyFalure04.yml", "[false,3.56]", "boolean" }, + { "MapPropertyFalure05.yml", "[10000,3.56]", "integer" }, + { "MapPropertyFalure06.yml", "[10000,\"aaaa\"]", "integer" }, + { "MapPropertyFalure07.yml", "[10000,true]", "integer" }, + { "MapPropertyFalure08.yml", "[10.5,true]", "float" }, { "MapPropertyFalure09.yml", "[10.5,\"asdc\"]", "float" }, // type // float { "MapPropertyFalure11.yml", "[10.5,\"500.0@\"]", "float" }, // property @@ -209,12 +222,13 @@ public class ImportToscaResourceTest extends ComponentBaseTest { // in // default // value - { "MapPropertyFalure14.yml", "[false,\"falsee\",true]", "boolean" }, { "MapPropertyFalure15.yml", "[10.5,\"10.6x\",20.5,30.5]", "float" } // float - // with - // value - // 10.6x - // instead - // 10.6f + { "MapPropertyFalure14.yml", "[false,\"falsee\",true]", "boolean" }, + { "MapPropertyFalure15.yml", "[10.5,\"10.6x\",20.5,30.5]", "float" } // float + // with + // value + // 10.6x + // instead + // 10.6f }; } @@ -289,67 +303,93 @@ public class ImportToscaResourceTest extends ComponentBaseTest { // US558432 - Support for Capability/Requirement "occurences" Import @Test(dataProvider = "getYmlWithInValidOccurrences") - public void importToscaResourceWithOccurrencesFailuresFlow01(String ymlFileWithInvalidCapReqOccurrences) throws Exception { - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, ymlFileWithInvalidCapReqOccurrences); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + public void importToscaResourceWithOccurrencesFailuresFlow01(String ymlFileWithInvalidCapReqOccurrences) + throws Exception { + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + ymlFileWithInvalidCapReqOccurrences); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertTrue(importResourceResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT)); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_OCCURRENCES.name(), new ArrayList<String>(), importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_OCCURRENCES.name(), new ArrayList<String>(), + importResourceResponse.getResponse()); } @Test(dataProvider = "getInvalidYmlWithOccurrences") - public void importToscaResourceWithOccurrencesFailuresFlow02(String ymlFileWithInvalidCapReqOccurrences) throws Exception { - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, ymlFileWithInvalidCapReqOccurrences); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + public void importToscaResourceWithOccurrencesFailuresFlow02(String ymlFileWithInvalidCapReqOccurrences) + throws Exception { + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + ymlFileWithInvalidCapReqOccurrences); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertTrue(importResourceResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT)); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_YAML_FILE.name(), new ArrayList<String>(), importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_YAML_FILE.name(), new ArrayList<String>(), + importResourceResponse.getResponse()); } @Test public void importToscaResource() throws Exception { - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, importSuccessFile); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); - AssertJUnit.assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), importResourceResponse.getErrorCode() == 201); - ToscaNodeTypeInfo parseToscaNodeYaml = utils.parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); - Resource resourceJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse()); - AssertJUnit.assertTrue("validate toscaResourceName field", resourceJavaObject.getToscaResourceName().equals(parseToscaNodeYaml.getNodeName())); - AssertJUnit.assertTrue("validate resourceType field", resourceJavaObject.getResourceType().equals(ResourceTypeEnum.VFC)); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + importSuccessFile); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + AssertJUnit.assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), + importResourceResponse.getErrorCode() == 201); + ToscaNodeTypeInfo parseToscaNodeYaml = utils + .parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); + Resource resourceJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResourceResponse.getResponse()); + AssertJUnit.assertTrue("validate toscaResourceName field", + resourceJavaObject.getToscaResourceName().equals(parseToscaNodeYaml.getNodeName())); + AssertJUnit.assertTrue("validate resourceType field", + resourceJavaObject.getResourceType().equals(ResourceTypeEnum.VFC)); // find derived from resource details // Validate resource details after import-create resource including // capabilities, interfaces from derived_from resource // Validate audit message - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgSuccess(); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgSuccess(); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setToscaNodeType(parseToscaNodeYaml.getNodeName()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceWithOccurrencesSuccessFlow() throws Exception { - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, importWithOccurrences); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); - AssertJUnit.assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), importResourceResponse.getErrorCode() == 201); - ToscaNodeTypeInfo parseToscaNodeYaml = utils.parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); - Resource resourceJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse()); - AssertJUnit.assertTrue("validate toscaResourceName field", resourceJavaObject.getToscaResourceName().equals(parseToscaNodeYaml.getNodeName())); - AssertJUnit.assertTrue("validate resourceType field", resourceJavaObject.getResourceType().equals(ResourceTypeEnum.VFC)); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + importWithOccurrences); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + AssertJUnit.assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), + importResourceResponse.getErrorCode() == 201); + ToscaNodeTypeInfo parseToscaNodeYaml = utils + .parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); + Resource resourceJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResourceResponse.getResponse()); + AssertJUnit.assertTrue("validate toscaResourceName field", + resourceJavaObject.getToscaResourceName().equals(parseToscaNodeYaml.getNodeName())); + AssertJUnit.assertTrue("validate resourceType field", + resourceJavaObject.getResourceType().equals(ResourceTypeEnum.VFC)); String requirementsType = "tosca.capabilities.Attachment"; String capabilitType = "tosca.capabilities.Endpoint.Admin"; // Verify Occurrences of requirements and capabilities in resource verifyRequirementsOccurrences(resourceJavaObject, requirementsType); verifyCapabilitiesOccurrences(resourceJavaObject, capabilitType); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgSuccess(); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgSuccess(); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setToscaNodeType(parseToscaNodeYaml.getNodeName()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } // ------------------------------Success--------------------------------- @@ -359,23 +399,34 @@ public class ImportToscaResourceTest extends ComponentBaseTest { String resourceType = ResourceTypeEnum.VF.toString(); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, importSuccessVFFile); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + importSuccessVFFile); // importReqDetails.setResourceType(resourceType); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); - assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), importResourceResponse.getErrorCode() == 201); - ToscaNodeTypeInfo parseToscaNodeYaml = utils.parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); - Resource resourceJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse()); - assertTrue("validate toscaResourceName field", resourceJavaObject.getToscaResourceName().equals(parseToscaNodeYaml.getNodeName())); - assertTrue("validate resourceType field, expected - " + resourceType + ", actual - " + resourceJavaObject.getResourceType(), resourceJavaObject.getResourceType().toString().equals(resourceType)); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), + importResourceResponse.getErrorCode() == 201); + ToscaNodeTypeInfo parseToscaNodeYaml = utils + .parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); + Resource resourceJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResourceResponse.getResponse()); + assertTrue("validate toscaResourceName field", + resourceJavaObject.getToscaResourceName().equals(parseToscaNodeYaml.getNodeName())); + assertTrue( + "validate resourceType field, expected - " + resourceType + ", actual - " + + resourceJavaObject.getResourceType(), + resourceJavaObject.getResourceType().toString().equals(resourceType)); // Validate audit message - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgSuccess(); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgSuccess(); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setToscaNodeType(parseToscaNodeYaml.getNodeName()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } // ------------------------------Failure--------------------------------- @@ -384,195 +435,255 @@ public class ImportToscaResourceTest extends ComponentBaseTest { public void importToscaResourceDerivedFromNotExist() throws Exception { String fileName = importNoDerivedFromFile; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); // List<String> derivedFrom = new ArrayList<String>() ; // derivedFrom.add("hh"); // importReqDetails.setDerivedFrom(derivedFrom); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); // Validate audit message assertNotNull("check response object is not null after import tosca resource", importResourceResponse); - assertNotNull("check error code exists in response after import tosca resource", importResourceResponse.getErrorCode()); + assertNotNull("check error code exists in response after import tosca resource", + importResourceResponse.getErrorCode()); ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.PARENT_RESOURCE_NOT_FOUND.name()); - assertEquals("Check response code after tosca resource import", errorInfo.getCode(), importResourceResponse.getErrorCode()); + assertEquals("Check response code after tosca resource import", errorInfo.getCode(), + importResourceResponse.getErrorCode()); List<String> variables = Arrays.asList(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PARENT_RESOURCE_NOT_FOUND.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PARENT_RESOURCE_NOT_FOUND.name(), variables, + importResourceResponse.getResponse()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name()); - ToscaNodeTypeInfo parseToscaNodeYaml = utils.parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + ToscaNodeTypeInfo parseToscaNodeYaml = utils + .parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceIncorrectDefinitionVersion() throws Exception { String fileName = importInvalidDefinitionVersionFile; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); // Validate audit message assertNotNull("check response object is not null after import tosca resource", importResourceResponse); - assertNotNull("check error code exists in response after import tosca resource", importResourceResponse.getErrorCode()); + assertNotNull("check error code exists in response after import tosca resource", + importResourceResponse.getErrorCode()); ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_TOSCA_TEMPLATE.name()); - assertEquals("Check response code after tosca resource import", errorInfo.getCode(), importResourceResponse.getErrorCode()); + assertEquals("Check response code after tosca resource import", errorInfo.getCode(), + importResourceResponse.getErrorCode()); List<String> variables = Arrays.asList(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_TOSCA_TEMPLATE.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_TOSCA_TEMPLATE.name(), variables, + importResourceResponse.getResponse()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceIncorrectSpaceNameFormat() throws Exception { String fileName = importIncorrectNameSpaceFormatFile; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); // Validate audit message assertNotNull("check response object is not null after import tosca resource", importResourceResponse); - assertNotNull("check error code exists in response after import tosca resource", importResourceResponse.getErrorCode()); + assertNotNull("check error code exists in response after import tosca resource", + importResourceResponse.getErrorCode()); ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_RESOURCE_NAMESPACE.name()); - assertEquals("Check response code after tosca resource import", errorInfo.getCode(), importResourceResponse.getErrorCode()); + assertEquals("Check response code after tosca resource import", errorInfo.getCode(), + importResourceResponse.getErrorCode()); List<String> variables = Arrays.asList(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_RESOURCE_NAMESPACE.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_RESOURCE_NAMESPACE.name(), variables, + importResourceResponse.getResponse()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceNoDefinitionVersion() throws Exception { String fileName = importNoDefenitionVersionFile; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); // Validate audit message assertNotNull("check response object is not null after import tosca resource", importResourceResponse); - assertNotNull("check error code exists in response after import tosca resource", importResourceResponse.getErrorCode()); + assertNotNull("check error code exists in response after import tosca resource", + importResourceResponse.getErrorCode()); ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_TOSCA_TEMPLATE.name()); - assertEquals("Check response code after tosca resource import", errorInfo.getCode(), importResourceResponse.getErrorCode()); + assertEquals("Check response code after tosca resource import", errorInfo.getCode(), + importResourceResponse.getErrorCode()); List<String> variables = Arrays.asList(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_TOSCA_TEMPLATE.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_TOSCA_TEMPLATE.name(), variables, + importResourceResponse.getResponse()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceNoContent() throws Exception { String fileName = importNoContentFile; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); // Validate audit message assertNotNull("check response object is not null after import tosca resource", importResourceResponse); - assertNotNull("check error code exists in response after import tosca resource", importResourceResponse.getErrorCode()); + assertNotNull("check error code exists in response after import tosca resource", + importResourceResponse.getErrorCode()); ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_RESOURCE_PAYLOAD.name()); - assertEquals("Check response code after tosca resource import", errorInfo.getCode(), importResourceResponse.getErrorCode()); + assertEquals("Check response code after tosca resource import", errorInfo.getCode(), + importResourceResponse.getErrorCode()); List<String> variables = Arrays.asList(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_RESOURCE_PAYLOAD.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_RESOURCE_PAYLOAD.name(), variables, + importResourceResponse.getResponse()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceWithTopologyTemplate() throws Exception { String fileName = importTopologyTemplateFile; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); // Validate audit message assertNotNull("check response object is not null after import tosca resource", importResourceResponse); - assertNotNull("check error code exists in response after import tosca resource", importResourceResponse.getErrorCode()); + assertNotNull("check error code exists in response after import tosca resource", + importResourceResponse.getErrorCode()); - ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.NOT_RESOURCE_TOSCA_TEMPLATE.name()); - assertEquals("Check response code after tosca resource import", errorInfo.getCode(), importResourceResponse.getErrorCode()); + ErrorInfo errorInfo = ErrorValidationUtils + .parseErrorConfigYaml(ActionStatus.NOT_RESOURCE_TOSCA_TEMPLATE.name()); + assertEquals("Check response code after tosca resource import", errorInfo.getCode(), + importResourceResponse.getErrorCode()); List<String> variables = Arrays.asList(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.NOT_RESOURCE_TOSCA_TEMPLATE.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.NOT_RESOURCE_TOSCA_TEMPLATE.name(), variables, + importResourceResponse.getResponse()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceWithNodeTypesTwice() throws Exception { String fileName = importNodeTypesTwiceFile; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); // Validate audit message assertNotNull("check response object is not null after import tosca resource", importResourceResponse); - assertNotNull("check error code exists in response after import tosca resource", importResourceResponse.getErrorCode()); + assertNotNull("check error code exists in response after import tosca resource", + importResourceResponse.getErrorCode()); ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.NOT_SINGLE_RESOURCE.name()); - assertEquals("Check response code after tosca resource import", errorInfo.getCode(), importResourceResponse.getErrorCode()); + assertEquals("Check response code after tosca resource import", errorInfo.getCode(), + importResourceResponse.getErrorCode()); List<String> variables = Arrays.asList(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.NOT_SINGLE_RESOURCE.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.NOT_SINGLE_RESOURCE.name(), variables, + importResourceResponse.getResponse()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } // failed case - uniqueness of toscaResourceName - RESOURCE_ALREADY_EXISTS @Test public void importToscaResourceTwice() throws Exception { String fileName = importSuccessFile; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); - assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), importResourceResponse.getErrorCode() == 201); - Resource resourceJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse()); - RestResponse checkInresponse = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CHECKIN); - assertTrue("checkIn resource request returned status:" + checkInresponse.getErrorCode(), checkInresponse.getErrorCode() == 200); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), + importResourceResponse.getErrorCode() == 201); + Resource resourceJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResourceResponse.getResponse()); + RestResponse checkInresponse = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CHECKIN); + assertTrue("checkIn resource request returned status:" + checkInresponse.getErrorCode(), + checkInresponse.getErrorCode() == 200); // Validate audit message - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgSuccess(); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgSuccess(); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); - ToscaNodeTypeInfo parseToscaNodeYaml = utils.parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); + ToscaNodeTypeInfo parseToscaNodeYaml = utils + .parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); expectedResourceAuditJavaObject.setToscaNodeType(parseToscaNodeYaml.getNodeName()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); // import the same tosca resource with different resourceName DbUtils.cleanAllAudits(); @@ -582,23 +693,27 @@ public class ImportToscaResourceTest extends ComponentBaseTest { tags.add(importReqDetails.getName()); importReqDetails.setTags(tags); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); // Validate audit message assertNotNull("check response object is not null after import tosca resource", importResourceResponse); - assertNotNull("check error code exists in response after import tosca resource", importResourceResponse.getErrorCode()); + assertNotNull("check error code exists in response after import tosca resource", + importResourceResponse.getErrorCode()); ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESOURCE_ALREADY_EXISTS.name()); - assertEquals("Check response code after tosca resource import", errorInfo.getCode(), importResourceResponse.getErrorCode()); + assertEquals("Check response code after tosca resource import", errorInfo.getCode(), + importResourceResponse.getErrorCode()); List<String> variables = Arrays.asList(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_ALREADY_EXISTS.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_ALREADY_EXISTS.name(), variables, + importResourceResponse.getResponse()); expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setToscaNodeType(importReqDetails.getToscaResourceName()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @@ -607,7 +722,8 @@ public class ImportToscaResourceTest extends ComponentBaseTest { // create resource String fileName = importSuccessFile; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); resourceDetails = ElementFactory.getDefaultResource(); resourceDetails.setName(importReqDetails.getName()); @@ -622,50 +738,63 @@ public class ImportToscaResourceTest extends ComponentBaseTest { // import the same tosca resource DbUtils.cleanAllAudits(); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); // Validate audit message assertNotNull("check response object is not null after import tosca resource", importResourceResponse); - assertNotNull("check error code exists in response after import tosca resource", importResourceResponse.getErrorCode()); + assertNotNull("check error code exists in response after import tosca resource", + importResourceResponse.getErrorCode()); ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.RESOURCE_ALREADY_EXISTS.name()); - assertEquals("Check response code after tosca resource import", errorInfo.getCode(), importResourceResponse.getErrorCode()); + assertEquals("Check response code after tosca resource import", errorInfo.getCode(), + importResourceResponse.getErrorCode()); List<String> variables = Arrays.asList(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_ALREADY_EXISTS.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_ALREADY_EXISTS.name(), variables, + importResourceResponse.getResponse()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceInvalidChecksum() throws Exception { String fileName = importSuccessFile; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); Map<String, String> headersMap = new HashMap<String, String>(); headersMap.put(HttpHeaderEnum.Content_MD5.getValue(), "invalidMd5Sum"); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, headersMap); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + headersMap); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); // Validate audit message assertNotNull("check response object is not null after import tosca resource", importResourceResponse); - assertNotNull("check error code exists in response after import tosca resource", importResourceResponse.getErrorCode()); + assertNotNull("check error code exists in response after import tosca resource", + importResourceResponse.getErrorCode()); ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_RESOURCE_CHECKSUM.name()); - assertEquals("Check response code after tosca resource import", errorInfo.getCode(), importResourceResponse.getErrorCode()); + assertEquals("Check response code after tosca resource import", errorInfo.getCode(), + importResourceResponse.getErrorCode()); List<String> variables = Arrays.asList(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_RESOURCE_CHECKSUM.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_RESOURCE_CHECKSUM.name(), variables, + importResourceResponse.getResponse()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test @@ -673,48 +802,67 @@ public class ImportToscaResourceTest extends ComponentBaseTest { String resourceType = "invalidResourceType"; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, importSuccessFile); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + importSuccessFile); importReqDetails.setResourceType(resourceType); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_CONTENT.name()); assertNotNull("check response object is not null after import resouce", importResourceResponse); - assertNotNull("check error code exists in response after import resource", importResourceResponse.getErrorCode()); - assertEquals("Check response code after import resource", errorInfo.getCode(), importResourceResponse.getErrorCode()); + assertNotNull("check error code exists in response after import resource", + importResourceResponse.getErrorCode()); + assertEquals("Check response code after import resource", errorInfo.getCode(), + importResourceResponse.getErrorCode()); List<String> variables = new ArrayList<>(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_CONTENT.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_CONTENT.name(), variables, + importResourceResponse.getResponse()); // Validate audit message - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void derivedTemplateImportedSecondResourceAsFirstImportedNodeType() throws Exception { - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, importSuccessFile); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); - assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), importResourceResponse.getErrorCode() == 201); - ToscaNodeTypeInfo parseToscaNodeYaml = utils.parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); - Resource resourceJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse()); - assertTrue("validate toscaResourceName field", resourceJavaObject.getToscaResourceName().equals(parseToscaNodeYaml.getNodeName())); - assertTrue("validate resourceType field, expected - " + importReqDetails.getResourceType() + ", actual - " + resourceJavaObject.getResourceType(), resourceJavaObject.getResourceType().toString().equals(importReqDetails.getResourceType())); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + importSuccessFile); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), + importResourceResponse.getErrorCode() == 201); + ToscaNodeTypeInfo parseToscaNodeYaml = utils + .parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); + Resource resourceJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResourceResponse.getResponse()); + assertTrue("validate toscaResourceName field", + resourceJavaObject.getToscaResourceName().equals(parseToscaNodeYaml.getNodeName())); + assertTrue( + "validate resourceType field, expected - " + importReqDetails.getResourceType() + ", actual - " + + resourceJavaObject.getResourceType(), + resourceJavaObject.getResourceType().toString().equals(importReqDetails.getResourceType())); // Validate audit message - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgSuccess(); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgSuccess(); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setToscaNodeType(parseToscaNodeYaml.getNodeName()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); RestResponse certifyResource = LifecycleRestUtils.certifyResource(importReqDetails); - assertTrue("certify resource request returned status:" + certifyResource.getErrorCode(), certifyResource.getErrorCode() == 200); + assertTrue("certify resource request returned status:" + certifyResource.getErrorCode(), + certifyResource.getErrorCode() == 200); // import second resource template derived from first resource DbUtils.cleanAllAudits(); @@ -722,23 +870,32 @@ public class ImportToscaResourceTest extends ComponentBaseTest { List<String> tags = new ArrayList<String>(); tags.add(importReqDetails.getName()); importReqDetails.setTags(tags); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, derivedFromMyCompute); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + derivedFromMyCompute); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); - assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), importResourceResponse.getErrorCode() == 201); + assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), + importResourceResponse.getErrorCode() == 201); parseToscaNodeYaml = utils.parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); - Resource resourceJavaObject2 = ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse()); - assertTrue("validate toscaResourceName field", resourceJavaObject2.getToscaResourceName().equals(parseToscaNodeYaml.getNodeName())); - assertTrue("validate resourceType field, expected - " + importReqDetails.getResourceType() + ", actual - " + resourceJavaObject2.getResourceType(), resourceJavaObject2.getResourceType().toString().equals(importReqDetails.getResourceType())); + Resource resourceJavaObject2 = ResponseParser + .convertResourceResponseToJavaObject(importResourceResponse.getResponse()); + assertTrue("validate toscaResourceName field", + resourceJavaObject2.getToscaResourceName().equals(parseToscaNodeYaml.getNodeName())); + assertTrue( + "validate resourceType field, expected - " + importReqDetails.getResourceType() + ", actual - " + + resourceJavaObject2.getResourceType(), + resourceJavaObject2.getResourceType().toString().equals(importReqDetails.getResourceType())); // Validate audit message - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject2 = ElementFactory.getDefaultImportResourceAuditMsgSuccess(); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject2 = ElementFactory + .getDefaultImportResourceAuditMsgSuccess(); expectedResourceAuditJavaObject2.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject2.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject2.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject2.setToscaNodeType(parseToscaNodeYaml.getNodeName()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject2, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject2, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @@ -746,16 +903,25 @@ public class ImportToscaResourceTest extends ComponentBaseTest { public void importToscaResourceListPropertyGoodDefault() throws Exception { String fileName = importListPropertyGoodDefault; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); - assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), importResourceResponse.getErrorCode() == 201); + assertTrue("response code is not 201, returned :" + importResourceResponse.getErrorCode(), + importResourceResponse.getErrorCode() == 201); - Resource resourceJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse()); - assertTrue("Properties size : " + resourceJavaObject.getProperties().size(), resourceJavaObject.getProperties().size() == 1); - assertTrue("Property type : " + resourceJavaObject.getProperties().get(0).getType(), resourceJavaObject.getProperties().get(0).getType().equals(ToscaPropertyType.LIST.getType())); - assertTrue("actual Default values : " + resourceJavaObject.getProperties().get(0).getDefaultValue() + " , expected : " + "[false, true]", resourceJavaObject.getProperties().get(0).getDefaultValue().equals("[\"false\",\"true\"]")); + Resource resourceJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResourceResponse.getResponse()); + assertTrue("Properties size : " + resourceJavaObject.getProperties().size(), + resourceJavaObject.getProperties().size() == 1); + assertTrue("Property type : " + resourceJavaObject.getProperties().get(0).getType(), + resourceJavaObject.getProperties().get(0).getType().equals(ToscaPropertyType.LIST.getType())); + assertTrue( + "actual Default values : " + resourceJavaObject.getProperties().get(0).getDefaultValue() + + " , expected : " + "[false, true]", + resourceJavaObject.getProperties().get(0).getDefaultValue().equals("[\"false\",\"true\"]")); } @@ -763,18 +929,23 @@ public class ImportToscaResourceTest extends ComponentBaseTest { public void importToscaResourceListPropertyBadDefault() throws Exception { String fileName = importListPropertyBadDefault; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); - - ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.INVALID_COMPLEX_DEFAULT_VALUE.name()); - assertEquals("Check response code after tosca resource import", errorInfo.getCode(), importResourceResponse.getErrorCode()); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + + ErrorInfo errorInfo = ErrorValidationUtils + .parseErrorConfigYaml(ActionStatus.INVALID_COMPLEX_DEFAULT_VALUE.name()); + assertEquals("Check response code after tosca resource import", errorInfo.getCode(), + importResourceResponse.getErrorCode()); ArrayList<String> variables = new ArrayList<>(); variables.add("my_prop"); variables.add("list"); variables.add("boolean"); variables.add("[12,true]"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPLEX_DEFAULT_VALUE.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPLEX_DEFAULT_VALUE.name(), variables, + importResourceResponse.getResponse()); } @@ -783,47 +954,60 @@ public class ImportToscaResourceTest extends ComponentBaseTest { @Test public void importToscaResourceListPropertySuccessFlow() throws Exception { String fileName = importListPropertySuccess; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); ResourceRestUtils.checkCreateResponse(importResourceResponse); - Resource resourceJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse()); - ToscaNodeTypeInfo parseToscaNodeYaml = utils.parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); + Resource resourceJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResourceResponse.getResponse()); + ToscaNodeTypeInfo parseToscaNodeYaml = utils + .parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); // Verify Properties List in resource verifyResourcePropertiesList(resourceJavaObject); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgSuccess(); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgSuccess(); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setToscaNodeType(parseToscaNodeYaml.getNodeName()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } // DE198534 @Test(dataProvider = "getYmlWithInValidListProperties") // invalid default // values - public void importToscaResourceListPropertyFailureFlows(String ymlFileWithInvalidPropertyDefualtValues, String defualtValues, String enterySchemaType) throws Exception { - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, ymlFileWithInvalidPropertyDefualtValues); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + public void importToscaResourceListPropertyFailureFlows(String ymlFileWithInvalidPropertyDefualtValues, + String defualtValues, String enterySchemaType) throws Exception { + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + ymlFileWithInvalidPropertyDefualtValues); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertTrue(importResourceResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT)); ArrayList<String> variables = new ArrayList<>(); variables.add("my_property"); variables.add("list"); variables.add(enterySchemaType); variables.add(defualtValues); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPLEX_DEFAULT_VALUE.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPLEX_DEFAULT_VALUE.name(), variables, + importResourceResponse.getResponse()); } // BUG DE198650 @Test public void importToscaResourceListPropertyNonSupportEntrySchemaType() throws Exception { String ymlFile = "ListPropertyFalure01.yml"; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, ymlFile); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + ymlFile); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertTrue(importResourceResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT)); ArrayList<String> variables = new ArrayList<>(); variables.add("booolean"); // property entry_schema data type variables.add("my_boolean"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_PROPERTY_INNER_TYPE.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_PROPERTY_INNER_TYPE.name(), variables, + importResourceResponse.getResponse()); } // BUG DE198676 @@ -832,46 +1016,59 @@ public class ImportToscaResourceTest extends ComponentBaseTest { // "list" // type String ymlFile = "ListPropertyFalure16.yml"; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, ymlFile); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + ymlFile); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertTrue(importResourceResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT)); ArrayList<String> variables = new ArrayList<>(); variables.add("koko"); // property data type (koko instead list) variables.add("my_boolean"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_PROPERTY_TYPE.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_PROPERTY_TYPE.name(), variables, + importResourceResponse.getResponse()); } /// US656928 - [BE] - Add support for TOSCA "map" type - Phase 1 import @Test public void importToscaResourceMapPropertySuccessFlow() throws Exception { String fileName = importMapPropertySuccess; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); ResourceRestUtils.checkCreateResponse(importResourceResponse); - Resource resourceJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse()); - ToscaNodeTypeInfo parseToscaNodeYaml = utils.parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); + Resource resourceJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResourceResponse.getResponse()); + ToscaNodeTypeInfo parseToscaNodeYaml = utils + .parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); // Verify Properties MAP in resource verifyResourcePropertiesMap(resourceJavaObject); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgSuccess(); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgSuccess(); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setToscaNodeType(parseToscaNodeYaml.getNodeName()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test(dataProvider = "getYmlWithInValidMapProperties") // invalid default // values - public void importToscaResourceMapPropertyFailureFlows(String ymlFileWithInvalidPropertyDefualtValues, String defualtValues, String enterySchemaType) throws Exception { - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, ymlFileWithInvalidPropertyDefualtValues); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + public void importToscaResourceMapPropertyFailureFlows(String ymlFileWithInvalidPropertyDefualtValues, + String defualtValues, String enterySchemaType) throws Exception { + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + ymlFileWithInvalidPropertyDefualtValues); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertTrue(importResourceResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT)); ArrayList<String> variables = new ArrayList<>(); variables.add("my_property"); variables.add("map"); variables.add(enterySchemaType); variables.add(defualtValues); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPLEX_DEFAULT_VALUE.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPLEX_DEFAULT_VALUE.name(), variables, + importResourceResponse.getResponse()); } @Test @@ -879,142 +1076,181 @@ public class ImportToscaResourceTest extends ComponentBaseTest { // "Map" // type String ymlFile = "MapPropertyFalure16.yml"; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, ymlFile); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + ymlFile); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertTrue(importResourceResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT)); ArrayList<String> variables = new ArrayList<>(); variables.add("koko"); // property data type (koko instead list) variables.add("my_boolean"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_PROPERTY_TYPE.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_PROPERTY_TYPE.name(), variables, + importResourceResponse.getResponse()); } @Test public void importToscaResourceMissingCapabilityInReqDefinition() throws Exception { String fileName = missingCapInReqDef; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); // Validate audit message ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_CAPABILITY_TYPE.name()); String missingCapName = "org.openecomp.capabilities.networkInterfaceNotFound"; BaseRestUtils.checkErrorResponse(importResourceResponse, ActionStatus.MISSING_CAPABILITY_TYPE, missingCapName); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, Arrays.asList(missingCapName)); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, Arrays.asList(missingCapName)); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setToscaNodeType("org.openecomp.resource.vSCP-03-16"); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceMissingCapabilityInCapDefinition() throws Exception { String fileName = missingCapInCapDef; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); - logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); + logger.debug("import tosca resource response: {}", importResourceResponse.getResponseMessage()); // Validate audit message ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.MISSING_CAPABILITY_TYPE.name()); String missingCapName = "org.openecomp.capabilities.networkInterfaceNotFound"; BaseRestUtils.checkErrorResponse(importResourceResponse, ActionStatus.MISSING_CAPABILITY_TYPE, missingCapName); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, Arrays.asList(missingCapName)); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, Arrays.asList(missingCapName)); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setToscaNodeType("org.openecomp.resource.vSCP-03-16"); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceDuplicateRequirements() throws Exception { - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, importDuplicateRequirements); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + importDuplicateRequirements); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertTrue(importResourceResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT)); ArrayList<String> variables = new ArrayList<>(); variables.add("requirement"); variables.add("local_storage"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.IMPORT_DUPLICATE_REQ_CAP_NAME.name(), variables, importResourceResponse.getResponse()); - ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.IMPORT_DUPLICATE_REQ_CAP_NAME.name()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.IMPORT_DUPLICATE_REQ_CAP_NAME.name(), variables, + importResourceResponse.getResponse()); + ErrorInfo errorInfo = ErrorValidationUtils + .parseErrorConfigYaml(ActionStatus.IMPORT_DUPLICATE_REQ_CAP_NAME.name()); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceDuplicateCapabilities() throws Exception { - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, importDuplicateCapability); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + importDuplicateCapability); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertTrue(importResourceResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT)); ArrayList<String> variables = new ArrayList<>(); variables.add("capability"); variables.add("scalable"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.IMPORT_DUPLICATE_REQ_CAP_NAME.name(), variables, importResourceResponse.getResponse()); - ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.IMPORT_DUPLICATE_REQ_CAP_NAME.name()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.IMPORT_DUPLICATE_REQ_CAP_NAME.name(), variables, + importResourceResponse.getResponse()); + ErrorInfo errorInfo = ErrorValidationUtils + .parseErrorConfigYaml(ActionStatus.IMPORT_DUPLICATE_REQ_CAP_NAME.name()); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceRequirementNameExistsOnParent() throws Exception { - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, importRequirementNameExistsOnParent); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + importRequirementNameExistsOnParent); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertTrue(importResourceResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT)); ArrayList<String> variables = new ArrayList<>(); variables.add("requirement"); variables.add("local_storage"); variables.add("Compute"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.IMPORT_REQ_CAP_NAME_EXISTS_IN_DERIVED.name(), variables, importResourceResponse.getResponse()); - ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.IMPORT_REQ_CAP_NAME_EXISTS_IN_DERIVED.name()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.IMPORT_REQ_CAP_NAME_EXISTS_IN_DERIVED.name(), + variables, importResourceResponse.getResponse()); + ErrorInfo errorInfo = ErrorValidationUtils + .parseErrorConfigYaml(ActionStatus.IMPORT_REQ_CAP_NAME_EXISTS_IN_DERIVED.name()); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceCapabilityNameExistsOnParent() throws Exception { - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, importCapabilityNameExistsOnParent); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + importCapabilityNameExistsOnParent); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertTrue(importResourceResponse.getErrorCode().equals(STATUS_CODE_INVALID_CONTENT)); ArrayList<String> variables = new ArrayList<>(); variables.add("capability"); variables.add("binding"); variables.add("Compute"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.IMPORT_REQ_CAP_NAME_EXISTS_IN_DERIVED.name(), variables, importResourceResponse.getResponse()); - ErrorInfo errorInfo = ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.IMPORT_REQ_CAP_NAME_EXISTS_IN_DERIVED.name()); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgFailure(errorInfo, variables); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.IMPORT_REQ_CAP_NAME_EXISTS_IN_DERIVED.name(), + variables, importResourceResponse.getResponse()); + ErrorInfo errorInfo = ErrorValidationUtils + .parseErrorConfigYaml(ActionStatus.IMPORT_REQ_CAP_NAME_EXISTS_IN_DERIVED.name()); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgFailure(errorInfo, variables); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setCurrState(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } @Test public void importToscaResourceReqCapDerivedFromParent() throws Exception { - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, importToscaResourceReqCapDerivedFromParent); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + importToscaResourceReqCapDerivedFromParent); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); BaseRestUtils.checkCreateResponse(importResourceResponse); - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgSuccess(); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgSuccess(); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setToscaNodeType("org.openecomp.resource.MyWebApp"); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } /************************ Shay ************************/ @@ -1023,31 +1259,39 @@ public class ImportToscaResourceTest extends ComponentBaseTest { public void caseRequirementInsensitiveTest() throws Exception { String fileName = "CaseInsensitiveReqTest_1.yml"; int expectedNumOfRequirements = 2; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); importReqDetails.setRequirements(testResourcesPath, fileName, sdncUserDetails, null); Map<String, Object> requirements = importReqDetails.getRequirements(); - Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, expectedNumOfRequirements); + Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, + expectedNumOfRequirements); assertEquals(requirements.keySet().size(), requirementsFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(requirements, requirementsFromResponse); - RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertEquals(STATUS_CODE_SUCCESS, changeResourceState1.getErrorCode().intValue()); - RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState2.getErrorCode().intValue()); - RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); + RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); assertEquals(STATUS_CODE_SUCCESS, changeResourceState3.getErrorCode().intValue()); String fileName2 = "CaseInsensitiveReqTest_2.yml"; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName2); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName2); importReqDetails.setName("secondImportedResource"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, null); requirements = importReqDetails.getRequirements(); - requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, expectedNumOfRequirements); + requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, + expectedNumOfRequirements); assertEquals(requirements.keySet().size(), requirementsFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(requirements, requirementsFromResponse); @@ -1058,20 +1302,26 @@ public class ImportToscaResourceTest extends ComponentBaseTest { private void checkImportedAssetAssociated(ImportReqDetails importDetails) throws IOException, Exception { RestResponse importResourceResponse; ImportReqDetails importReqDetails2 = ElementFactory.getDefaultImportResource(); - importReqDetails2 = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails2, testResourcesPath, "BindingAsset.yml"); + importReqDetails2 = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails2, testResourcesPath, + "BindingAsset.yml"); importReqDetails2.setName("bindingAsset"); importReqDetails2.setTags(Arrays.asList(importReqDetails2.getName())); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails2, sdncUserDetails, null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - ResourceReqDetails vf = ElementFactory.getDefaultResourceByType("VF100", NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, sdncUserDetails.getUserId(), ResourceTypeEnum.VF.toString()); + ResourceReqDetails vf = ElementFactory.getDefaultResourceByType("VF100", NormativeTypesEnum.ROOT, + ResourceCategoryEnum.GENERIC_INFRASTRUCTURE, sdncUserDetails.getUserId(), + ResourceTypeEnum.VF.toString()); RestResponse createResourceResponse = ResourceRestUtils.createResource(vf, sdncUserDetails); ResourceRestUtils.checkCreateResponse(createResourceResponse); - LifecycleRestUtils.changeResourceState(importDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); - LifecycleRestUtils.changeResourceState(importReqDetails2, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + LifecycleRestUtils.changeResourceState(importDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); + LifecycleRestUtils.changeResourceState(importReqDetails2, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); - RestResponse response = ResourceRestUtils.createResourceInstance(importDetails, sdncUserDetails, vf.getUniqueId()); + RestResponse response = ResourceRestUtils.createResourceInstance(importDetails, sdncUserDetails, + vf.getUniqueId()); ResourceRestUtils.checkCreateResponse(response); ComponentInstance riCap = ResponseParser.parseToObject(response.getResponse(), ComponentInstance.class); @@ -1079,11 +1329,14 @@ public class ImportToscaResourceTest extends ComponentBaseTest { ResourceRestUtils.checkCreateResponse(response); ComponentInstance riReq = ResponseParser.parseToObject(response.getResponse(), ComponentInstance.class); - RestResponse getResourceBeforeAssociate = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncUserDetails, vf); + RestResponse getResourceBeforeAssociate = ComponentRestUtils + .getComponentRequirmentsCapabilities(sdncUserDetails, vf); CapReqDef capReqDef = ResponseParser.parseToObject(getResourceBeforeAssociate.getResponse(), CapReqDef.class); - String capbilityUid = capReqDef.getCapabilities().get("tosca.capabilities.network.Bindable").get(0).getUniqueId(); - String requirementUid = capReqDef.getRequirements().get("tosca.capabilities.network.Bindable").get(0).getUniqueId(); + String capbilityUid = capReqDef.getCapabilities().get("tosca.capabilities.network.Bindable").get(0) + .getUniqueId(); + String requirementUid = capReqDef.getRequirements().get("tosca.capabilities.network.Bindable").get(0) + .getUniqueId(); RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef(); requirementDef.setFromNode(riReq.getUniqueId()); @@ -1102,7 +1355,8 @@ public class ImportToscaResourceTest extends ComponentBaseTest { relationships.add(pair); requirementDef.setRelationships(relationships); - RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef, sdncUserDetails, vf.getUniqueId(), ComponentTypeEnum.RESOURCE); + RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(requirementDef, sdncUserDetails, + vf.getUniqueId(), ComponentTypeEnum.RESOURCE); assertEquals("Check response code ", STATUS_CODE_SUCCESS, associateInstances.getErrorCode().intValue()); } @@ -1111,25 +1365,32 @@ public class ImportToscaResourceTest extends ComponentBaseTest { String fileName = "CaseInsensitiveCapTest_1.yml"; int expectedNumOfCapabilities = 6; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); importReqDetails.setCapabilities(testResourcesPath, fileName, sdncUserDetails, null); Map<String, Object> capabilities = importReqDetails.getCapabilities(); - Map<String, Object> capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, expectedNumOfCapabilities); + Map<String, Object> capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, + expectedNumOfCapabilities); assertEquals(capabilities.keySet().size(), capabilitiesFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(capabilities, capabilitiesFromResponse); - RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertEquals(STATUS_CODE_SUCCESS, changeResourceState1.getErrorCode().intValue()); - RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState2.getErrorCode().intValue()); - RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); + RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); assertEquals(STATUS_CODE_SUCCESS, changeResourceState3.getErrorCode().intValue()); String fileName2 = "CaseInsensitiveCapTest_2.yml"; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName2); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName2); importReqDetails.setName("secondImportedResource"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); @@ -1137,7 +1398,8 @@ public class ImportToscaResourceTest extends ComponentBaseTest { importReqDetails.setCapabilities(testResourcesPath, fileName2, sdncUserDetails, null); capabilities = importReqDetails.getCapabilities(); - capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, expectedNumOfCapabilities); + capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, + expectedNumOfCapabilities); assertEquals(capabilities.keySet().size(), capabilitiesFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(capabilities, capabilitiesFromResponse); @@ -1148,13 +1410,16 @@ public class ImportToscaResourceTest extends ComponentBaseTest { String fileName = "DifferentReqFromCompute.yml"; int expectedNumOfRequirements = 3; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); importReqDetails.setRequirements(testResourcesPath, fileName, sdncUserDetails, "Compute"); Map<String, Object> requirements = importReqDetails.getRequirements(); - Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, expectedNumOfRequirements); + Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, + expectedNumOfRequirements); assertEquals(requirements.keySet().size(), requirementsFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(requirements, requirementsFromResponse); @@ -1169,28 +1434,36 @@ public class ImportToscaResourceTest extends ComponentBaseTest { importReqDetails.setName("father"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fatherFileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fatherFileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertEquals(STATUS_CODE_SUCCESS, changeResourceState1.getErrorCode().intValue()); - RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState2.getErrorCode().intValue()); - RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); + RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); assertEquals(STATUS_CODE_SUCCESS, changeResourceState3.getErrorCode().intValue()); String derivedFromResourceName = importReqDetails.getName(); importReqDetails = ElementFactory.getDefaultImportResource(); importReqDetails.setName("child"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, childFileName); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + childFileName); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, derivedFromResourceName); + importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, + derivedFromResourceName); Map<String, Object> requirements = importReqDetails.getRequirements(); - Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, expectedNumOfRequirements); + Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, + expectedNumOfRequirements); assertEquals(requirements.keySet().size(), requirementsFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(requirements, requirementsFromResponse); @@ -1203,13 +1476,16 @@ public class ImportToscaResourceTest extends ComponentBaseTest { importReqDetails.setName("child"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, childFileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + childFileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, null); Map<String, Object> requirements = importReqDetails.getRequirements(); - Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, expectedNumOfRequirements); + Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, + expectedNumOfRequirements); assertEquals(requirements.keySet().size(), requirementsFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(requirements, requirementsFromResponse); } @@ -1221,13 +1497,17 @@ public class ImportToscaResourceTest extends ComponentBaseTest { importReqDetails.setName("child"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, childFileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + childFileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - importReqDetails.setCapabilities(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, "Compute"); + importReqDetails.setCapabilities(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, + "Compute"); Map<String, Object> capabilities = importReqDetails.getCapabilities(); - Map<String, Object> capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, expectedNumOfCapabilities); + Map<String, Object> capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, + expectedNumOfCapabilities); assertEquals(capabilities.keySet().size(), capabilitiesFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(capabilities, capabilitiesFromResponse); } @@ -1239,15 +1519,20 @@ public class ImportToscaResourceTest extends ComponentBaseTest { String fatherFileName = "DifferentReqFromCompute.yml"; importReqDetails.setName("father"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fatherFileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fatherFileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertEquals(STATUS_CODE_SUCCESS, changeResourceState1.getErrorCode().intValue()); - RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState2.getErrorCode().intValue()); - RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); + RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); assertEquals(STATUS_CODE_SUCCESS, changeResourceState3.getErrorCode().intValue()); String derivedFromName = importReqDetails.getName(); @@ -1255,13 +1540,16 @@ public class ImportToscaResourceTest extends ComponentBaseTest { importReqDetails = ElementFactory.getDefaultImportResource(); importReqDetails.setName("child"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, childFileName); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + childFileName); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, derivedFromName); + importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, + derivedFromName); Map<String, Object> requirements = importReqDetails.getRequirements(); - Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, expectedNumOfRequirements); + Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, + expectedNumOfRequirements); assertEquals(requirements.keySet().size(), requirementsFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(requirements, requirementsFromResponse); @@ -1274,15 +1562,20 @@ public class ImportToscaResourceTest extends ComponentBaseTest { String fatherFileName = "DifferentReqFromCompute.yml"; importReqDetails.setName("father"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fatherFileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fatherFileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertEquals(STATUS_CODE_SUCCESS, changeResourceState1.getErrorCode().intValue()); - RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState2.getErrorCode().intValue()); - RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); + RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); assertEquals(STATUS_CODE_SUCCESS, changeResourceState3.getErrorCode().intValue()); String derivedFromName = importReqDetails.getName(); @@ -1290,13 +1583,16 @@ public class ImportToscaResourceTest extends ComponentBaseTest { importReqDetails = ElementFactory.getDefaultImportResource(); importReqDetails.setName("child"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, childFileName); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + childFileName); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, derivedFromName); + importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, + derivedFromName); Map<String, Object> requirements = importReqDetails.getRequirements(); - Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, expectedNumOfRequirements); + Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, + expectedNumOfRequirements); assertEquals(requirements.keySet().size(), requirementsFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(requirements, requirementsFromResponse); } @@ -1310,15 +1606,20 @@ public class ImportToscaResourceTest extends ComponentBaseTest { String fatherFileName = "DifferentReqFromCompute.yml"; importReqDetails.setName(fatherName); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fatherFileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fatherFileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertEquals(STATUS_CODE_SUCCESS, changeResourceState1.getErrorCode().intValue()); - RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState2.getErrorCode().intValue()); - RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); + RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); assertEquals(STATUS_CODE_SUCCESS, changeResourceState3.getErrorCode().intValue()); String fatherUniqueId = importReqDetails.getUniqueId(); @@ -1328,26 +1629,30 @@ public class ImportToscaResourceTest extends ComponentBaseTest { importReqDetails = ElementFactory.getDefaultImportResource(); importReqDetails.setName("child"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, childFileName); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + childFileName); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); assertEquals(STATUS_CODE_INVALID_CONTENT, importResourceResponse.getErrorCode().intValue()); ArrayList<String> variables = new ArrayList<>(); variables.add("requirement"); variables.add("local_storage"); variables.add(fatherName); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.IMPORT_REQ_CAP_NAME_EXISTS_IN_DERIVED.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.IMPORT_REQ_CAP_NAME_EXISTS_IN_DERIVED.name(), + variables, importResourceResponse.getResponse()); importReqDetails.setUniqueId(fatherUniqueId); importReqDetailsFather.setRequirements(testResourcesPath, fatherFileName, sdncUserDetails, "Compute"); Map<String, Object> requirements = importReqDetailsFather.getRequirements(); - Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetailsFather, expectedNumOfRequirements); + Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetailsFather, + expectedNumOfRequirements); assertEquals(requirements.keySet().size(), requirementsFromResponse.keySet().size()); importReqDetailsFather.compareRequirementsOrCapabilities(requirements, requirementsFromResponse); importReqDetailsFather.setCapabilities(testResourcesPath, fatherFileName, sdncUserDetails, "Compute"); Map<String, Object> capabilities = importReqDetailsFather.getCapabilities(); - Map<String, Object> capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetailsFather, expectedNumOfCapabilities); + Map<String, Object> capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetailsFather, + expectedNumOfCapabilities); assertEquals(capabilities.keySet().size(), capabilitiesFromResponse.keySet().size()); importReqDetailsFather.compareRequirementsOrCapabilities(capabilities, capabilitiesFromResponse); } @@ -1360,15 +1665,20 @@ public class ImportToscaResourceTest extends ComponentBaseTest { String fatherFileName = "DifferentReqFromCompute.yml"; importReqDetails.setName("father"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fatherFileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fatherFileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertEquals(STATUS_CODE_SUCCESS, changeResourceState1.getErrorCode().intValue()); - RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState2.getErrorCode().intValue()); - RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); + RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); assertEquals(STATUS_CODE_SUCCESS, changeResourceState3.getErrorCode().intValue()); String derivedFromName = importReqDetails.getName(); @@ -1376,19 +1686,24 @@ public class ImportToscaResourceTest extends ComponentBaseTest { importReqDetails = ElementFactory.getDefaultImportResource(); importReqDetails.setName("child"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, childFileName); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + childFileName); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, derivedFromName); + importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, + derivedFromName); Map<String, Object> requirements = importReqDetails.getRequirements(); - Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, expectedNumOfRequirements); + Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, + expectedNumOfRequirements); assertEquals(requirements.keySet().size(), requirementsFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(requirements, requirementsFromResponse); - importReqDetails.setCapabilities(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, derivedFromName); + importReqDetails.setCapabilities(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, + derivedFromName); Map<String, Object> capabilities = importReqDetails.getCapabilities(); - Map<String, Object> capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, expectedNumOfCapabilities); + Map<String, Object> capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, + expectedNumOfCapabilities); assertEquals(capabilities.keySet().size(), capabilitiesFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(capabilities, capabilitiesFromResponse); } @@ -1401,15 +1716,20 @@ public class ImportToscaResourceTest extends ComponentBaseTest { String fatherFileName = "MyFatherCompute_NoReqCap.yml"; importReqDetails.setName("father"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fatherFileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fatherFileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertEquals(STATUS_CODE_SUCCESS, changeResourceState1.getErrorCode().intValue()); - RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState2.getErrorCode().intValue()); - RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); + RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); assertEquals(STATUS_CODE_SUCCESS, changeResourceState3.getErrorCode().intValue()); String derivedFromName = importReqDetails.getName(); @@ -1417,19 +1737,24 @@ public class ImportToscaResourceTest extends ComponentBaseTest { importReqDetails = ElementFactory.getDefaultImportResource(); importReqDetails.setName("child"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, childFileName); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + childFileName); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, derivedFromName); + importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, + derivedFromName); Map<String, Object> requirements = importReqDetails.getRequirements(); - Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, expectedNumOfRequirements); + Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, + expectedNumOfRequirements); assertEquals(requirements.keySet().size(), requirementsFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(requirements, requirementsFromResponse); - importReqDetails.setCapabilities(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, derivedFromName); + importReqDetails.setCapabilities(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, + derivedFromName); Map<String, Object> capabilities = importReqDetails.getCapabilities(); - Map<String, Object> capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, expectedNumOfCapabilities); + Map<String, Object> capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, + expectedNumOfCapabilities); assertEquals(capabilities.keySet().size(), capabilitiesFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(capabilities, capabilitiesFromResponse); } @@ -1443,15 +1768,20 @@ public class ImportToscaResourceTest extends ComponentBaseTest { String fatherFileName = "myFatherWebApp_derviedFromDocker.yml"; importReqDetails.setName(fatherName); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fatherFileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fatherFileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertEquals(STATUS_CODE_SUCCESS, changeResourceState1.getErrorCode().intValue()); - RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState2.getErrorCode().intValue()); - RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); + RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); assertEquals(STATUS_CODE_SUCCESS, changeResourceState3.getErrorCode().intValue()); String fatherUniqueId = importReqDetails.getUniqueId(); @@ -1460,25 +1790,29 @@ public class ImportToscaResourceTest extends ComponentBaseTest { importReqDetails = ElementFactory.getDefaultImportResource(); importReqDetails.setName("child"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, childFileName); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + childFileName); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); assertEquals(STATUS_CODE_INVALID_CONTENT, importResourceResponse.getErrorCode().intValue()); ArrayList<String> variables = new ArrayList<>(); variables.add("requirement"); variables.add("host"); variables.add(fatherName); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.IMPORT_REQ_CAP_NAME_EXISTS_IN_DERIVED.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.IMPORT_REQ_CAP_NAME_EXISTS_IN_DERIVED.name(), + variables, importResourceResponse.getResponse()); importReqDetails.setUniqueId(fatherUniqueId); importReqDetailsFather.setRequirements(testResourcesPath, fatherFileName, sdncUserDetails, "Root"); Map<String, Object> requirements = importReqDetailsFather.getRequirements(); - Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetailsFather, expectedNumOfRequirements); + Map<String, Object> requirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetailsFather, + expectedNumOfRequirements); assertEquals(requirements.keySet().size(), requirementsFromResponse.keySet().size()); importReqDetailsFather.compareRequirementsOrCapabilities(requirements, requirementsFromResponse); importReqDetailsFather.setCapabilities(testResourcesPath, fatherFileName, sdncUserDetails, "Root"); Map<String, Object> capabilities = importReqDetailsFather.getCapabilities(); - Map<String, Object> capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetailsFather, expectedNumOfCapabilities); + Map<String, Object> capabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetailsFather, + expectedNumOfCapabilities); assertEquals(capabilities.keySet().size(), capabilitiesFromResponse.keySet().size()); importReqDetailsFather.compareRequirementsOrCapabilities(capabilities, capabilitiesFromResponse); } @@ -1490,12 +1824,15 @@ public class ImportToscaResourceTest extends ComponentBaseTest { String fatherFileName = "DerivedFromWebApplication_HasNoReqType.yml"; importReqDetails.setName(fatherName); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fatherFileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fatherFileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_INVALID_CONTENT, importResourceResponse.getErrorCode().intValue()); ArrayList<String> variables = new ArrayList<>(); variables.add("diff"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_CAPABILITY_TYPE.name(), variables, importResourceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_CAPABILITY_TYPE.name(), variables, + importResourceResponse.getResponse()); } @@ -1508,45 +1845,58 @@ public class ImportToscaResourceTest extends ComponentBaseTest { String fatherFileName = "DifferentReqFromCompute.yml"; importReqDetails.setName(derivedFromName); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fatherFileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fatherFileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse changeResourceState1 = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertEquals(STATUS_CODE_SUCCESS, changeResourceState1.getErrorCode().intValue()); - RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); + RestResponse changeResourceState2 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.STARTCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState2.getErrorCode().intValue()); - RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); + RestResponse changeResourceState3 = LifecycleRestUtils.changeResourceState(importReqDetails, + ElementFactory.getDefaultUser(UserRoleEnum.TESTER), LifeCycleStatesEnum.CERTIFY); assertEquals(STATUS_CODE_SUCCESS, changeResourceState3.getErrorCode().intValue()); String childFileName = "DifferentReqCapFromCompute1.yml"; importReqDetails = ElementFactory.getDefaultImportResource(); importReqDetails.setName("child"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, childFileName); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + childFileName); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - Map<String, Object> childRequirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, expectedNumOfRequirements); - Map<String, Object> childCapabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, expectedNumOfCapabilities - 1); + Map<String, Object> childRequirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, + expectedNumOfRequirements); + Map<String, Object> childCapabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, + expectedNumOfCapabilities - 1); String twinFileName = "DifferentReqCapFromCompute2.yml"; importReqDetails = ElementFactory.getDefaultImportResource(); importReqDetails.setName("twin"); importReqDetails.setTags(Arrays.asList(importReqDetails.getName())); - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, twinFileName); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + twinFileName); importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); - importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, derivedFromName); + importReqDetails.setRequirements(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, + derivedFromName); Map<String, Object> requirements = importReqDetails.getRequirements(); - Map<String, Object> twinRequirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, expectedNumOfRequirements); + Map<String, Object> twinRequirementsFromResponse = parseReqOrCapFromResponse("requirements", importReqDetails, + expectedNumOfRequirements); assertEquals(requirements.keySet().size(), twinRequirementsFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(requirements, twinRequirementsFromResponse); - importReqDetails.setCapabilities(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, derivedFromName); + importReqDetails.setCapabilities(testResourcesPath, importReqDetails.getPayloadName(), sdncUserDetails, + derivedFromName); Map<String, Object> capabilities = importReqDetails.getCapabilities(); - Map<String, Object> twinCapabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, expectedNumOfCapabilities); + Map<String, Object> twinCapabilitiesFromResponse = parseReqOrCapFromResponse("capabilities", importReqDetails, + expectedNumOfCapabilities); assertEquals(capabilities.keySet().size(), twinCapabilitiesFromResponse.keySet().size()); importReqDetails.compareRequirementsOrCapabilities(capabilities, twinCapabilitiesFromResponse); @@ -1562,7 +1912,8 @@ public class ImportToscaResourceTest extends ComponentBaseTest { // create resource importReqDetails.setName("import"); String invariantUuidDefinedByUser = "abcd1234"; - RestResponse importResourceResponse = importResourceWithRequestedInvariantUuid(importReqDetails, invariantUuidDefinedByUser); + RestResponse importResourceResponse = importResourceWithRequestedInvariantUuid(importReqDetails, + invariantUuidDefinedByUser); String invariantUUIDcreation = ResponseParser.getInvariantUuid(importResourceResponse); assertFalse(checkInvariantUuidEqual(invariantUuidDefinedByUser, importResourceResponse)); @@ -1571,94 +1922,114 @@ public class ImportToscaResourceTest extends ComponentBaseTest { assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, getResource)); // checkin resource - RestResponse changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CHECKIN); + RestResponse changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CHECKIN); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // checkout resource - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CHECKOUT); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CHECKOUT); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // checkin resource - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CHECKIN); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CHECKIN); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // checkout resource - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CHECKOUT); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CHECKOUT); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // checkin resource - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CHECKIN); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CHECKIN); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // certification request - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // start certification - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, testerUser, LifeCycleStatesEnum.STARTCERTIFICATION); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, testerUser, + LifeCycleStatesEnum.STARTCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // certify - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, testerUser, LifeCycleStatesEnum.CERTIFY); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, testerUser, + LifeCycleStatesEnum.CERTIFY); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); String certifiedUniqueId = importReqDetails.getUniqueId(); // update resource - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CHECKOUT); - ResourceReqDetails updatedResourceReqDetails = new ResourceReqDetails(importReqDetails, importReqDetails.getVersion()); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CHECKOUT); + ResourceReqDetails updatedResourceReqDetails = new ResourceReqDetails(importReqDetails, + importReqDetails.getVersion()); updatedResourceReqDetails.setDescription("updatedDescription"); updatedResourceReqDetails.setVendorRelease("1.2.3.4"); - RestResponse updateResponse = ResourceRestUtils.updateResourceMetadata(updatedResourceReqDetails, sdncUserDetails, importReqDetails.getUniqueId()); + RestResponse updateResponse = ResourceRestUtils.updateResourceMetadata(updatedResourceReqDetails, + sdncUserDetails, importReqDetails.getUniqueId()); assertEquals(STATUS_CODE_SUCCESS, updateResponse.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, updateResponse)); // certification request - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // checkout resource - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CHECKOUT); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CHECKOUT); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // certification request - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // start certification - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, testerUser, LifeCycleStatesEnum.STARTCERTIFICATION); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, testerUser, + LifeCycleStatesEnum.STARTCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // cancel certification - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, testerUser, LifeCycleStatesEnum.CANCELCERTIFICATION); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, testerUser, + LifeCycleStatesEnum.CANCELCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // start certification - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, testerUser, LifeCycleStatesEnum.STARTCERTIFICATION); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, testerUser, + LifeCycleStatesEnum.STARTCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // failure - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, testerUser, LifeCycleStatesEnum.FAILCERTIFICATION); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, testerUser, + LifeCycleStatesEnum.FAILCERTIFICATION); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); // upload artifact - changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, LifeCycleStatesEnum.CHECKOUT); + changeResourceState = LifecycleRestUtils.changeResourceState(importReqDetails, sdncUserDetails, + LifeCycleStatesEnum.CHECKOUT); ArtifactReqDetails artifactDetails = ElementFactory.getDefaultArtifact(); - ArtifactRestUtils.addInformationalArtifactToResource(artifactDetails, sdncUserDetails, importReqDetails.getUniqueId()); + ArtifactRestUtils.addInformationalArtifactToResource(artifactDetails, sdncUserDetails, + importReqDetails.getUniqueId()); assertEquals(STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, changeResourceState)); @@ -1666,8 +2037,10 @@ public class ImportToscaResourceTest extends ComponentBaseTest { resourceDetails.setResourceType(ResourceTypeEnum.VF.toString()); ResourceRestUtils.createResource(resourceDetails, sdncUserDetails); importReqDetails.setUniqueId(certifiedUniqueId); - ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory.getComponentResourceInstance(importReqDetails); - RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, sdncUserDetails, resourceDetails.getUniqueId(), ComponentTypeEnum.RESOURCE); + ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory + .getComponentResourceInstance(importReqDetails); + RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance( + resourceInstanceReqDetails, sdncUserDetails, resourceDetails.getUniqueId(), ComponentTypeEnum.RESOURCE); assertEquals(STATUS_CODE_CREATED, createResourceInstanceResponse.getErrorCode().intValue()); getResource = ResourceRestUtils.getResource(importReqDetails.getUniqueId()); assertTrue(checkInvariantUuidEqual(invariantUUIDcreation, getResource)); @@ -1681,14 +2054,16 @@ public class ImportToscaResourceTest extends ComponentBaseTest { @Test public void checkCPHasImmutableInvariantUuidTest() throws Exception { String filename = "FatherHasNoReqCap.yml"; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, filename); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + filename); checkResourceHasImmutableInvariantUuidTest(importReqDetails); } @Test public void checkVFCHasImmutableInvariantUuidTest() throws Exception { String filename = "computeCap11.yml"; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, filename); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + filename); checkResourceHasImmutableInvariantUuidTest(importReqDetails); } @@ -1713,17 +2088,21 @@ public class ImportToscaResourceTest extends ComponentBaseTest { checkInvariantUuidIsImmutableInDifferentAction(importReqDetails); } - private static RestResponse importResourceWithRequestedInvariantUuid(ImportReqDetails importDetails, String invariantUuid) throws Exception { + private static RestResponse importResourceWithRequestedInvariantUuid(ImportReqDetails importDetails, + String invariantUuid) throws Exception { importDetails.setInvariantUUID(invariantUuid); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importDetails, sdncUserDetails, null); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importDetails, sdncUserDetails, + null); assertEquals(STATUS_CODE_CREATED, importResourceResponse.getErrorCode().intValue()); return importResourceResponse; } - private Map<String, Object> parseReqOrCapFromResponse(String parsedFieldName, ImportReqDetails importReqDetails, int expectedNumOfReqCap) throws ClientProtocolException, IOException { + private Map<String, Object> parseReqOrCapFromResponse(String parsedFieldName, ImportReqDetails importReqDetails, + int expectedNumOfReqCap) throws ClientProtocolException, IOException { RestResponse getResource = ResourceRestUtils.getResource(importReqDetails.getUniqueId()); assertTrue(getResource.getErrorCode().equals(STATUS_CODE_SUCCESS)); - Map<String, Object> parsedFieldFromResponseToMap = ResponseParser.getJsonValueAsMap(getResource, parsedFieldName); + Map<String, Object> parsedFieldFromResponseToMap = ResponseParser.getJsonValueAsMap(getResource, + parsedFieldName); Iterator<String> iterator = parsedFieldFromResponseToMap.keySet().iterator(); actualNumOfReqOrCap = 0; while (iterator.hasNext()) { @@ -1746,81 +2125,98 @@ public class ImportToscaResourceTest extends ComponentBaseTest { case "my_boolean": assertTrue("Check Property Type ", pro.getType().equals("list")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("[false,true]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "my_boolean_array": assertTrue("Check Property Type ", pro.getType().equals("list")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("[true,false]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "duplicate_boolean_values": assertTrue("Check Property Type ", pro.getType().equals("list")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("[true,false,true]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "boolean_values_Insensitive": assertTrue("Check Property Type ", pro.getType().equals("list")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("[true,false,true]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "my_integers": assertTrue("Check Property Type ", pro.getType().equals("list")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("[0,1000,-1000,50]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "my_integers_array": assertTrue("Check Property Type ", pro.getType().equals("list")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("[10,-1000,0]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "duplicate_integers_values": assertTrue("Check Property Type ", pro.getType().equals("list")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("[10,10,-1000,0]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "my_string": assertTrue("Check Property Type ", pro.getType().equals("list")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("[\"asdc\",\"$?^@ecomp$!#%()_-~@+*^...;;/w#\",\"uc\"]")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("[\"asdc\",\"$?^@ecomp$!#%()_-~@+*^...;;/w#\",\"uc\"]")); // assertTrue("Check Property default values ", // pro.getDefaultValue().equals("[\"asdc\",\"@=~!@#$%^&*()_+=?><:-w\",\"uc\"]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "my_string_array": assertTrue("Check Property Type ", pro.getType().equals("list")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("[\"AAA\",\"~$~#bbb%^*_-\",\"qwe\",\"1.3\",\"500\",\"true\"]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("[\"AAA\",\"~$~#bbb%^*_-\",\"qwe\",\"1.3\",\"500\",\"true\"]")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "duplicate_string_values": assertTrue("Check Property Type ", pro.getType().equals("list")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("[\"asdc\",\"asdc\",\"uc\"]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("[\"asdc\",\"asdc\",\"uc\"]")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_null_value": assertTrue("Check Property Type ", pro.getType().equals("list")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("[\"asdc\",\"uc\"]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_space_value": assertTrue("Check Property Type ", pro.getType().equals("list")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("[\"asdc\",\"uc\"]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_array_null_value": assertTrue("Check Property Type ", pro.getType().equals("list")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("[\"aaa\",\"bbb\",\"500\"]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("[\"aaa\",\"bbb\",\"500\"]")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "my_float": @@ -1850,31 +2246,36 @@ public class ImportToscaResourceTest extends ComponentBaseTest { case "integer_no_default_values": assertTrue("Check Property Type ", pro.getType().equals("list")); assertEquals("Check Property default values ", pro.getDefaultValue(), null); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "string_no_default_values": assertTrue("Check Property Type ", pro.getType().equals("list")); assertEquals("Check Property default values ", pro.getDefaultValue(), null); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "boolean_no_default_values": assertTrue("Check Property Type ", pro.getType().equals("list")); assertEquals("Check Property default values ", pro.getDefaultValue(), null); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "integer_null_value": assertTrue("Check Property Type ", pro.getType().equals("list")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("[1000,2000]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "boolean_null_value": assertTrue("Check Property Type ", pro.getType().equals("list")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("[true,false]")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "float_null_value": @@ -2001,307 +2402,391 @@ public class ImportToscaResourceTest extends ComponentBaseTest { switch (pro.getName()) { case "string_prop01": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"val1\",\"keyB\":\"val2\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":\"val1\",\"keyB\":\"val2\"}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop02": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"val1\",\"keyB\":\"val2\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":\"val1\",\"keyB\":\"val2\"}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop03": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"val1\",\"keyB\":\"val2\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":\"val1\",\"keyB\":\"val2\"}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop04": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"10\",\"keyB\":\"true\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":\"10\",\"keyB\":\"true\"}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop05": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":\"Big\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":\"Big\"}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop06": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"aaaA\",\"keyB\":null}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":\"aaaA\",\"keyB\":null}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop07": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop08": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"\",\"keyB\":\"abcd\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":\"\",\"keyB\":\"abcd\"}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop09": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\" \",\"keyB\":\"abcd\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":\" \",\"keyB\":\"abcd\"}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop10": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\" aaaa\",\"keyB\":\" bbbb\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":\" aaaa\",\"keyB\":\" bbbb\"}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop11": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"aaaa \",\"keyB\":\"bbbb \"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":\"aaaa \",\"keyB\":\"bbbb \"}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop12": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\" aaaa \",\"keyB\":\" bbbb ccccc \"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":\" aaaa \",\"keyB\":\" bbbb ccccc \"}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop13": assertTrue("Check Property Type ", pro.getType().equals("map")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"aaaa\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop14": assertTrue("Check Property Type ", pro.getType().equals("map")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\" aaaa \"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop15": assertTrue("Check Property Type ", pro.getType().equals("map")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"AbcD\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop16": assertTrue("Check Property Type ", pro.getType().equals("map")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"AbcD\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop17": assertTrue("Check Property Type ", pro.getType().equals("map")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"AbcD\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop18": assertTrue("Check Property Type ", pro.getType().equals("map")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"AbcD\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop19": assertTrue("Check Property Type ", pro.getType().equals("map")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"AbcD\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop20": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":\"aaaa\",\"keya\":\"aaaa\",\"Keya\":\"Aaaa\",\"KEYA\":\"nnnn\"}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", pro.getDefaultValue() + .equals("{\"keyA\":\"aaaa\",\"keya\":\"aaaa\",\"Keya\":\"Aaaa\",\"KEYA\":\"nnnn\"}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop21": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "string_prop22": assertTrue("Check Property Type ", pro.getType().equals("map")); assertEquals("Check Property default values ", pro.getDefaultValue(), null); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("string")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("string")); isPropertyAppear = true; break; case "integer_prop01": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":1,\"keyB\":1000}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":1,\"keyB\":1000}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "integer_prop02": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "integer_prop03": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":800,\"keyB\":-600}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":800,\"keyB\":-600}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "integer_prop04": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":-600}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":-600}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "integer_prop05": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":100,\"keyB\":0}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":100,\"keyB\":0}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "integer_prop06": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":100,\"keyB\":0}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":100,\"keyB\":0}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "integer_prop07": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":100,\"keyB\":100}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":100,\"keyB\":100}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "integer_prop08": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":100,\"keyB\":200}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":100,\"keyB\":200}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "integer_prop09": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":100,\"keyB\":200}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":100,\"keyB\":200}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "integer_prop10": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":2222}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":2222}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "integer_prop11": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null,\"keyD\":null}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null,\"keyD\":null}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "integer_prop12": assertTrue("Check Property Type ", pro.getType().equals("map")); assertEquals("Check Property default values ", pro.getDefaultValue(), null); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "integer_prop13": assertTrue("Check Property Type ", pro.getType().equals("map")); assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":200}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("integer")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("integer")); isPropertyAppear = true; break; case "boolean_prop01": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":true,\"keyB\":false,\"keyC\":false}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":true,\"keyB\":false,\"keyC\":false}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "boolean_prop02": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":true,\"keyB\":false,\"keyC\":false}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":true,\"keyB\":false,\"keyC\":false}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "boolean_prop03": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null,\"keyD\":null}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null,\"keyD\":null}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "boolean_prop04": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null,\"keyD\":null}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null,\"keyD\":null}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "boolean_prop05": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":true,\"keyB\":false,\"keyC\":false}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":true,\"keyB\":false,\"keyC\":false}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "boolean_prop06": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":true,\"keyB\":true,\"keyC\":false}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":true,\"keyB\":true,\"keyC\":false}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "boolean_prop07": assertTrue("Check Property Type ", pro.getType().equals("map")); assertEquals("Check Property default values ", pro.getDefaultValue(), null); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "boolean_prop08": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":true,\"keyB\":false}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":true,\"keyB\":false}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "boolean_prop09": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":false,\"keyB\":true}")); - assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("boolean")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":false,\"keyB\":true}")); + assertTrue("Check entrySchema Property Type ", + pro.getSchema().getProperty().getType().equals("boolean")); isPropertyAppear = true; break; case "float_prop01": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":1.2,\"keyB\":3.56,\"keyC\":33}")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":1.2,\"keyB\":3.56,\"keyC\":33}")); assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("float")); isPropertyAppear = true; break; case "float_prop02": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":0.0,\"keyB\":0.0,\"keyC\":0}")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":0.0,\"keyB\":0.0,\"keyC\":0}")); assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("float")); isPropertyAppear = true; break; case "float_prop03": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null,\"keyD\":null}")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null,\"keyD\":null}")); assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("float")); isPropertyAppear = true; break; case "float_prop04": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":1.2,\"keyB\":3.56,\"keyC\":33}")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":1.2,\"keyB\":3.56,\"keyC\":33}")); assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("float")); isPropertyAppear = true; break; case "float_prop05": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":33,\"keyB\":1.2,\"keyC\":3.607,\"keyD\":0}")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":33,\"keyB\":1.2,\"keyC\":3.607,\"keyD\":0}")); assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("float")); isPropertyAppear = true; break; case "float_prop06": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":33,\"keyB\":1.2,\"keyC\":3.607}")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":33,\"keyB\":1.2,\"keyC\":3.607}")); assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("float")); isPropertyAppear = true; break; case "float_prop07": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null,\"keyD\":null}")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":null,\"keyB\":null,\"keyC\":null,\"keyD\":null}")); assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("float")); isPropertyAppear = true; break; @@ -2313,7 +2798,8 @@ public class ImportToscaResourceTest extends ComponentBaseTest { break; case "float_prop09": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":0.01,\"keyB\":null}")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":0.01,\"keyB\":null}")); assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("float")); isPropertyAppear = true; break; @@ -2325,7 +2811,8 @@ public class ImportToscaResourceTest extends ComponentBaseTest { break; case "float_prop11": assertTrue("Check Property Type ", pro.getType().equals("map")); - assertTrue("Check Property default values ", pro.getDefaultValue().equals("{\"keyA\":3.56,\"keyB\":33}")); + assertTrue("Check Property default values ", + pro.getDefaultValue().equals("{\"keyA\":3.56,\"keyB\":33}")); assertTrue("Check entrySchema Property Type ", pro.getSchema().getProperty().getType().equals("float")); isPropertyAppear = true; break; @@ -2340,11 +2827,15 @@ public class ImportToscaResourceTest extends ComponentBaseTest { public void importToscaResourceAttributeSuccessFlow() throws Exception { String fileName = importAttributeSuccess; - importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, fileName); - RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, null); + importReqDetails = ImportUtils.getImportResourceDetailsByPathAndName(importReqDetails, testResourcesPath, + fileName); + RestResponse importResourceResponse = ResourceRestUtils.createImportResource(importReqDetails, sdncUserDetails, + null); ResourceRestUtils.checkCreateResponse(importResourceResponse); - Resource resourceJavaObject = ResponseParser.convertResourceResponseToJavaObject(importResourceResponse.getResponse()); - ToscaNodeTypeInfo parseToscaNodeYaml = utils.parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); + Resource resourceJavaObject = ResponseParser + .convertResourceResponseToJavaObject(importResourceResponse.getResponse()); + ToscaNodeTypeInfo parseToscaNodeYaml = utils + .parseToscaNodeYaml(Decoder.decode(importReqDetails.getPayloadData())); HashMap<String, AttributeDefinition> attr = new HashMap<>(); @@ -2379,13 +2870,14 @@ public class ImportToscaResourceTest extends ComponentBaseTest { // verify Resource Attributes validateResourceAttribute(resourceJavaObject, attr); - // TO DO - ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory.getDefaultImportResourceAuditMsgSuccess(); + ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = ElementFactory + .getDefaultImportResourceAuditMsgSuccess(); expectedResourceAuditJavaObject.setResourceName(importReqDetails.getName()); expectedResourceAuditJavaObject.setModifierName(sdncUserDetails.getFullName()); expectedResourceAuditJavaObject.setModifierUid(sdncUserDetails.getUserId()); expectedResourceAuditJavaObject.setToscaNodeType(parseToscaNodeYaml.getNodeName()); - AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); + AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, + AuditingActionEnum.IMPORT_RESOURCE.getName(), null, false); } private void validateResourceAttribute(Resource resource, Map<String, AttributeDefinition> attr) { diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportUpdateResourseCsarTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportUpdateResourseCsarTest.java index 9e8b94e5a8..464ebe12ed 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportUpdateResourseCsarTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportUpdateResourseCsarTest.java @@ -21,6 +21,7 @@ package org.openecomp.sdc.ci.tests.execute.imports; import static org.testng.AssertJUnit.assertTrue; +import static org.testng.AssertJUnit.assertEquals; import java.nio.file.Files; import java.nio.file.Path; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/inputs/InputsApiTests.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/inputs/InputsApiTests.java index 345b81eb3e..b71240b527 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/inputs/InputsApiTests.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/inputs/InputsApiTests.java @@ -20,24 +20,33 @@ package org.openecomp.sdc.ci.tests.execute.inputs; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.testng.AssertJUnit.assertTrue; +import java.io.ByteArrayInputStream; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.tuple.Pair; import org.junit.Rule; import org.junit.rules.TestName; import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; +import org.openecomp.sdc.be.model.ArtifactUiDownloadData; import org.openecomp.sdc.be.model.Component; import org.openecomp.sdc.be.model.ComponentInstInputsMap; import org.openecomp.sdc.be.model.ComponentInstance; +import org.openecomp.sdc.be.model.ComponentInstancePropInput; +import org.openecomp.sdc.be.model.ComponentInstanceProperty; import org.openecomp.sdc.be.model.InputDefinition; +import org.openecomp.sdc.be.model.PropertyDefinition; import org.openecomp.sdc.be.model.Resource; import org.openecomp.sdc.be.model.Service; import org.openecomp.sdc.be.model.User; @@ -48,6 +57,7 @@ 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.AtomicOperationUtils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; +import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils; 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.InputsRestUtils; @@ -55,6 +65,7 @@ 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.BaseValidationUtils; import org.testng.annotations.Test; +import org.yaml.snakeyaml.Yaml; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; @@ -164,6 +175,69 @@ public class InputsApiTests extends ComponentBaseTest { } /** + * Test to check deletion of inputs related to CP/VL property values + * @throws Exception + */ + @Test + public void testDeleteInputsRelatedToPropertyValues() throws Exception { + Service service = createServiceWithVLinstance(); + User user = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + String simplePropName = "network_technology"; + String complexPropName = "network_assignments"; + String propertiesName = "network_assignments#ipv6_subnet_default_assignment#ip_network_address_plan"; + String vlInstanceId = service.getComponentInstances().get(0).getUniqueId(); + + // Take a simple property type and a complex property type + List<ComponentInstanceProperty> inputsToAdd = service.getComponentInstancesProperties().get(vlInstanceId) + .stream() + .filter(p -> simplePropName.equals(p.getName()) || complexPropName.equals(p.getName())) + .collect(Collectors.toList()); + + List<ComponentInstancePropInput> propInputList = new ArrayList<>(); + for (ComponentInstanceProperty prop : inputsToAdd) { + if (simplePropName.equals(prop.getName())) { + propInputList.add(new ComponentInstancePropInput(prop)); + } else { + propInputList.add(buildComponentInstNetworkAssignmentIpv6AssignmentComplexPropertyInput(prop, propertiesName)); + } + } + // Set component instance property input map and add to inputs service + ComponentInstInputsMap componentInstInputsMap = buildComponentInstPropertyInputsMap(vlInstanceId, propInputList); + RestResponse addInputResponse = InputsRestUtils.addInput(service, componentInstInputsMap, UserRoleEnum.DESIGNER); + BaseValidationUtils.checkSuccess(addInputResponse); + + // Get the updated service + ServiceReqDetails serviceDetails = new ServiceReqDetails(service); + RestResponse getServiceResponse = ServiceRestUtils.getService(serviceDetails, user); + service = ResponseParser.parseToObjectUsingMapper(getServiceResponse.getResponse(), Service.class); + + // validate instance get_input property values in service and tosca template + ComponentInstance vlInstance = service.getComponentInstances().get(0); + String simplePropValue = "{\"get_input\":\"" + vlInstance.getNormalizedName() + "_" + simplePropName + "\"}"; + String complexPropValue = "{\"ipv6_subnet_default_assignment\":{\"ip_network_address_plan\":{\"get_input\":\"" + vlInstance.getNormalizedName() + "_" + propertiesName.replaceAll("#", "_") + "\"}}}"; + // download and compare + Map<String, Object> load = downloadAndParseServiceToscaTemplate(user, service); + validateGetInputInstancePropertyValues(load, service, simplePropName, simplePropValue, complexPropName, complexPropValue, vlInstance); + + // Delete inputs from service + RestResponse deleteInputResponse = InputsRestUtils.deleteInputFromComponent(service, service.getInputs().get(0).getUniqueId()); + BaseValidationUtils.checkSuccess(deleteInputResponse); + deleteInputResponse = InputsRestUtils.deleteInputFromComponent(service, service.getInputs().get(1).getUniqueId()); + BaseValidationUtils.checkSuccess(deleteInputResponse); + + // Get the updated service + getServiceResponse = ServiceRestUtils.getService(serviceDetails, user); + service = ResponseParser.parseToObjectUsingMapper(getServiceResponse.getResponse(), Service.class); + + // download and compare (get_input property values removed) + load = downloadAndParseServiceToscaTemplate(user, service); + simplePropValue = "{}"; + complexPropValue = "{\"ipv6_subnet_default_assignment\":{\"ip_network_address_plan\":{}}}"; + validateGetInputInstancePropertyValues(load, service, simplePropName, simplePropValue, complexPropName, complexPropValue, vlInstance); + + } + + /** * Private method to create service with VF instance that has inputs * This is private method to be used by multiple tests * @@ -207,7 +281,40 @@ public class InputsApiTests extends ComponentBaseTest { return service; } - /** + + private Service createServiceWithVLinstance() throws Exception, IOException { + // Create default service + Either<Service, RestResponse> createDefaultServiceEither = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true); + if (createDefaultServiceEither.isRight()){ + assertTrue("Error creating default service", false); + } + Service service = createDefaultServiceEither.left().value(); + + Resource vl = AtomicOperationUtils.getResourceObjectByNameAndVersion(UserRoleEnum.DESIGNER, "ExtVL", "1.0"); + + // add VL instance to service + Either<ComponentInstance, RestResponse> vlInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vl, service, UserRoleEnum.DESIGNER, true); + if (vlInstDetails.isRight()){ + assertTrue("Error adding VF to service", false); + } + + // Get service response + ServiceReqDetails serviceDetails = new ServiceReqDetails(service); + RestResponse getServiceResponse = ServiceRestUtils.getService(serviceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + service = ResponseParser.parseToObjectUsingMapper(getServiceResponse.getResponse(), Service.class); + + // Get instances from service + ComponentInstance instance = service.getComponentInstances().get(0); + if (instance != null){ + assertTrue("Success creating service with VF instance", true); + } else { + assertTrue("Error creating service with VF instance", false); + } + + return service; + } + + /** * Return default ComponentInstInputsMap * * @param addToInput @@ -221,5 +328,80 @@ public class InputsApiTests extends ComponentBaseTest { componentInstInputsMap.setComponentInstanceInputsMap(map); return componentInstInputsMap; } + + private ComponentInstInputsMap buildComponentInstPropertyInputsMap (String instanceId, List<ComponentInstancePropInput> props) { + Map<String, List<ComponentInstancePropInput>> map = new HashMap<>(); + map.put(instanceId, props); + ComponentInstInputsMap componentInstInputsMap = new ComponentInstInputsMap(); + componentInstInputsMap.setComponentInstancePropInput(map); + return componentInstInputsMap; + } + + + private ComponentInstancePropInput buildComponentInstNetworkAssignmentIpv6AssignmentComplexPropertyInput (ComponentInstanceProperty prop, String propertiesName) { + ComponentInstancePropInput componentInstancePropInput = new ComponentInstancePropInput(prop); + componentInstancePropInput.setPropertiesName(propertiesName); + PropertyDefinition input = new PropertyDefinition(); + input.setUniqueId("org.openecomp.datatypes.network.SubnetAssignments.datatype.ip_network_address_plan"); + input.setName("ip_network_address_plan"); + input.setParentUniqueId("org.openecomp.datatypes.network.SubnetAssignments.datatype"); + input.setType("string"); + componentInstancePropInput.setInput(input); + return componentInstancePropInput; + + } + + private Map<String, Object> downloadAndParseServiceToscaTemplate(User user, Service service) throws Exception { + String artifactUniqeId = service.getToscaArtifacts().get("assettoscatemplate").getUniqueId(); + RestResponse toscaTemplate = ArtifactRestUtils.downloadServiceArtifactInternalApi(service.getUniqueId(), user, artifactUniqeId); + BaseRestUtils.checkSuccess(toscaTemplate); + ArtifactUiDownloadData artifactUiDownloadData = ResponseParser.parseToObject(toscaTemplate.getResponse(), ArtifactUiDownloadData.class); + byte[] fromUiDownload = artifactUiDownloadData.getBase64Contents().getBytes(); + byte[] decodeBase64 = Base64.decodeBase64(fromUiDownload); + Yaml yaml = new Yaml(); + InputStream inputStream = new ByteArrayInputStream(decodeBase64); + Map<String, Object> load = (Map<String, Object>) yaml.load(inputStream); + return load; + } + + private void validateGetInputInstancePropertyValues (Map<String, Object> load, Service service, String simplePropName, String simplePropValue, String complexPropName, String complexPropValue, ComponentInstance instance) { + + String instanceName = instance.getName(); + String instanceId = instance.getUniqueId(); + ComponentInstanceProperty simpleProp = service.getComponentInstancesProperties().get(instanceId).stream().filter(p -> p.getName().equals(simplePropName)).findAny().get(); + ComponentInstanceProperty complexProp = service.getComponentInstancesProperties().get(instanceId).stream().filter(p -> p.getName().equals(complexPropName)).findAny().get(); + + assertEquals(simpleProp.getValue(), simplePropValue); + assertEquals(complexProp.getValue(), complexPropValue); + // compare with downloaded tosca template + assertNotNull(load); + Map<String, Object> topology_template = (Map<String, Object>) load.get("topology_template"); + assertNotNull(topology_template); + Map<String, Object> nodes = (Map<String, Object>) topology_template.get("node_templates"); + assertNotNull(nodes); + Map<String, Object> vlInstanceObj = (Map<String, Object>) nodes.get(instanceName); + assertNotNull(vlInstanceObj); + Map<String, Object> props = (Map<String, Object>) vlInstanceObj.get("properties"); + assertNotNull(props); + Map<String, Object> complexPropObj = (Map<String, Object>) props.get(complexPropName); + assertNotNull(complexPropObj); + Gson gson = new Gson(); + assertEquals(gson.toJson(complexPropObj), complexProp.getValue()); + + // if simpleProp has an empty value it will not be generated in the tosca map + if (!simpleProp.getValue().equals("{}")){ + Map<String, Object> simplePropObj = (Map<String, Object>) props.get(simplePropName); + assertNotNull(simplePropObj); + assertEquals(gson.toJson(simplePropObj), simpleProp.getValue()); + } + + + + + + + } + + } diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/lifecycle/LCSbaseTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/lifecycle/LCSbaseTest.java index e15652dddf..84bb5421ab 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/lifecycle/LCSbaseTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/lifecycle/LCSbaseTest.java @@ -56,7 +56,7 @@ import org.testng.annotations.BeforeMethod; /** * - * @author al714h + * @author alitvinsky * * resourceDetails - create, Add Heat, certify resourceDetails1 - create * resource, LCS - CheckOut serviceDetails - create, add RI from diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/lifecycle/ServiceCertWithoutDeploymentArtifacts.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/lifecycle/ServiceCertWithoutDeploymentArtifacts.java new file mode 100644 index 0000000000..53f1fd20d5 --- /dev/null +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/lifecycle/ServiceCertWithoutDeploymentArtifacts.java @@ -0,0 +1,65 @@ +/*- + * ============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.lifecycle; + +import static org.testng.AssertJUnit.assertTrue; + +import org.junit.Rule; +import org.junit.rules.TestName; +import org.openecomp.sdc.be.model.Service; +import org.openecomp.sdc.be.model.User; +import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; +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.AtomicOperationUtils; +import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; +import org.testng.annotations.Test; + +public class ServiceCertWithoutDeploymentArtifacts extends LCSbaseTest { + protected ServiceReqDetails serviceDetails; + protected User sdncDesignerDetails; + protected User sdncAdminDetails; + protected Service serviceServ; + + @Rule + public static TestName testName = new TestName(); + + public ServiceCertWithoutDeploymentArtifacts() { + super(testName, ServiceCertWithoutDeploymentArtifacts.class.getName()); + } + + @Test + /** + * checks possibility to certify service without of deployment artifacts + * @throws Exception + */ + public void testDeploymentArtifactsRestriction() throws Exception { + + sdncDesignerDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + serviceServ = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); + assertTrue(serviceServ.getDeploymentArtifacts() == null || serviceServ.getDeploymentArtifacts().isEmpty()); + assertTrue(serviceServ.getComponentInstances() == null || serviceServ.getComponentInstances().isEmpty()); + serviceDetails = new ServiceReqDetails(serviceServ); + RestResponse changeServiceState = LCSbaseTest.certifyService(serviceDetails, sdncDesignerDetails); + assertTrue("certify service request returned status:" + changeServiceState.getErrorCode(), + changeServiceState.getErrorCode() == 200); + } +} diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductBaseTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductBaseTest.java index 7891f4a46b..623b29b8e6 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductBaseTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductBaseTest.java @@ -85,9 +85,11 @@ public abstract class ProductBaseTest extends ComponentBaseTest { defaultCategories = createCategoriesChain(definitionsList); } - private List<CategoryDefinition> createCategoriesChain(List<CategoryDefinition> categoryDefinitions) throws Exception { + private List<CategoryDefinition> createCategoriesChain(List<CategoryDefinition> categoryDefinitions) + throws Exception { for (CategoryDefinition categoryDefinition : categoryDefinitions) { - RestResponse createCategory = CategoryRestUtils.createCategory(categoryDefinition, productStrategistUser1, PRODUCT_COMPONENT_TYPE); + RestResponse createCategory = CategoryRestUtils.createCategory(categoryDefinition, productStrategistUser1, + PRODUCT_COMPONENT_TYPE); int status = createCategory.getErrorCode().intValue(); if (status == BaseRestUtils.STATUS_CODE_CREATED) { String categoryId = ResponseParser.getUniqueIdFromResponse(createCategory); @@ -95,7 +97,8 @@ public abstract class ProductBaseTest extends ComponentBaseTest { } List<SubCategoryDefinition> subcategories = categoryDefinition.getSubcategories(); for (SubCategoryDefinition subCategoryDefinition : subcategories) { - RestResponse createSubCategory = CategoryRestUtils.createSubCategory(subCategoryDefinition, categoryDefinition, productStrategistUser1, PRODUCT_COMPONENT_TYPE); + RestResponse createSubCategory = CategoryRestUtils.createSubCategory(subCategoryDefinition, + categoryDefinition, productStrategistUser1, PRODUCT_COMPONENT_TYPE); status = createSubCategory.getErrorCode().intValue(); if (status == BaseRestUtils.STATUS_CODE_CREATED) { String subCategoryId = ResponseParser.getUniqueIdFromResponse(createSubCategory); @@ -103,7 +106,8 @@ public abstract class ProductBaseTest extends ComponentBaseTest { } List<GroupingDefinition> groupings = subCategoryDefinition.getGroupings(); for (GroupingDefinition groupingDefinition : groupings) { - RestResponse createGroupingRest = CategoryRestUtils.createGrouping(groupingDefinition, subCategoryDefinition, categoryDefinition, productStrategistUser1, PRODUCT_COMPONENT_TYPE); + RestResponse createGroupingRest = CategoryRestUtils.createGrouping(groupingDefinition, + subCategoryDefinition, categoryDefinition, productStrategistUser1, PRODUCT_COMPONENT_TYPE); status = createGroupingRest.getErrorCode().intValue(); if (status == BaseRestUtils.STATUS_CODE_CREATED) { String groupingId = ResponseParser.getUniqueIdFromResponse(createGroupingRest); @@ -114,8 +118,9 @@ public abstract class ProductBaseTest extends ComponentBaseTest { } RestResponse allCategories = CategoryRestUtils.getAllCategories(productStrategistUser1, PRODUCT_COMPONENT_TYPE); Gson gson = new Gson(); - List<CategoryDefinition> res = gson.fromJson(allCategories.getResponse(), new TypeToken<List<CategoryDefinition>>() { - }.getType()); + List<CategoryDefinition> res = gson.fromJson(allCategories.getResponse(), + new TypeToken<List<CategoryDefinition>>() { + }.getType()); return res; } diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCheckoutTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCheckoutTest.java index ec1f7ad38d..efb4a15255 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCheckoutTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCheckoutTest.java @@ -34,6 +34,7 @@ import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedProductAudit; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; import org.openecomp.sdc.ci.tests.utils.DbUtils; +import org.openecomp.sdc.ci.tests.utils.Utils; import org.openecomp.sdc.ci.tests.utils.general.Convertor; import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.ProductRestUtils; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductComponentInstanceCRUDTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductComponentInstanceCRUDTest.java index ec3d9b75a5..fe5a6e34f9 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductComponentInstanceCRUDTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductComponentInstanceCRUDTest.java @@ -106,17 +106,13 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest // addresourceDetailsCP_02 ,resourceDetailsVFC_02 and // resourceDetailsVL_02 to resourceDetailsVF_02 check-in VF - RestResponse createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resourceDetailsVF_02, - resourceDetailsVFC_02, sdncDesignerDetails); + RestResponse createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resourceDetailsVF_02, resourceDetailsVFC_02, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance); - createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resourceDetailsVF_02, resourceDetailsCP_02, - sdncDesignerDetails); + createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resourceDetailsVF_02, resourceDetailsCP_02, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance); - createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resourceDetailsVF_02, resourceDetailsVL_02, - sdncDesignerDetails); + createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resourceDetailsVF_02, resourceDetailsVL_02, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance); - RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails, - LifeCycleStatesEnum.CHECKIN); + RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetailsVF_02, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN); resourceDetailsVF_02.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN); // addresourceDetailsCP_01 ,resourceDetailsVFC_01 and // resourceDetailsVL_01 to resourceDetailsVF_01 and certify @@ -130,19 +126,16 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest // has // check-in // VF - restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails, - LifeCycleStatesEnum.CHECKIN); + restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse); - restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_02, sdncDesignerDetails, - LifeCycleStatesEnum.CHECKIN); + restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_02, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse); } // pass @Test public void createServiceInstanceTest() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 1, 0); } @@ -151,33 +144,27 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test(enabled = false) public void createServiceInstanceFromCheckedOutState() throws Exception { // can't create instance of checked-out component - RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails, - LifeCycleStatesEnum.CHECKOUT); + RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails, LifeCycleStatesEnum.CHECKOUT); ResourceRestUtils.checkSuccess(restResponse); - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 1, 0); } @Test public void createServiceInstanceInToAnotherServiceInstance() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_02, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_02, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String uniqueIdFromResponse = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 1, 0); - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, - sdncPmDetails1, uniqueIdFromResponse, ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, uniqueIdFromResponse, ComponentTypeEnum.PRODUCT); assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_NOT_FOUND); } @Test public void createSeveralServiceInstanceFromSameServices() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); @@ -186,8 +173,7 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void createSeveralServiceInstanceFromDifferentServices() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_02, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); @@ -197,22 +183,18 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void createCertifiedServiceInstance() throws Exception { changeServiceStateToCertified(serviceDetails_01); - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 1, 0); } @Test public void createServiceInstanceByPm() throws Exception { - RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKIN); + RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse); - restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKOUT); + restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKOUT); ResourceRestUtils.checkSuccess(restResponse); - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 1, 0); } @@ -220,51 +202,43 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void createServiceInstanceWithoutVf() throws Exception { LifecycleRestUtils.changeServiceState(serviceDetails_03, sdncAdminDetails, "0.1", LifeCycleStatesEnum.CHECKIN); - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_02, serviceDetails_03, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_02, serviceDetails_03, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_02, 1, 0); } @Test public void createServiceInstanceByNonProductOwner() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_02, sdncPmDetails2); assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), - createServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), createServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 1, 0); } @Test public void createServiceInstanceByNonAsdcUser() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); User nonExistingSdncUser = ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1); ; nonExistingSdncUser.setUserId("bt1234"); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, nonExistingSdncUser); assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), - createServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), createServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 1, 0); } @Test public void createServiceInstanceToNotCheckOutProduct() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); - RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKIN); + RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), - createServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), createServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 1, 0); } @@ -274,25 +248,19 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest String expectedServiceInstanceName = serviceDetails_01.getName() + " 1"; String expectedServiceInstancenormalizedName = serviceDetails_01.getName() + "1"; serviceDetails_01.setName(""); - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); - String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), - "normalizedName"); + String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), "normalizedName"); String instanceName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), "name"); - assertEquals("check Resource Instance normalizedName ", (expectedServiceInstancenormalizedName).toLowerCase(), - instanceNormalizedName); + assertEquals("check Resource Instance normalizedName ", (expectedServiceInstancenormalizedName).toLowerCase(), instanceNormalizedName); assertEquals("check Resource Instance Name ", expectedServiceInstanceName, instanceName); getComponentAndValidateRIs(productDetails_01, 1, 0); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(expectedServiceInstanceName, actualComponentInstance.getName()); - assertEquals((expectedServiceInstancenormalizedName).toLowerCase(), - actualComponentInstance.getNormalizedName()); + assertEquals((expectedServiceInstancenormalizedName).toLowerCase(), actualComponentInstance.getNormalizedName()); } // pass @@ -301,116 +269,91 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest String expectedServiceInstanceName = serviceDetails_01.getName() + " 1"; String expectedServiceInstancenormalizedName = serviceDetails_01.getName() + "1"; serviceDetails_01.setName(null); - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); - String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), - "normalizedName"); + String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), "normalizedName"); String instanceName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), "name"); - assertEquals("check Resource Instance normalizedName ", (expectedServiceInstancenormalizedName).toLowerCase(), - instanceNormalizedName); + assertEquals("check Resource Instance normalizedName ", (expectedServiceInstancenormalizedName).toLowerCase(), instanceNormalizedName); assertEquals("check Resource Instance Name ", expectedServiceInstanceName, instanceName); getComponentAndValidateRIs(productDetails_01, 1, 0); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(expectedServiceInstanceName, actualComponentInstance.getName()); - assertEquals((expectedServiceInstancenormalizedName).toLowerCase(), - actualComponentInstance.getNormalizedName()); + assertEquals((expectedServiceInstancenormalizedName).toLowerCase(), actualComponentInstance.getNormalizedName()); } @Test(enabled = false) public void createServiceInstanceToNonExistingProduct() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); - ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, - sdncPmDetails1, "blabla", ComponentTypeEnum.PRODUCT); - AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND, - createServiceInstanceResp.getErrorCode().intValue()); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); + ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, "blabla", ComponentTypeEnum.PRODUCT); + AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND, createServiceInstanceResp.getErrorCode().intValue()); ArrayList<String> varibales = new ArrayList<String>(); varibales.add("blabla"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PRODUCT_NOT_FOUND.name(), varibales, - createServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PRODUCT_NOT_FOUND.name(), varibales, createServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 1, 0); } @Test public void createServiceInstanceToNonSupportedComponentType() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, - sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.RESOURCE_INSTANCE); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.RESOURCE_INSTANCE); assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_UNSUPPORTED_ERROR); ArrayList<String> varibales = new ArrayList<String>(); varibales.add("null"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.UNSUPPORTED_ERROR.name(), varibales, - createServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.UNSUPPORTED_ERROR.name(), varibales, createServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 1, 0); } // pass @Test public void createServiceInstancePositionIsEmpty() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); serviceInstanceReqDetails.setPosX(""); serviceInstanceReqDetails.setPosY(""); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); - ComponentInstance componentInstance = ResponseParser - .parseToObjectUsingMapper(createServiceInstanceResp.getResponse(), ComponentInstance.class); + ComponentInstance componentInstance = ResponseParser.parseToObjectUsingMapper(createServiceInstanceResp.getResponse(), ComponentInstance.class); addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.PRODUCT); getComponentAndValidateRIs(productDetails_01, 1, 0); } @Test public void createServiceInstancePositionIsNull() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); serviceInstanceReqDetails.setPosX(null); serviceInstanceReqDetails.setPosY(null); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); - ComponentInstance componentInstance = ResponseParser - .parseToObjectUsingMapper(createServiceInstanceResp.getResponse(), ComponentInstance.class); + ComponentInstance componentInstance = ResponseParser.parseToObjectUsingMapper(createServiceInstanceResp.getResponse(), ComponentInstance.class); addCompInstReqCapToExpected(componentInstance, ComponentTypeEnum.PRODUCT); getComponentAndValidateRIs(productDetails_01, 1, 0); } @Test public void createServiceInstanceByDesigner() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncDesignerDetails); assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), - createServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), createServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 1, 0); } @Test public void createServiceInstanceUserIdIsEmpty() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); User nonSdncDetails = ElementFactory.getDefaultUser(UserRoleEnum.TESTER); nonSdncDetails.setUserId(""); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, nonSdncDetails); assertTrue(createServiceInstanceResp.getErrorCode() == STATUS_CODE_MISSING_INFORMATION); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_INFORMATION.name(), new ArrayList<String>(), - createServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_INFORMATION.name(), new ArrayList<String>(), createServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 1, 0); } @@ -419,34 +362,25 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void updateServiceInstanceNameByPm() throws Exception { // Check-in Product by PM and Check-out by PM - RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKIN); + RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse); - restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKOUT); + restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKOUT); ResourceRestUtils.checkSuccess(restResponse); // Create service instance by PM - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String newName = "abcD"; serviceInstanceReqDetails.setName(newName); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkSuccess(updateServiceInstanceResponse); - String instanceNormalizedName = ResponseParser - .getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); - String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), - "name"); + String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); + String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name"); assertEquals("check Resource Instance normalizedName ", (newName).toLowerCase(), instanceNormalizedName); assertEquals("check Resource Instance Name ", newName, instanceName); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(newName, actualComponentInstance.getName()); assertEquals((newName).toLowerCase(), actualComponentInstance.getNormalizedName()); @@ -454,23 +388,18 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void updateServiceInstanceNewNameAndLocation() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String newName = "updaatedName100"; serviceInstanceReqDetails.setPosX("100"); serviceInstanceReqDetails.setPosY("100"); serviceInstanceReqDetails.setName(newName); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkSuccess(updateServiceInstanceResponse); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(serviceInstanceReqDetails.getPosX(), actualComponentInstance.getPosX()); assertEquals(serviceInstanceReqDetails.getPosY(), actualComponentInstance.getPosY()); @@ -480,29 +409,21 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test(enabled = false) public void updateServiceInstanceNameRemoveSpacesFromBiginningAndEnd() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String newName = " Abcd "; String expectedNewName = " Abcd "; serviceInstanceReqDetails.setName(newName); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkSuccess(updateServiceInstanceResponse); - String instanceNormalizedName = ResponseParser - .getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); - String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), - "name"); - assertEquals("check Resource Instance normalizedName ", (expectedNewName).toLowerCase(), - instanceNormalizedName); + String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); + String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name"); + assertEquals("check Resource Instance normalizedName ", (expectedNewName).toLowerCase(), instanceNormalizedName); assertEquals("check Resource Instance Name ", expectedNewName, instanceName); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(expectedNewName, actualComponentInstance.getName()); assertEquals((expectedNewName).toLowerCase(), actualComponentInstance.getNormalizedName()); @@ -511,28 +432,21 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest // pass @Test public void updateServiceInstanceNameAllowedCharacters() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String newName = "qwer-TYUIOP_asd_0987654321.Abcd"; String ExpectedNormalizName = "qwertyuiopasd0987654321abcd"; serviceInstanceReqDetails.setName(newName); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkSuccess(updateServiceInstanceResponse); - String instanceNormalizedName = ResponseParser - .getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); - String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), - "name"); + String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); + String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name"); assertEquals("check Resource Instance normalizedName ", ExpectedNormalizName, instanceNormalizedName); assertEquals("check Resource Instance Name ", newName, instanceName); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(newName, actualComponentInstance.getName()); assertEquals(ExpectedNormalizName, actualComponentInstance.getNormalizedName()); @@ -541,54 +455,40 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void updateInstanceNameInvalidCharacters() throws Exception { - char invalidChars[] = { '~', '!', '$', '%', '^', '*', '(', ')', '"', '{', '}', '[', ']', '?', '>', '<', '/', - '|', '\\', ',' }; - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + char invalidChars[] = { '~', '!', '$', '%', '^', '*', '(', ')', '"', '{', '}', '[', ']', '?', '>', '<', '/', '|', '\\', ',' }; + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String newName = "Abcd1"; String updateName; for (int i = 0; i < invalidChars.length; i++) { updateName = newName + invalidChars[i]; serviceInstanceReqDetails.setName(updateName); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), - ComponentTypeEnum.PRODUCT); - assertEquals("Check response code ", STATUS_CODE_INVALID_CONTENT, - updateServiceInstanceResponse.getErrorCode().intValue()); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + assertEquals("Check response code ", STATUS_CODE_INVALID_CONTENT, updateServiceInstanceResponse.getErrorCode().intValue()); ArrayList<String> varibales = new ArrayList<String>(); varibales.add("Service Instance"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPONENT_NAME.name(), varibales, - updateServiceInstanceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.INVALID_COMPONENT_NAME.name(), varibales, updateServiceInstanceResponse.getResponse()); } } // pass @Test public void updateInstanceNameMaxLength() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String newName = "Qwertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl12345"; serviceInstanceReqDetails.setName(newName); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkSuccess(updateServiceInstanceResponse); - String instanceNormalizedName = ResponseParser - .getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); - String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), - "name"); + String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); + String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name"); assertEquals("check Resource Instance normalizedName ", (newName).toLowerCase(), instanceNormalizedName); assertEquals("check Resource Instance Name ", newName, instanceName); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(newName, actualComponentInstance.getName()); assertEquals((newName).toLowerCase(), actualComponentInstance.getNormalizedName()); @@ -596,30 +496,22 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void updateInstanceNameExceedMaxLength() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String expectedName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), "name"); - String expectedNormalizedName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), - "normalizedName"); + String expectedNormalizedName = ResponseParser.getValueFromJsonResponse(createServiceInstanceResp.getResponse(), "normalizedName"); String newName = "Qwertyuiop1234567890asdfAhjklzxcvbnmasdfghjkl123456"; serviceInstanceReqDetails.setName(newName); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); - assertEquals("Check response code ", STATUS_CODE_COMPONENT_NAME_EXCEEDS_LIMIT, - updateServiceInstanceResponse.getErrorCode().intValue()); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + assertEquals("Check response code ", STATUS_CODE_COMPONENT_NAME_EXCEEDS_LIMIT, updateServiceInstanceResponse.getErrorCode().intValue()); ArrayList<String> varibales = new ArrayList<String>(); varibales.add("Service Instance"); varibales.add("50"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_NAME_EXCEEDS_LIMIT.name(), varibales, - updateServiceInstanceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_NAME_EXCEEDS_LIMIT.name(), varibales, updateServiceInstanceResponse.getResponse()); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(expectedName, actualComponentInstance.getName()); assertEquals(expectedNormalizedName, actualComponentInstance.getNormalizedName()); @@ -630,28 +522,20 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest // see US534663 In case a PS/PM removes the current service instance // name then BE has to generate again the "default" service instance // name - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String newName = ""; serviceInstanceReqDetails.setName(newName); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkSuccess(updateServiceInstanceResponse); - String instanceNormalizedName = ResponseParser - .getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); - String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), - "name"); - assertEquals("check Resource Instance normalizedName ", (serviceDetails_01.getName() + "2").toLowerCase(), - instanceNormalizedName); + String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); + String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name"); + assertEquals("check Resource Instance normalizedName ", (serviceDetails_01.getName() + "2").toLowerCase(), instanceNormalizedName); assertEquals("check Resource Instance normalizedName ", (serviceDetails_01.getName() + " 2"), instanceName); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(instanceName, actualComponentInstance.getName()); assertEquals(instanceNormalizedName, actualComponentInstance.getNormalizedName()); @@ -663,28 +547,20 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest // see US534663 In case a PS/PM removes the current service instance // name then BE has to generate again the "default" service instance // name - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String newName = null; serviceInstanceReqDetails.setName(newName); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkSuccess(updateServiceInstanceResponse); - String instanceNormalizedName = ResponseParser - .getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); - String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), - "name"); - assertEquals("check Resource Instance normalizedName ", (serviceDetails_01.getName() + "2").toLowerCase(), - instanceNormalizedName); + String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); + String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name"); + assertEquals("check Resource Instance normalizedName ", (serviceDetails_01.getName() + "2").toLowerCase(), instanceNormalizedName); assertEquals("check Resource Instance normalizedName ", (serviceDetails_01.getName() + " 2"), instanceName); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(instanceName, actualComponentInstance.getName()); assertEquals(instanceNormalizedName, actualComponentInstance.getNormalizedName()); @@ -695,125 +571,93 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest // see US534663 In case a PS/PM removes the current service instance // name then BE has to generate again the "default" service instance // name - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String newName = "blabla"; serviceInstanceReqDetails.setName(newName); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails2, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); - assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION, - updateServiceInstanceResponse.getErrorCode().intValue()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), - updateServiceInstanceResponse.getResponse()); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails2, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION, updateServiceInstanceResponse.getErrorCode().intValue()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), updateServiceInstanceResponse.getResponse()); } @Test public void updateServiceInstance_UserIdIsNonAsdcUser() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String newName = "blabla"; serviceInstanceReqDetails.setName(newName); User nonSdncUserDetails = new User(); nonSdncUserDetails.setUserId("bt4567"); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, nonSdncUserDetails, productDetails_01.getUniqueId(), - ComponentTypeEnum.PRODUCT); - assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION, - updateServiceInstanceResponse.getErrorCode().intValue()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), - updateServiceInstanceResponse.getResponse()); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, nonSdncUserDetails, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + assertEquals("Check response code ", STATUS_CODE_RESTRICTED_OPERATION, updateServiceInstanceResponse.getErrorCode().intValue()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), updateServiceInstanceResponse.getResponse()); } @Test public void updateServiceInstanceNameToAlreadyExisting() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String ServiceName1 = ResponseParser.getNameFromResponse(createServiceInstanceResp); - createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, - sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); // Update service instance2 name to service instance1 serviceInstanceReqDetails.setName(ServiceName1); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); - assertEquals("Check response code ", STATUS_CODE_ALREADY_EXISTS, - updateServiceInstanceResponse.getErrorCode().intValue()); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + assertEquals("Check response code ", STATUS_CODE_ALREADY_EXISTS, updateServiceInstanceResponse.getErrorCode().intValue()); ArrayList<String> varibales = new ArrayList<String>(); varibales.add("Service Instance"); varibales.add(ServiceName1); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_NAME_ALREADY_EXIST.name(), varibales, - updateServiceInstanceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_NAME_ALREADY_EXIST.name(), varibales, updateServiceInstanceResponse.getResponse()); } @Test public void updateServiceInstanceForNonExistingProduct() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String newName = "blabla"; serviceInstanceReqDetails.setName(newName); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, "blablabla", ComponentTypeEnum.PRODUCT); - AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND, - updateServiceInstanceResponse.getErrorCode().intValue()); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, "blablabla", ComponentTypeEnum.PRODUCT); + AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND, updateServiceInstanceResponse.getErrorCode().intValue()); ArrayList<String> varibales = new ArrayList<String>(); varibales.add(""); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PRODUCT_NOT_FOUND.name(), varibales, - updateServiceInstanceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PRODUCT_NOT_FOUND.name(), varibales, updateServiceInstanceResponse.getResponse()); } @Test public void updateNonExistingServiceInstance() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String newName = "blabla"; serviceInstanceReqDetails.setName(newName); serviceInstanceReqDetails.setUniqueId("11111111"); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ArrayList<String> varibales = new ArrayList<String>(); varibales.add(newName); varibales.add("service instance"); - AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND, - updateServiceInstanceResponse.getErrorCode().intValue()); + AssertJUnit.assertEquals("Check response code ", STATUS_CODE_NOT_FOUND, updateServiceInstanceResponse.getErrorCode().intValue()); // need to change ActionStatus.RESOURCE_INSTANCE_NOT_FOUND.name() to // ActionStatus.SERVICE_INSTANCE_NOT_FOUND.name() - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_INSTANCE_NOT_FOUND.name(), varibales, - updateServiceInstanceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.COMPONENT_INSTANCE_NOT_FOUND.name(), varibales, updateServiceInstanceResponse.getResponse()); } @Test public void updateServiceInstanceLocation() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); serviceInstanceReqDetails.setPosX("50"); serviceInstanceReqDetails.setPosY("100"); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkSuccess(updateServiceInstanceResponse); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(serviceInstanceReqDetails.getPosX(), actualComponentInstance.getPosX()); assertEquals(serviceInstanceReqDetails.getPosY(), actualComponentInstance.getPosY()); @@ -821,23 +665,18 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void updateServiceInstanceToNonExistingLocation() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); String nameFromResponse = ResponseParser.getNameFromResponse(createServiceInstanceResp); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); serviceInstanceReqDetails.setPosX("-50"); serviceInstanceReqDetails.setPosY("-100"); serviceInstanceReqDetails.setName(nameFromResponse); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkSuccess(updateServiceInstanceResponse); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(serviceInstanceReqDetails.getPosX(), actualComponentInstance.getPosX()); assertEquals(serviceInstanceReqDetails.getPosY(), actualComponentInstance.getPosY()); @@ -848,16 +687,13 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest public void updateServiceInstanceLocationNameIsEmpty() throws Exception { String expectedServiceInstanceName = serviceDetails_01.getName() + " 2"; String expectedServiceInstancenormalizedName = serviceDetails_01.getName() + "2"; - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); serviceInstanceReqDetails.setPosX("100"); serviceInstanceReqDetails.setPosY("200"); serviceInstanceReqDetails.setName(""); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkSuccess(updateServiceInstanceResponse); String nameFromResponse = ResponseParser.getNameFromResponse(updateServiceInstanceResponse); String postX = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "posX"); @@ -866,10 +702,8 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest assertEquals(postX, "100"); assertEquals(postY, "200"); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(serviceInstanceReqDetails.getPosX(), actualComponentInstance.getPosX()); assertEquals(serviceInstanceReqDetails.getPosY(), actualComponentInstance.getPosY()); @@ -880,10 +714,8 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest // pass @Test public void updateServiceInstanceNameToProductName() throws Exception { - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_01); - RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_01); + RestResponse createServiceInstanceResp = ComponentInstanceRestUtils.createComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); // ComponentInstance componentInstance = // ResponseParser.parseToObjectUsingMapper(createServiceInstanceResp.getResponse(), @@ -891,21 +723,15 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest // addCompInstReqCapToExpected(componentInstance, // ComponentTypeEnum.PRODUCT); serviceInstanceReqDetails.setName(productDetails_01.getName()); - RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse updateServiceInstanceResponse = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ResourceRestUtils.checkSuccess(updateServiceInstanceResponse); - String instanceNormalizedName = ResponseParser - .getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); - String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), - "name"); - assertEquals("check Resource Instance normalizedName ", (serviceInstanceReqDetails.getName()).toLowerCase(), - instanceNormalizedName); + String instanceNormalizedName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "normalizedName"); + String instanceName = ResponseParser.getValueFromJsonResponse(updateServiceInstanceResponse.getResponse(), "name"); + assertEquals("check Resource Instance normalizedName ", (serviceInstanceReqDetails.getName()).toLowerCase(), instanceNormalizedName); assertEquals("check Resource Instance Name ", serviceInstanceReqDetails.getName(), instanceName); // get product and verify that service instanceName is correct - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); assertEquals(serviceInstanceReqDetails.getName(), actualComponentInstance.getName()); assertEquals((serviceInstanceReqDetails.getName()).toLowerCase(), actualComponentInstance.getNormalizedName()); @@ -915,35 +741,29 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void deleteAllServiceInstanceFromProduct() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 1, 0); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - sdncPmDetails1); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails1); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE); getComponentAndValidateRIs(productDetails_01, 0, 0); } @Test public void deleteServiceWhileServiceInstanceExistInProduct() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_02, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueIdFromResponse = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); // Delete service while service instance of it exist in product - RestResponse deleteServiceResponse = ServiceRestUtils.deleteServiceById(serviceDetails_01.getUniqueId(), - sdncDesignerDetails.getUserId()); + RestResponse deleteServiceResponse = ServiceRestUtils.deleteServiceById(serviceDetails_01.getUniqueId(), sdncDesignerDetails.getUserId()); assertTrue(deleteServiceResponse.getErrorCode() == STATUS_CODE_SUCCESS_DELETE); // Get product and verify that service instance still exists - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); // ComponentInstance actualComponentInstance = // actualProduct.getComponentInstances().get(0); // assertTrue(serviceInstanceUniqueIdFromResponse == @@ -954,89 +774,72 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest // pass @Test public void deleteServiceInstanceByPm() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - sdncPmDetails1); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails1); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE); getComponentAndValidateRIs(productDetails_01, 1, 0); } @Test public void deleteServiceInstanceByPmCreatedByPm() throws Exception { - RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKIN); + RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse); - restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKOUT); + restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKOUT); ResourceRestUtils.checkSuccess(restResponse); productDetails_01.setUniqueId(ResponseParser.getUniqueIdFromResponse(restResponse)); - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - sdncPmDetails1); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails1); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE); getComponentAndValidateRIs(productDetails_01, 1, 0); } @Test public void deleteServiceInstanceByPmWhichIsCheckedOutByAnotherPm() throws Exception { - RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKIN); + RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse); - restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKOUT); + restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKOUT); ResourceRestUtils.checkSuccess(restResponse); - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - sdncPmDetails2); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails2); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), - deleteServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 2, 0); } // DE190189 @Test public void deleteServiceInstanceByPmCreatedByPs() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); String productOldUniqueId = productDetails_01.getUniqueId(); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 1, 0); - RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKIN); + RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse); - restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKOUT); + restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKOUT); ResourceRestUtils.checkSuccess(restResponse); String productNewUniqueId = ResponseParser.getUniqueIdFromResponse(restResponse); updateExpectedReqCapAfterChangeLifecycleState(productOldUniqueId, productNewUniqueId); // get product and get service instance new uniquId - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPmDetails1.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPmDetails1.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); String serviceInstanceUniqueId = actualComponentInstance.getUniqueId(); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - sdncPmDetails1); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails1); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE); getComponentAndValidateRIs(productDetails_01, 0, 0); } @@ -1044,120 +847,97 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest // DE190189 @Test public void deleteServiceInstanceByAdminCreatedByPs() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); String productOldUniqueId = productDetails_01.getUniqueId(); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 1, 0); - RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKIN); + RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse); - restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncAdminDetails, - LifeCycleStatesEnum.CHECKOUT); + restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncAdminDetails, LifeCycleStatesEnum.CHECKOUT); ResourceRestUtils.checkSuccess(restResponse); String productNewUniqueId = ResponseParser.getUniqueIdFromResponse(restResponse); updateExpectedReqCapAfterChangeLifecycleState(productOldUniqueId, productNewUniqueId); // get product and get service instance new uniquId - RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncAdminDetails.getUserId()); - Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), - Product.class); + RestResponse getActualProductResponse = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncAdminDetails.getUserId()); + Product actualProduct = ResponseParser.parseToObjectUsingMapper(getActualProductResponse.getResponse(), Product.class); ComponentInstance actualComponentInstance = actualProduct.getComponentInstances().get(0); String serviceInstanceUniqueId = actualComponentInstance.getUniqueId(); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - sdncAdminDetails); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncAdminDetails); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE); getComponentAndValidateRIs(productDetails_01, 0, 0); } @Test public void createAndDeleteServiceInstanceByAdmin() throws Exception { - RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKIN); + RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse); - restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncAdminDetails, - LifeCycleStatesEnum.CHECKOUT); + restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncAdminDetails, LifeCycleStatesEnum.CHECKOUT); ResourceRestUtils.checkSuccess(restResponse); // productDetails_01.setUniqueId(ResponseParser.getUniqueIdFromResponse(restResponse)); - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncAdminDetails); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncAdminDetails); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncAdminDetails); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - sdncAdminDetails); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncAdminDetails); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE); getComponentAndValidateRIs(productDetails_01, 1, 0); } @Test public void deleteServiceInstanceFromNonCheckOutProduct() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 1, 0); - RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, - LifeCycleStatesEnum.CHECKIN); + RestResponse restResponse = LifecycleRestUtils.changeProductState(productDetails_01, sdncPmDetails1, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - sdncPmDetails1); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails1); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), - deleteServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 1, 0); } @Test public void deleteServiceInstanceByDesigner() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - sdncDesignerDetails); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncDesignerDetails); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), - deleteServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 2, 0); } @Test public void deleteServiceInstanceByTester() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - sdncTesterDetails); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncTesterDetails); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), - deleteServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 2, 0); } @Test public void deleteServiceInstanceByPsWhichIsCheckedOutByAnotherPs() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - sdncPsDetails2); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPsDetails2); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), - deleteServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 2, 0); } @@ -1167,96 +947,80 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest User nonExistingSdncUser = ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1); ; nonExistingSdncUser.setUserId("bt1234"); - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - nonExistingSdncUser); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, nonExistingSdncUser); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_RESTRICTED_OPERATION); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), - deleteServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 2, 0); } @Test public void deleteServiceInstanceFromNonExistingProduct() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); - RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncPmDetails1, - "1234567890", serviceInstanceUniqueId, ComponentTypeEnum.PRODUCT); + RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncPmDetails1, "1234567890", serviceInstanceUniqueId, ComponentTypeEnum.PRODUCT); assertTrue(deleteResourceInstanceResponse.getErrorCode() == STATUS_CODE_NOT_FOUND); ArrayList<String> varibales = new ArrayList<String>(); varibales.add(""); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PRODUCT_NOT_FOUND.name(), varibales, - deleteResourceInstanceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PRODUCT_NOT_FOUND.name(), varibales, deleteResourceInstanceResponse.getResponse()); getComponentAndValidateRIs(productDetails_01, 2, 0); } @Test public void deleteNonExistingServiceInstanceFromProduct() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); // String serviceInstanceUniqueId = // ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); - RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncPmDetails1, - productDetails_01.getUniqueId(), "1234567890123456unExistingServiceInstance", - ComponentTypeEnum.PRODUCT); + RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncPmDetails1, productDetails_01.getUniqueId(), "1234567890123456unExistingServiceInstance", ComponentTypeEnum.PRODUCT); assertTrue(deleteResourceInstanceResponse.getErrorCode() == STATUS_CODE_NOT_FOUND); ArrayList<String> varibales = new ArrayList<String>(); varibales.add("1234567890123456unExistingServiceInstance"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PRODUCT_NOT_FOUND.name(), varibales, - deleteResourceInstanceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.PRODUCT_NOT_FOUND.name(), varibales, deleteResourceInstanceResponse.getResponse()); getComponentAndValidateRIs(productDetails_01, 2, 0); } @Test public void deleteServiceInstanceFromNonSupportedComponentType() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); - RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncPmDetails1, - productDetails_01.getUniqueId(), serviceInstanceUniqueId, ComponentTypeEnum.RESOURCE_INSTANCE); + RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncPmDetails1, productDetails_01.getUniqueId(), serviceInstanceUniqueId, ComponentTypeEnum.RESOURCE_INSTANCE); assertTrue(deleteResourceInstanceResponse.getErrorCode() == STATUS_CODE_UNSUPPORTED_ERROR); ArrayList<String> varibales = new ArrayList<String>(); varibales.add("null"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.UNSUPPORTED_ERROR.name(), varibales, - deleteResourceInstanceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.UNSUPPORTED_ERROR.name(), varibales, deleteResourceInstanceResponse.getResponse()); getComponentAndValidateRIs(productDetails_01, 2, 0); } @Test public void deleteServiceInstanceComponentTypeIsNotProduct() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); - RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncPmDetails1, - productDetails_01.getUniqueId(), serviceInstanceUniqueId, ComponentTypeEnum.SERVICE); + RestResponse deleteResourceInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncPmDetails1, productDetails_01.getUniqueId(), serviceInstanceUniqueId, ComponentTypeEnum.SERVICE); assertTrue(deleteResourceInstanceResponse.getErrorCode() == STATUS_CODE_NOT_FOUND); ArrayList<String> varibales = new ArrayList<String>(); varibales.add(""); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.SERVICE_NOT_FOUND.name(), varibales, - deleteResourceInstanceResponse.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.SERVICE_NOT_FOUND.name(), varibales, deleteResourceInstanceResponse.getResponse()); getComponentAndValidateRIs(productDetails_01, 2, 0); } @@ -1264,31 +1028,26 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest public void deleteServiceInstanceUserIdIsEmpty() throws Exception { User nonSdncDetails = ElementFactory.getDefaultUser(UserRoleEnum.TESTER); nonSdncDetails.setUserId(""); - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 1, 0); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - nonSdncDetails); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, nonSdncDetails); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_MISSING_INFORMATION); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_INFORMATION.name(), new ArrayList<String>(), - deleteServiceInstanceResp.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.MISSING_INFORMATION.name(), new ArrayList<String>(), deleteServiceInstanceResp.getResponse()); getComponentAndValidateRIs(productDetails_01, 1, 0); } @Test public void deleteCertifiedServiceInstance() throws Exception { changeServiceStateToCertified(serviceDetails_01); - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_02, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 2, 0); - RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, - sdncPmDetails1); + RestResponse deleteServiceInstanceResp = deleteServiceInstance(serviceInstanceUniqueId, productDetails_01, sdncPmDetails1); assertTrue(deleteServiceInstanceResp.getErrorCode() == STATUS_CODE_SUCCESS_DELETE); getComponentAndValidateRIs(productDetails_01, 1, 0); } @@ -1296,18 +1055,15 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest //////////////////////////////////// private void certifyVf(ResourceReqDetails resource) throws Exception { - RestResponse createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resource, resourceDetailsCP_01, - sdncDesignerDetails); + RestResponse createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resource, resourceDetailsCP_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance); String cpCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance); - createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resource, resourceDetailsVFC_02, - sdncDesignerDetails); + createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resource, resourceDetailsVFC_02, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance); String computeCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance); - createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resource, resourceDetailsVL_01, - sdncDesignerDetails); + createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resource, resourceDetailsVL_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance); String vlCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance); @@ -1317,35 +1073,29 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest fulfillCpRequirement(resource, cpCompInstId, computeCompInstId, computeCompInstId, user, containerCompType); consumeVlCapability(resource, cpCompInstId, vlCompInstId, cpCompInstId, user, containerCompType); - RestResponse response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, - sdncDesignerDetails, resource.getUniqueId()); + RestResponse response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails, resource.getUniqueId()); ResourceRestUtils.checkSuccess(response); RestResponse changeResourceStateToCertified = changeResourceStateToCertified(resource); ResourceRestUtils.checkSuccess(changeResourceStateToCertified); } private RestResponse changeResourceStateToCertified(ResourceReqDetails resourceDetails) throws Exception { - RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails, - LifeCycleStatesEnum.CHECKIN); + RestResponse restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse); - restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails, - LifeCycleStatesEnum.CERTIFICATIONREQUEST); + restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncDesignerDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); if (restResponse.getErrorCode() == 200) { - restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncTesterDetails, - LifeCycleStatesEnum.STARTCERTIFICATION); + restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncTesterDetails, LifeCycleStatesEnum.STARTCERTIFICATION); } else return restResponse; if (restResponse.getErrorCode() == 200) { - restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncTesterDetails, - LifeCycleStatesEnum.CERTIFY); + restResponse = LifecycleRestUtils.changeResourceState(resourceDetails, sdncTesterDetails, LifeCycleStatesEnum.CERTIFY); if (restResponse.getErrorCode() == 200) { String newVersion = ResponseParser.getVersionFromResponse(restResponse); resourceDetails.setVersion(newVersion); resourceDetails.setLifecycleState(LifecycleStateEnum.CERTIFIED); resourceDetails.setLastUpdaterUserId(sdncTesterDetails.getUserId()); resourceDetails.setLastUpdaterFullName(sdncTesterDetails.getFullName()); - String uniqueIdFromRresponse = ResponseParser.getValueFromJsonResponse(restResponse.getResponse(), - "uniqueId"); + String uniqueIdFromRresponse = ResponseParser.getValueFromJsonResponse(restResponse.getResponse(), "uniqueId"); resourceDetails.setUniqueId(uniqueIdFromRresponse); } } @@ -1354,28 +1104,21 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest private RestResponse changeServiceStateToCertified(ServiceReqDetails serviceDetails) throws Exception { /* - * RestResponse restResponse = - * LifecycleRestUtils.changeServiceState(serviceDetails, - * sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN); - * ResourceRestUtils.checkSuccess(restResponse); + * RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN); ResourceRestUtils.checkSuccess(restResponse); */ - RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, - LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); if (restResponse.getErrorCode() == 200) { - restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncTesterDetails, - LifeCycleStatesEnum.STARTCERTIFICATION); + restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncTesterDetails, LifeCycleStatesEnum.STARTCERTIFICATION); } else return restResponse; if (restResponse.getErrorCode() == 200) { - restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncTesterDetails, - LifeCycleStatesEnum.CERTIFY); + restResponse = LifecycleRestUtils.changeServiceState(serviceDetails, sdncTesterDetails, LifeCycleStatesEnum.CERTIFY); if (restResponse.getErrorCode() == 200) { serviceDetails.setVersion("1.0"); serviceDetails.setLifecycleState(LifecycleStateEnum.CERTIFIED); serviceDetails.setLastUpdaterUserId(sdncTesterDetails.getUserId()); serviceDetails.setLastUpdaterFullName(sdncTesterDetails.getFullName()); - String uniqueIdFromRresponse = ResponseParser.getValueFromJsonResponse(restResponse.getResponse(), - "uniqueId"); + String uniqueIdFromRresponse = ResponseParser.getValueFromJsonResponse(restResponse.getResponse(), "uniqueId"); serviceDetails.setUniqueId(uniqueIdFromRresponse); } } @@ -1384,8 +1127,7 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void deleteServiceInstanceTest() throws Exception { - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); getComponentAndValidateRIs(productDetails_01, 1, 0); String compInstId = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); @@ -1408,14 +1150,12 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest public void returnedServiceInstanceTypeAttributeTest() throws Exception { String expectedServiceType = ComponentTypeEnum.SERVICE.getValue().toUpperCase(); - RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, - sdncPmDetails1); + RestResponse createServiceInstanceResp = createServiceInstance(productDetails_01, serviceDetails_01, sdncPmDetails1); ResourceRestUtils.checkCreateResponse(createServiceInstanceResp); String serviceUniqueIdFromResponse = ResponseParser.getUniqueIdFromResponse(createServiceInstanceResp); ComponentInstanceRestUtils.checkComponentInstanceType(createServiceInstanceResp, expectedServiceType); - RestResponse getProductResp = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), - sdncPsDetails1.getUserId()); + RestResponse getProductResp = ProductRestUtils.getProduct(productDetails_01.getUniqueId(), sdncPsDetails1.getUserId()); ProductRestUtils.checkSuccess(getProductResp); Product productObject = ResponseParser.parseToObjectUsingMapper(getProductResp.getResponse(), Product.class); List<ComponentInstance> productComponentInstances = productObject.getComponentInstances(); @@ -1424,12 +1164,10 @@ public class ProductComponentInstanceCRUDTest extends ComponentInstanceBaseTest assertTrue(expectedServiceType.equals(actualOriginType)); } - ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(serviceDetails_02); + ComponentInstanceReqDetails serviceInstanceReqDetails = ElementFactory.getComponentResourceInstance(serviceDetails_02); serviceInstanceReqDetails.setUniqueId(serviceUniqueIdFromResponse); serviceInstanceReqDetails.setComponentUid(serviceDetails_01.getUniqueId()); - RestResponse updateResourceInstance = ComponentInstanceRestUtils.updateComponentInstance( - serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); + RestResponse updateResourceInstance = ComponentInstanceRestUtils.updateComponentInstance(serviceInstanceReqDetails, sdncPmDetails1, productDetails_01.getUniqueId(), ComponentTypeEnum.PRODUCT); ComponentInstanceRestUtils.checkSuccess(updateResourceInstance); ComponentInstanceRestUtils.checkComponentInstanceType(updateResourceInstance, expectedServiceType); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCreateWithValidationsTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCreateWithValidationsTest.java index d2c2dfe77f..7ac24bdd69 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCreateWithValidationsTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCreateWithValidationsTest.java @@ -38,6 +38,7 @@ import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum; import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedProductAudit; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; import org.openecomp.sdc.ci.tests.utils.DbUtils; +import org.openecomp.sdc.ci.tests.utils.Utils; import org.openecomp.sdc.ci.tests.utils.general.Convertor; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCrudTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCrudTest.java index f234708b7a..d91391d967 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCrudTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductCrudTest.java @@ -34,10 +34,13 @@ import org.junit.rules.TestName; import org.openecomp.sdc.be.dao.api.ActionStatus; import org.openecomp.sdc.be.model.LifecycleStateEnum; import org.openecomp.sdc.be.model.Product; +import org.openecomp.sdc.be.model.Resource; import org.openecomp.sdc.be.model.User; import org.openecomp.sdc.be.model.category.CategoryDefinition; import org.openecomp.sdc.ci.tests.api.Urls; import org.openecomp.sdc.ci.tests.datatypes.ProductReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ResourceRespJavaObject; import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum; import org.openecomp.sdc.ci.tests.datatypes.expected.ExpectedProductAudit; @@ -49,10 +52,13 @@ import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.CatalogRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.ProductRestUtils; +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.AuditValidationUtils; import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils; import org.openecomp.sdc.ci.tests.utils.validation.ProductValidationUtils; +import org.openecomp.sdc.ci.tests.utils.validation.ResourceValidationUtils; import org.openecomp.sdc.common.api.Constants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -310,7 +316,7 @@ public class ProductCrudTest extends ProductBaseTest { productManager1.setUserId(null); RestResponse getProductRes = ProductRestUtils.getProduct(productReqDetails.getUniqueId(), productManager1.getUserId()); - assertEquals("Check response code after getting created Producuct with userId extracted from header", BaseRestUtils.STATUS_CODE_MISSING_INFORMATION, getProductRes.getErrorCode().intValue()); + assertEquals("Check response code after getting created Producuct with UserId extracted from header", BaseRestUtils.STATUS_CODE_MISSING_INFORMATION, getProductRes.getErrorCode().intValue()); } @@ -337,8 +343,8 @@ public class ProductCrudTest extends ProductBaseTest { // US594753 - Update Product metadata - // If user update Product Name we need to remove the old product name from - // Tags and add the new product name instead - will be handled in new US + // If user update "product name" we need to remove the old product name from + // "Tags" and add the new product name instead - will handled in mew US @Test(enabled = false) public void updateProductAllFieldsByPM() throws Exception { createProducrByPSAndCheckIn(); @@ -558,8 +564,8 @@ public class ProductCrudTest extends ProductBaseTest { ProductValidationUtils.compareExpectedAndActualProducts(expectedProduct, actualProduct, ComponentOperationEnum.UPDATE_COMPONENT); } - // If user update Product Name we need to remove the old product name from - // Tags and add the new product name instead - will be handled in new US + // If user update "product name" we need to remove the old product name from + // "Tags" and add the new product name instead - will handled in mew US @Test(enabled = false) public void updateProductNameHasMinLength() throws Exception { createProducrByPSAndCheckIn(); @@ -581,8 +587,8 @@ public class ProductCrudTest extends ProductBaseTest { ProductValidationUtils.compareExpectedAndActualProducts(expectedProduct, actualProduct, ComponentOperationEnum.UPDATE_COMPONENT); } - // If user update Product Name we need to remove the old product name from - // Tags and add the new product name instead - will be handled in new US + // If user update "product name" we need to remove the old product name from + // "Tags" and add the new product name instead - will handled in mew US // DE193857 - Normalized Name is not removing special characters @Test(enabled = false) public void updateProductNameMaxLength() throws Exception { @@ -641,7 +647,7 @@ public class ProductCrudTest extends ProductBaseTest { Product product1 = ResponseParser.parseToObjectUsingMapper(createProduct.getResponse(), Product.class); RestResponse changeProductLifeCycle = ProductRestUtils.changeProductLifeCycle(product1, productManager2, LifeCycleStatesEnum.CHECKIN); ProductRestUtils.checkSuccess(changeProductLifeCycle); - productReqDetails.setName("CiProduct2000"); + productReqDetails.setName("Product2000"); // productReqDetails.setTags(Arrays.asList(productReqDetails.getName())); createProduct = ProductRestUtils.createProduct(productReqDetails, productManager2); ProductRestUtils.checkCreateResponse(createProduct); @@ -670,8 +676,8 @@ public class ProductCrudTest extends ProductBaseTest { } // DE193857 - Normalized Name is not removing special characters - // If user update Product Name we need to remove the old product name from - // Tags and add the new product name instead - will be handled in new US + // If user update "product name" we need to remove the old product name from + // "Tags" and add the new product name instead - will handled in mew US @Test(enabled = false) public void updateProductNameAllowedCharacters() throws Exception { createProducrByPSAndCheckIn(); @@ -686,7 +692,7 @@ public class ProductCrudTest extends ProductBaseTest { // , ‘ ‘ // (space), // ampersand - // dash + // "&", dash // “-“, plus // "+", period // ".", @@ -697,7 +703,7 @@ public class ProductCrudTest extends ProductBaseTest { // ":", at "@", // and // underscore - // + // "_" String newNormalizedName = "abu4km&kobujuggp"; String newName = "A_BU4k M&K=o#b-u.j-uG'g+P"; RestResponse updateProduct = ProductRestUtils.updateProduct(productReqDetails, productManager1); @@ -714,8 +720,8 @@ public class ProductCrudTest extends ProductBaseTest { ProductValidationUtils.compareExpectedAndActualProducts(expectedProduct, actualProduct, ComponentOperationEnum.UPDATE_COMPONENT); } - // If user update Product Name we need to remove the old product name from - // Tags and add the new product name instead - will be handled in new US + // If user update "product name" we need to remove the old product name from + // "Tags" and add the new product name instead - will handled in mew US @Test(enabled = false) public void updateProductNameRemoveSpaceFromBeginning() throws Exception { createProducrByPSAndCheckIn(); @@ -741,8 +747,8 @@ public class ProductCrudTest extends ProductBaseTest { ProductValidationUtils.compareExpectedAndActualProducts(expectedProduct, actualProduct, ComponentOperationEnum.UPDATE_COMPONENT); } - // If user update Product Name we need to remove the old product name from - // Tags and add the new product name instead - will be handled in new US + // If user update "product name" we need to remove the old product name from + // "Tags" and add the new product name instead - will handled in mew US @Test(enabled = false) public void updateProductNameRemoveSpaceFromEnd() throws Exception { createProducrByPSAndCheckIn(); @@ -769,8 +775,8 @@ public class ProductCrudTest extends ProductBaseTest { } //// DE193857 - Normalized Name is not removing special characters - // If user update Product Name we need to remove the old product name from - // Tags and add the new product name instead - will be handled in new US + // If user update "product name" we need to remove the old product name from + //// "Tags" and add the new product name instead - will handled in mew US @Test(enabled = false) public void updateProductNameRemoveExtraNonAlphanumericChars() throws Exception { createProducrByPSAndCheckIn(); @@ -796,8 +802,8 @@ public class ProductCrudTest extends ProductBaseTest { ProductValidationUtils.compareExpectedAndActualProducts(expectedProduct, actualProduct, ComponentOperationEnum.UPDATE_COMPONENT); } - // If user update Product Name we need to remove the old product name from - // Tags and add the new product name instead - will be handled in new US + // If user update "product name" we need to remove the old product name from + // "Tags" and add the new product name instead - will handled in mew US @Test(enabled = false) public void updateProductNameValidationStartWithNumber() throws Exception { createProducrByPSAndCheckIn(); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductLifecycleTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductLifecycleTest.java index 8c3409342b..26bb3e29e9 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductLifecycleTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/product/ProductLifecycleTest.java @@ -48,7 +48,8 @@ public abstract class ProductLifecycleTest extends ProductBaseTest { public void init() throws Exception { ProductReqDetails defaultProduct = ElementFactory.getDefaultProduct(defaultCategories); RestResponse createProduct = ProductRestUtils.createProduct(defaultProduct, productManager1); - assertEquals("Check response code after create Product", BaseRestUtils.STATUS_CODE_CREATED, createProduct.getErrorCode().intValue()); + assertEquals("Check response code after create Product", BaseRestUtils.STATUS_CODE_CREATED, + createProduct.getErrorCode().intValue()); expectedProduct = ResponseParser.parseToObjectUsingMapper(createProduct.getResponse(), Product.class); } } diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/AdditionalInformationServletTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/AdditionalInformationServletTest.java index 303be77f92..1cf16978e4 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/AdditionalInformationServletTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/AdditionalInformationServletTest.java @@ -35,8 +35,8 @@ import java.util.Map; import org.json.simple.parser.JSONParser; import org.junit.Rule; import org.junit.rules.TestName; +import org.openecomp.sdc.be.datatypes.elements.AdditionalInfoParameterInfo; import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; -import org.openecomp.sdc.be.model.AdditionalInfoParameterInfo; import org.openecomp.sdc.be.model.AdditionalInformationDefinition; import org.openecomp.sdc.be.model.PropertyConstraint; import org.openecomp.sdc.be.model.Resource; @@ -1459,7 +1459,7 @@ public class AdditionalInformationServletTest extends ComponentBaseTest { assertEquals("check returned id", fromJson.getUniqueId(), updatedJson.getUniqueId()); fromJson.setKey(updatedKey); - fromJson.setValue(""); + fromJson.setValue("\uC2B5"); updatedProperty = updateServiceAdditionalInformation(serviceId, fromJson, user, fromJson.getUniqueId()); assertNotNull("check response object is not null after update additional information", updatedProperty); @@ -1990,7 +1990,7 @@ public class AdditionalInformationServletTest extends ComponentBaseTest { assertEquals("Check response code after create resource", 201, createResourceResponse.getErrorCode().intValue()); String key = "AAA AAA"; - String value = ""; + String value = "\uC2B5"; AdditionalInfoParameterInfo additionalInfoParameterInfo = new AdditionalInfoParameterInfo(null, key, value); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentInstancePropertyTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentInstancePropertyTest.java index 6ba1b2ccca..c9aa44a6c0 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentInstancePropertyTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentInstancePropertyTest.java @@ -25,16 +25,19 @@ import static org.testng.AssertJUnit.assertTrue; import java.util.ArrayList; import java.util.List; +import org.apache.http.HttpStatus; import org.junit.Rule; import org.junit.rules.TestName; import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; import org.openecomp.sdc.be.model.ComponentInstance; import org.openecomp.sdc.be.model.ComponentInstanceProperty; +import org.openecomp.sdc.be.model.PropertyDefinition.PropertyNames; import org.openecomp.sdc.be.model.Resource; import org.openecomp.sdc.be.model.Service; import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; import org.openecomp.sdc.ci.tests.datatypes.PropertyReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; 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.PropertyTypeEnum; @@ -46,6 +49,9 @@ import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; 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.PropertyRestUtils; +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.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -96,11 +102,9 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { // first res basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); // second resource - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); // third resource - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); // verify property vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, actualPropertyList); @@ -115,23 +119,17 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { public void nestedVfResourceProperty3Levels() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, expectedPropertyList); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); // verify property vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, actualPropertyList, null); @@ -142,18 +140,14 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { public void nestedVfResourceProperty3LevelsAndCpWithProp() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, expectedPropertyList); // four resource - Resource cp = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.CP, - NormativeTypesEnum.NETWORK, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left() - .value(); + Resource cp = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.CP, NormativeTypesEnum.NETWORK, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left().value(); PropertyReqDetails cpStringProperty = ElementFactory.getDefaultStringProperty(); cpStringProperty.setName("Different Name"); cpStringProperty.setPropertyDefaultValue("Different value from default"); @@ -162,19 +156,13 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { cp = AtomicOperationUtils.getResourceObject(cp, UserRoleEnum.DESIGNER); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(cp, expectedPropertyList); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(cp, vfResource, UserRoleEnum.DESIGNER, true).left().value(); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(cp, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, cp, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, cp, expectedPropertyList, vfResource); // verify property vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, actualPropertyList, null); @@ -184,28 +172,21 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { @Test public void nestedCertifiedVfResourceProperty3Levels() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CERTIFY, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CERTIFY, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, expectedPropertyList); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); // verify property vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); AtomicOperationUtils.changeComponentState(vfResource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, actualPropertyList, null); PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); } @@ -214,31 +195,22 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { public void nestedVfResourceProperty3Levels2SameResInstances() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, expectedPropertyList); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, expectedPropertyList); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); // verify property - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, actualPropertyList, null); PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); @@ -250,32 +222,23 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { @Test public void nestedVfResourceProperty3LevelsUpdateFirstLevelProperty() throws Exception { // first res - basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, - NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left() - .value(); - Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils - .addDefaultPropertyToResource(PropertyTypeEnum.STRING, basicVFC, UserRoleEnum.DESIGNER, true); + basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left().value(); + Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils.addDefaultPropertyToResource(PropertyTypeEnum.STRING, basicVFC, UserRoleEnum.DESIGNER, true); String propNameToUpdate = propDetailsToUpdate.left().value().getName(); String propTypeToUpdate = propDetailsToUpdate.left().value().getType(); AtomicOperationUtils.changeComponentState(basicVFC, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, expectedPropertyList); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, actualPropertyList, null); @@ -284,25 +247,19 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); // update property - ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils - .getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); + ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils.getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); expectedUpdatePropDetails.setValue(updatedStringValue); String propUniqeId = expectedUpdatePropDetails.getUniqueId(); - RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils - .updatePropertyValueOnResourceInstance(vfResource, componentInstDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); - assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, - updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils.updatePropertyValueOnResourceInstance(vfResource, componentInstDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); + assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); actualPropertyList = new ArrayList<>(); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, actualPropertyList, null); - ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils - .getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); - assertTrue("property was not updated propely", - PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); + ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils.getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); + assertTrue("property was not updated propely", PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); } @@ -311,31 +268,22 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); // second resource - vfc1FromBasicVFC = AtomicOperationUtils.createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, - basicVFC, ResourceCategoryEnum.APPLICATION_L4_BORDER, UserRoleEnum.DESIGNER, true).left().value(); - Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils - .addCustomPropertyToResource(ElementFactory.getDefaultIntegerProperty(), vfc1FromBasicVFC, - UserRoleEnum.DESIGNER, true); + vfc1FromBasicVFC = AtomicOperationUtils.createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, basicVFC, ResourceCategoryEnum.APPLICATION_L4_BORDER, UserRoleEnum.DESIGNER, true).left().value(); + Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils.addCustomPropertyToResource(ElementFactory.getDefaultIntegerProperty(), vfc1FromBasicVFC, UserRoleEnum.DESIGNER, true); String propNameToUpdate = propDetailsToUpdate.left().value().getName(); String propTypeToUpdate = propDetailsToUpdate.left().value().getType(); - AtomicOperationUtils.changeComponentState(vfc1FromBasicVFC, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, - true); + AtomicOperationUtils.changeComponentState(vfc1FromBasicVFC, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, expectedPropertyList); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, actualPropertyList, null); @@ -343,26 +291,19 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); // update property - ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils - .getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); + ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils.getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); expectedUpdatePropDetails.setValue(updatedIntegerValue); String propUniqeId = expectedUpdatePropDetails.getUniqueId(); - RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils - .updatePropertyValueOnResourceInstance(vfResource, componentInstDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); - assertTrue( - "expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS - + " ,but was " + updatePropertyValueOnResourceInstance.getErrorCode(), + RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils.updatePropertyValueOnResourceInstance(vfResource, componentInstDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); + assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS + " ,but was " + updatePropertyValueOnResourceInstance.getErrorCode(), updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); actualPropertyList = new ArrayList<>(); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, actualPropertyList, null); - ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils - .getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); - assertTrue("property was not updated properly", - PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); + ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils.getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); + assertTrue("property was not updated properly", PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); } @@ -370,32 +311,23 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { public void nestedVfResourceProperty3LevelsUpdateThirdLevelProperty() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); // third resource - vfc2FromVfc1 = AtomicOperationUtils.createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, - vfc1FromBasicVFC, ResourceCategoryEnum.GENERIC_DATABASE, UserRoleEnum.DESIGNER, true).left().value(); - Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils - .addCustomPropertyToResource(ElementFactory.getDefaultBooleanProperty(), vfc2FromVfc1, - UserRoleEnum.DESIGNER, true); + vfc2FromVfc1 = AtomicOperationUtils.createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, vfc1FromBasicVFC, ResourceCategoryEnum.GENERIC_DATABASE, UserRoleEnum.DESIGNER, true).left().value(); + Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils.addCustomPropertyToResource(ElementFactory.getDefaultBooleanProperty(), vfc2FromVfc1, UserRoleEnum.DESIGNER, true); String propNameToUpdate = propDetailsToUpdate.left().value().getName(); String propTypeToUpdate = propDetailsToUpdate.left().value().getType(); - AtomicOperationUtils.changeComponentState(vfc2FromVfc1, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, - true); + AtomicOperationUtils.changeComponentState(vfc2FromVfc1, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, expectedPropertyList); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, actualPropertyList, null); @@ -403,24 +335,18 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); // update property - ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils - .getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); + ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils.getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); expectedUpdatePropDetails.setValue(updatedBooleanValue); String propUniqeId = expectedUpdatePropDetails.getUniqueId(); - RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils - .updatePropertyValueOnResourceInstance(vfResource, componentInstDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); - assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, - updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils.updatePropertyValueOnResourceInstance(vfResource, componentInstDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); + assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); actualPropertyList = new ArrayList<>(); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, actualPropertyList, null); - ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils - .getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); - assertTrue("property was not updated propely", - PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); + ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils.getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); + assertTrue("property was not updated propely", PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); } @@ -433,57 +359,41 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { public void serviceWithNestedResourceProperty3Levels() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, expectedPropertyList); - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); AtomicOperationUtils.changeComponentState(vfResource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); } /** - * Service-->VF1(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) - * (p1) + * Service-->VF1(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) (p1) */ @Test public void serviceWithNestedResourceProperty3LevelsAndVfProperty() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, expectedPropertyList); - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); PropertyReqDetails propDetails = ElementFactory.getDefaultBooleanProperty(); propDetails.setName(newBooleanPropName); propDetails.setPropertyDefaultValue(newBooleanPropValue); @@ -501,36 +411,28 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfResource, expectedPropertyList); Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); } /** - * Service-->VF1(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) - * (p1) CP(VF inst) (p5) + * Service-->VF1(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) (p1) CP(VF inst) (p5) */ @Test public void serviceWithNestedResourceProperty3LevelsAndCp() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, expectedPropertyList); // four resource - Resource cp = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.CP, - NormativeTypesEnum.NETWORK, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left() - .value(); + Resource cp = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.CP, NormativeTypesEnum.NETWORK, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left().value(); PropertyReqDetails cpStringProperty = ElementFactory.getDefaultStringProperty(); cpStringProperty.setName("Different Name"); cpStringProperty.setPropertyDefaultValue("Different value from default"); @@ -539,54 +441,40 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { cp = AtomicOperationUtils.getResourceObject(cp, UserRoleEnum.DESIGNER); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(cp, expectedPropertyList); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(cp, vfResource, UserRoleEnum.DESIGNER, true).left().value(); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(cp, vfResource, UserRoleEnum.DESIGNER, true).left().value(); AtomicOperationUtils.changeComponentState(vfResource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, cp, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, cp, expectedPropertyList, vfResource); Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); } /** - * Service-->VF1(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) - * (p1) CP(inst) (p5) + * Service-->VF1(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) (p1) CP(inst) (p5) */ @Test public void serviceWithNestedResourceProperty3LevelsAndCpResInst() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); // expectedPropertyList = // PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, // expectedPropertyList); // four resource - Resource cp = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.CP, - NormativeTypesEnum.NETWORK, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left() - .value(); + Resource cp = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.CP, NormativeTypesEnum.NETWORK, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left().value(); PropertyReqDetails cpStringProperty = ElementFactory.getDefaultStringProperty(); cpStringProperty.setName("Different Name"); cpStringProperty.setPropertyDefaultValue("Different value from default"); @@ -594,75 +482,55 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { AtomicOperationUtils.changeComponentState(cp, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true); cp = AtomicOperationUtils.getResourceObject(cp, UserRoleEnum.DESIGNER); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); AtomicOperationUtils.changeComponentState(vfResource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); // Service expectedPropertyList = new ArrayList<ComponentInstanceProperty>(); actualPropertyList = new ArrayList<ComponentInstanceProperty>(); - expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, - null); + expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, null); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(cp, expectedPropertyList); Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(cp, service, UserRoleEnum.DESIGNER, true).left().value(); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(cp, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); } /** - * Service-->VF1(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) | (p3) (p2) (p1) - * | (VFC(inst)-->VFC-->VFC-->VFC) (p3) (p2) (p1) + * Service-->VF1(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) | (p3) (p2) (p1) | (VFC(inst)-->VFC-->VFC-->VFC) (p3) (p2) (p1) * - * VF2(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) | (p3') (p2') (p1') | - * (VFC(inst)-->VFC-->VFC-->VFC) (p3) (p2) (p1) + * VF2(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) | (p3') (p2') (p1') | (VFC(inst)-->VFC-->VFC-->VFC) (p3) (p2) (p1) */ @Test public void serviceNestedVfResourceProperty3Levels2SameResInstances() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, expectedPropertyList); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, expectedPropertyList); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); // verify property - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, - vfResource); + PropertyRestUtils.updatePropertyListWithPathOnResource(componentInstDetails, vfc2FromVfc1, expectedPropertyList, vfResource); AtomicOperationUtils.changeComponentState(vfResource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, actualPropertyList, null); @@ -671,23 +539,15 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { // Service expectedPropertyList = new ArrayList<ComponentInstanceProperty>(); actualPropertyList = new ArrayList<ComponentInstanceProperty>(); - expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, - null); - expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, - null); + expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, null); + expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, null); Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left() - .value(); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); @@ -696,25 +556,19 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { // service test template /** - * Service-->VF(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) - * (p1) + * Service-->VF(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) (p1) */ @Test public void serviceNestedVfResourceProperty3LevelsAndSelfVfProperty() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); PropertyReqDetails newProp = ElementFactory.getDefaultStringProperty(); newProp.setName(newStringPropName); @@ -726,15 +580,11 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { // Service expectedPropertyList = new ArrayList<ComponentInstanceProperty>(); actualPropertyList = new ArrayList<ComponentInstanceProperty>(); - expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, - null); + expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, null); Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); @@ -745,32 +595,25 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { * update property(p4) * * - * VFC(p1) ^ | VFC(p2) ^ | Service-->VF(inst)-->VF-->(VFC(inst)-->VFC(p3) - * (p4) + * VFC(p1) ^ | VFC(p2) ^ | Service-->VF(inst)-->VF-->(VFC(inst)-->VFC(p3) (p4) */ @Test public void serviceNestedVfResourceProperty3LevelsAndSelfVfProperty_UpdateVfproperty() throws Exception { // Create VFC(check-in state) derived from another resource basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); // add property to VF PropertyReqDetails newProp = ElementFactory.getDefaultStringProperty(); newProp.setName(newStringPropName); newProp.setPropertyDefaultValue(newStringPropValue); - Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils - .addCustomPropertyToResource(newProp, vfResource, UserRoleEnum.DESIGNER, true); + Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils.addCustomPropertyToResource(newProp, vfResource, UserRoleEnum.DESIGNER, true); String propNameToUpdate = propDetailsToUpdate.left().value().getName(); String propTypeToUpdate = propDetailsToUpdate.left().value().getType(); AtomicOperationUtils.changeComponentState(vfResource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true); @@ -779,72 +622,51 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { // Service expectedPropertyList = new ArrayList<ComponentInstanceProperty>(); actualPropertyList = new ArrayList<ComponentInstanceProperty>(); - expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, - null); + expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, null); Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); // update VF instance property - ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils - .getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); + ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils.getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); expectedUpdatePropDetails.setValue(updatedStringValue); String propUniqeId = expectedUpdatePropDetails.getUniqueId(); - RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils - .updatePropertyValueOnResourceInstance(service, componentInstDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); - assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, - updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils.updatePropertyValueOnResourceInstance(service, componentInstDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); + assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); actualPropertyList = new ArrayList<>(); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); - ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils - .getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); - assertTrue("property was not updated propely", - PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); + ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils.getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); + assertTrue("property was not updated propely", PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); } /** - * update property(p1) - * Service-->VF(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) - * (p1) + * update property(p1) Service-->VF(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) (p1) */ @Test - public void serviceNestedVfResourceProperty3LevelsAndSelfVfPropertyUpdateVfInheritance1LevelProperty() - throws Exception { - - basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, - NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left() - .value(); - Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils - .addDefaultPropertyToResource(PropertyTypeEnum.STRING, basicVFC, UserRoleEnum.DESIGNER, true); + public void serviceNestedVfResourceProperty3LevelsAndSelfVfPropertyUpdateVfInheritance1LevelProperty() throws Exception { + + basicVFC = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left().value(); + Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils.addDefaultPropertyToResource(PropertyTypeEnum.STRING, basicVFC, UserRoleEnum.DESIGNER, true); String propNameToUpdate = propDetailsToUpdate.left().value().getName(); String propTypeToUpdate = propDetailsToUpdate.left().value().getType(); AtomicOperationUtils.changeComponentState(basicVFC, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); // verify property PropertyReqDetails newProp = ElementFactory.getDefaultStringProperty(); newProp.setName(newStringPropName); @@ -856,72 +678,51 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { // Service expectedPropertyList = new ArrayList<ComponentInstanceProperty>(); actualPropertyList = new ArrayList<ComponentInstanceProperty>(); - expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, - null); + expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, null); Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); // update VF property - ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils - .getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); + ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils.getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); expectedUpdatePropDetails.setValue(updatedStringValue); String propUniqeId = expectedUpdatePropDetails.getUniqueId(); - RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils - .updatePropertyValueOnResourceInstance(service, componentInstDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); - assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, - updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils.updatePropertyValueOnResourceInstance(service, componentInstDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); + assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); actualPropertyList = new ArrayList<>(); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); - ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils - .getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); - assertTrue("property was not updated propely", - PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); + ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils.getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); + assertTrue("property was not updated propely", PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); } /** - * update property(p2) - * Service-->VF(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) - * (p1) + * update property(p2) Service-->VF(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) (p1) */ @Test - public void serviceNestedVfResourceProperty3LevelsAndSelfVfPropertyUpdateVfInheritance2LevelProperty() - throws Exception { + public void serviceNestedVfResourceProperty3LevelsAndSelfVfPropertyUpdateVfInheritance2LevelProperty() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = AtomicOperationUtils.createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, - basicVFC, ResourceCategoryEnum.APPLICATION_L4_BORDER, UserRoleEnum.DESIGNER, true).left().value(); - Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils - .addCustomPropertyToResource(ElementFactory.getDefaultIntegerProperty(), vfc1FromBasicVFC, - UserRoleEnum.DESIGNER, true); + vfc1FromBasicVFC = AtomicOperationUtils.createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, basicVFC, ResourceCategoryEnum.APPLICATION_L4_BORDER, UserRoleEnum.DESIGNER, true).left().value(); + Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils.addCustomPropertyToResource(ElementFactory.getDefaultIntegerProperty(), vfc1FromBasicVFC, UserRoleEnum.DESIGNER, true); String propNameToUpdate = propDetailsToUpdate.left().value().getName(); String propTypeToUpdate = propDetailsToUpdate.left().value().getType(); - AtomicOperationUtils.changeComponentState(vfc1FromBasicVFC, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, - true); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + AtomicOperationUtils.changeComponentState(vfc1FromBasicVFC, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); // verify property PropertyReqDetails newProp = ElementFactory.getDefaultStringProperty(); @@ -934,70 +735,49 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { // Service expectedPropertyList = new ArrayList<ComponentInstanceProperty>(); actualPropertyList = new ArrayList<ComponentInstanceProperty>(); - expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, - null); + expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, null); Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); // update VF property - ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils - .getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); + ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils.getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); expectedUpdatePropDetails.setValue(updatedIntegerValue); String propUniqeId = expectedUpdatePropDetails.getUniqueId(); - RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils - .updatePropertyValueOnResourceInstance(service, componentInstDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); - assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, - updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils.updatePropertyValueOnResourceInstance(service, componentInstDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); + assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); actualPropertyList = new ArrayList<>(); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); - ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils - .getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); - assertTrue("property was not updated propely", - PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); + ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils.getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); + assertTrue("property was not updated propely", PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); } /** - * update property(p3) - * Service-->VF(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) - * (p1) + * update property(p3) Service-->VF(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) (p1) */ @Test - public void serviceNestedVfResourceProperty3LevelsAndSelfVfPropertyUpdateVfInheritance3LevelProperty() - throws Exception { + public void serviceNestedVfResourceProperty3LevelsAndSelfVfPropertyUpdateVfInheritance3LevelProperty() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = AtomicOperationUtils.createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, - vfc1FromBasicVFC, ResourceCategoryEnum.GENERIC_DATABASE, UserRoleEnum.DESIGNER, true).left().value(); - Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils - .addCustomPropertyToResource(ElementFactory.getDefaultBooleanProperty(), vfc2FromVfc1, - UserRoleEnum.DESIGNER, true); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = AtomicOperationUtils.createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, vfc1FromBasicVFC, ResourceCategoryEnum.GENERIC_DATABASE, UserRoleEnum.DESIGNER, true).left().value(); + Either<ComponentInstanceProperty, RestResponse> propDetailsToUpdate = AtomicOperationUtils.addCustomPropertyToResource(ElementFactory.getDefaultBooleanProperty(), vfc2FromVfc1, UserRoleEnum.DESIGNER, true); String propNameToUpdate = propDetailsToUpdate.left().value().getName(); String propTypeToUpdate = propDetailsToUpdate.left().value().getType(); - AtomicOperationUtils.changeComponentState(vfc2FromVfc1, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, - true); + AtomicOperationUtils.changeComponentState(vfc2FromVfc1, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); // verify property PropertyReqDetails newProp = ElementFactory.getDefaultStringProperty(); newProp.setName(newStringPropName); @@ -1009,64 +789,48 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { // Service expectedPropertyList = new ArrayList<ComponentInstanceProperty>(); actualPropertyList = new ArrayList<ComponentInstanceProperty>(); - expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, - null); + expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, null); Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); PropertyRestUtils.comparePropertyLists(expectedPropertyList, actualPropertyList, false); // update VF property - ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils - .getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); + ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils.getPropFromListByPropNameAndType(actualPropertyList, propNameToUpdate, propTypeToUpdate); expectedUpdatePropDetails.setValue(updatedBooleanValue); String propUniqeId = expectedUpdatePropDetails.getUniqueId(); - RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils - .updatePropertyValueOnResourceInstance(service, componentInstDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); - assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, - updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils.updatePropertyValueOnResourceInstance(service, componentInstDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); + assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); actualPropertyList = new ArrayList<>(); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); - ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils - .getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); - assertTrue("property was not updated propely", - PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); + ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils.getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, null); + assertTrue("property was not updated propely", PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); } /** - * update property p5' - * Service-->VF1(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) - * (p1) CP(inst on VF) (p5) CP(inst) (p5') + * update property p5' Service-->VF1(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) (p1) CP(inst on VF) (p5) CP(inst) (p5') */ @Test public void serviceWithNestedResourceProperty3LevelsAndCpOnVfUpdateCpInstanceOfService() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CHECKIN, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); // expectedPropertyList = // PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, // expectedPropertyList); // four resource - Resource cp = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.CP, - NormativeTypesEnum.NETWORK, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left() - .value(); + Resource cp = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.CP, NormativeTypesEnum.NETWORK, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left().value(); PropertyReqDetails cpStringProperty = ElementFactory.getDefaultStringProperty(); cpStringProperty.setName("Different Name"); cpStringProperty.setPropertyDefaultValue("Different value from default"); @@ -1074,36 +838,26 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { AtomicOperationUtils.changeComponentState(cp, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true); cp = AtomicOperationUtils.getResourceObject(cp, UserRoleEnum.DESIGNER); // create VF + add RI - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(cp, vfResource, UserRoleEnum.DESIGNER, true).left().value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(cp, vfResource, UserRoleEnum.DESIGNER, true).left().value(); AtomicOperationUtils.changeComponentState(vfResource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); // Service expectedPropertyList = new ArrayList<ComponentInstanceProperty>(); actualPropertyList = new ArrayList<ComponentInstanceProperty>(); - expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, - null); + expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, null); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(cp, expectedPropertyList); Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(cp, service, UserRoleEnum.DESIGNER, true).left().value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(cp, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); // service = AtomicOperationUtils.getServiceObject(service, // UserRoleEnum.DESIGNER); @@ -1114,49 +868,37 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { String propTypeToUpdate = "string"; // update CP property - ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils.getCompPropInstListByInstIdAndPropName( - service, componentInstDetails, propNameToUpdate, propTypeToUpdate); + ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils.getCompPropInstListByInstIdAndPropName(service, componentInstDetails, propNameToUpdate, propTypeToUpdate); expectedUpdatePropDetails.setValue(updatedStringValue); String propUniqeId = expectedUpdatePropDetails.getUniqueId(); List<String> path = expectedUpdatePropDetails.getPath(); - RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils - .updatePropertyValueOnResourceInstance(service, componentInstDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); - assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, - updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils.updatePropertyValueOnResourceInstance(service, componentInstDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); + assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); actualPropertyList = new ArrayList<>(); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); - ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils - .getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, path); - assertTrue("property was not updated propely", - PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); + ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils.getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, path); + assertTrue("property was not updated propely", PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); } /** - * update property p5 - * Service-->VF1(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) - * (p1) CP(inst on VF) (p5) CP(inst) (p5') + * update property p5 Service-->VF1(inst)-->VF-->(VFC(inst)-->VFC-->VFC-->VFC) (p4) (p3) (p2) (p1) CP(inst on VF) (p5) CP(inst) (p5') */ @Test public void serviceWithNestedResourceProperty3LevelsAndCpOnVfUpdateCpInstanceOfVf() throws Exception { basicVFC = createResourceWithProperty(ElementFactory.getDefaultStringProperty(), LifeCycleStatesEnum.CERTIFY); - vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource( - ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); - vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), - LifeCycleStatesEnum.CERTIFY, vfc1FromBasicVFC); + vfc1FromBasicVFC = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultIntegerProperty(), LifeCycleStatesEnum.CERTIFY, basicVFC); + vfc2FromVfc1 = createResourceWithPropertyDerivedFromOtherResource(ElementFactory.getDefaultBooleanProperty(), LifeCycleStatesEnum.CERTIFY, vfc1FromBasicVFC); vfc2FromVfc1 = AtomicOperationUtils.getResourceObject(vfc2FromVfc1, UserRoleEnum.DESIGNER); // expectedPropertyList = // PropertyRestUtils.addResourcePropertiesToList(vfc2FromVfc1, // expectedPropertyList); // four resource - Resource cp = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.CP, - NormativeTypesEnum.NETWORK, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left() - .value(); + Resource cp = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.CP, NormativeTypesEnum.NETWORK, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left().value(); PropertyReqDetails cpStringProperty = ElementFactory.getDefaultStringProperty(); cpStringProperty.setName("Different Name"); cpStringProperty.setPropertyDefaultValue("Different value from default"); @@ -1164,36 +906,26 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { AtomicOperationUtils.changeComponentState(cp, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true); // create VF + add RI cp = AtomicOperationUtils.getResourceObject(cp, UserRoleEnum.DESIGNER); - vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left() - .value(); - ComponentInstance componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left() - .value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(cp, vfResource, UserRoleEnum.DESIGNER, true).left().value(); + vfResource = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VF, UserRoleEnum.DESIGNER, true).left().value(); + ComponentInstance componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfc2FromVfc1, vfResource, UserRoleEnum.DESIGNER, true).left().value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(cp, vfResource, UserRoleEnum.DESIGNER, true).left().value(); AtomicOperationUtils.changeComponentState(vfResource, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CHECKIN, true); vfResource = AtomicOperationUtils.getResourceObject(vfResource, UserRoleEnum.DESIGNER); // Service expectedPropertyList = new ArrayList<ComponentInstanceProperty>(); actualPropertyList = new ArrayList<ComponentInstanceProperty>(); - expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, - null); + expectedPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(vfResource, expectedPropertyList, null); expectedPropertyList = PropertyRestUtils.addResourcePropertiesToList(cp, expectedPropertyList); Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left() - .value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vfResource, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); - componentInstDetails = AtomicOperationUtils - .addComponentInstanceToComponentContainer(cp, service, UserRoleEnum.DESIGNER, true).left().value(); + componentInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(cp, service, UserRoleEnum.DESIGNER, true).left().value(); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); - PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, - expectedPropertyList); + PropertyRestUtils.updatePropertyListWithPathOnComponentInstance(componentInstDetails, service, expectedPropertyList); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); @@ -1203,27 +935,61 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { String propTypeToUpdate = "string"; // update CP property - ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils.getCompPropInstListByInstIdAndPropName( - service, componentInstDetails, propNameToUpdate, propTypeToUpdate); + ComponentInstanceProperty expectedUpdatePropDetails = PropertyRestUtils.getCompPropInstListByInstIdAndPropName(service, componentInstDetails, propNameToUpdate, propTypeToUpdate); expectedUpdatePropDetails.setValue(updatedStringValue); String propUniqeId = expectedUpdatePropDetails.getUniqueId(); List<String> path = expectedUpdatePropDetails.getPath(); - RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils - .updatePropertyValueOnResourceInstance(service, componentInstDetails, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); - assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, - updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); + RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils.updatePropertyValueOnResourceInstance(service, componentInstDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), expectedUpdatePropDetails); + assertTrue("expected updatePropertyValueOnResourceInstance response code: " + BaseRestUtils.STATUS_CODE_SUCCESS, updatePropertyValueOnResourceInstance.getErrorCode() == BaseRestUtils.STATUS_CODE_SUCCESS); service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); actualPropertyList = new ArrayList<>(); actualPropertyList = PropertyRestUtils.addComponentInstPropertiesToList(service, actualPropertyList, null); - ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils - .getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, path); - assertTrue("property was not updated propely", - PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); + ComponentInstanceProperty actualUpdatedPropDetails = PropertyRestUtils.getPropFromListByPropIdAndPath(actualPropertyList, propUniqeId, path); + assertTrue("property was not updated propely", PropertyRestUtils.comparePropertyObjects(expectedUpdatePropDetails, actualUpdatedPropDetails, true)); } + + @Test // US833308 + public void serviceWithVLINetworkRoleProperty() throws Exception { + + String propName = PropertyNames.NETWORK_ROLE.getPropertyName(); + String propType = "string"; + String propValue = "myValue"; + + // create service + Service service = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); + Resource vl = AtomicOperationUtils.getResourceObjectByNameAndVersion(UserRoleEnum.DESIGNER, "ExtVL", "1.0"); + // add ExtVL instance + ComponentInstance vlInstDetails = AtomicOperationUtils.addComponentInstanceToComponentContainer(vl, service, UserRoleEnum.DESIGNER, true).left().value(); + // fetch updated service + service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); + + // update ExtVL network_role property value + ComponentInstanceProperty propDetails = PropertyRestUtils.getCompPropInstListByInstIdAndPropName(service, vlInstDetails, propName, propType); + propDetails.setValue(propValue); + RestResponse updatePropertyValueOnResourceInstance = ComponentInstanceRestUtils.updatePropertyValueOnResourceInstance(service, vlInstDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), propDetails); + assertTrue("expected updatePropertyValueOnResourceInstance response code: " + HttpStatus.SC_OK, updatePropertyValueOnResourceInstance.getErrorCode() == HttpStatus.SC_OK); + + service = AtomicOperationUtils.getServiceObject(service, UserRoleEnum.DESIGNER); + // expected property value after update has service systemName prefixed to user defined value. + ComponentInstanceProperty updatedPropDetails = PropertyRestUtils.getCompPropInstListByInstIdAndPropName(service, vlInstDetails, propName, propType); + String generatedValue = service.getSystemName() + "." + propValue; + assertTrue("property value was updated properly", updatedPropDetails.getValue().equals(generatedValue)); + + // update service name + ServiceReqDetails updatedServiceDetails = new ServiceReqDetails(service); + String newServiceName = "ciServiceWithVLIPropertyValueTest"; + updatedServiceDetails.setName(newServiceName); + RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); + service = ResponseParser.convertServiceResponseToJavaObject(updateServiceResponse.getResponse()); + // expected property value after update has service (updated) systemName prefixed to user defined value. + generatedValue = newServiceName + "." + propValue; + updatedPropDetails = PropertyRestUtils.getCompPropInstListByInstIdAndPropName(service, vlInstDetails, propName, propType); + assertTrue("property value was updated properly", updatedPropDetails.getValue().equalsIgnoreCase(generatedValue)); + } + // -------------------Methods-------------------------- public static PropertyDataDefinition convertToPropertyDataDefinitionObject(PropertyReqDetails prop) { @@ -1235,11 +1001,8 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { return propDataDef; } - protected Resource createResourceWithPropertyDerivedFromOtherResource(PropertyReqDetails propertyReqDetails, - LifeCycleStatesEnum state, Resource derivedFromResource) throws Exception { - Resource resource = AtomicOperationUtils.createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, - derivedFromResource, ResourceCategoryEnum.APPLICATION_L4_BORDER, UserRoleEnum.DESIGNER, true).left() - .value(); + protected Resource createResourceWithPropertyDerivedFromOtherResource(PropertyReqDetails propertyReqDetails, LifeCycleStatesEnum state, Resource derivedFromResource) throws Exception { + Resource resource = AtomicOperationUtils.createResourcesByCustomNormativeTypeAndCatregory(ResourceTypeEnum.VFC, derivedFromResource, ResourceCategoryEnum.APPLICATION_L4_BORDER, UserRoleEnum.DESIGNER, true).left().value(); if (propertyReqDetails != null) { AtomicOperationUtils.addCustomPropertyToResource(propertyReqDetails, resource, UserRoleEnum.DESIGNER, true); } @@ -1248,11 +1011,8 @@ public class ComponentInstancePropertyTest extends ComponentBaseTest { // return resource; } - protected Resource createResourceWithProperty(PropertyReqDetails propertyReqDetails, LifeCycleStatesEnum state) - throws Exception { - Resource resource = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, - NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left() - .value(); + protected Resource createResourceWithProperty(PropertyReqDetails propertyReqDetails, LifeCycleStatesEnum state) throws Exception { + Resource resource = AtomicOperationUtils.createResourcesByTypeNormTypeAndCatregory(ResourceTypeEnum.VFC, NormativeTypesEnum.ROOT, ResourceCategoryEnum.GENERIC_ABSTRACT, UserRoleEnum.DESIGNER, true).left().value(); if (propertyReqDetails != null) { AtomicOperationUtils.addCustomPropertyToResource(propertyReqDetails, resource, UserRoleEnum.DESIGNER, true); } diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentProperty.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentProperty.java index e1c4c18270..7ecdcf457f 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentProperty.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/ComponentProperty.java @@ -99,8 +99,8 @@ public class ComponentProperty extends ComponentBaseTest { { "boolean", "[true,,false]", "[true,false]" }, { "boolean", "[true,false,]", "[true,false]" }, { "boolean", "[,true,false]", "[true,false]" }, { "boolean", null, null }, // DE199713 - Default value for property type Boolean should - // support also the following values: true, t , one , 1 , - // false, f , off , 0 + // support also the following values: "true", "t" , "on" , "1" , + // "false", "f" , "off" , "0" { "boolean", "[on,off]", "[true,false]" }, { "boolean", "[ON,OFF]", "[true,false]" }, { "boolean", "[On,Off]", "[true,false]" }, { "boolean", "[yes,no]", "[true,false]" }, { "boolean", "[YES,NO]", "[true,false]" }, { "boolean", "[Yes,No]", "[true,false]" }, diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/PropertyApisTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/PropertyApisTest.java index d1302c8d8c..6a5aeec5c9 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/PropertyApisTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/property/PropertyApisTest.java @@ -28,6 +28,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.log4j.lf5.util.ResourceUtils; import org.json.simple.JSONObject; import org.json.simple.JSONValue; import org.junit.Rule; @@ -45,6 +46,7 @@ import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum; import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; import org.openecomp.sdc.ci.tests.preRequisites.SimpleOneRsrcOneServiceTest; +import org.openecomp.sdc.ci.tests.utils.Utils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.PropertyRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils; @@ -55,6 +57,8 @@ import org.testng.AssertJUnit; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; +import com.google.gson.Gson; + public class PropertyApisTest extends SimpleOneRsrcOneServiceTest { protected static final String RESOURCE_CATEGORY = "Generic/Databases"; @@ -79,10 +83,6 @@ public class PropertyApisTest extends SimpleOneRsrcOneServiceTest { @BeforeMethod public void init() throws Exception { - // //Create user - // sdncDesignerDetails = createUser("tu1234", "Test", "User", - // "tu1234@intl.sdc.com", "DESIGNER"); - // // //Delete resource // // resourceDetails = new ResourceReqDetails(); @@ -117,7 +117,7 @@ public class PropertyApisTest extends SimpleOneRsrcOneServiceTest { // Create property // System.out.println ("---- Create Property (POST) ----"); - String propertyId = UniqueIdBuilder.buildPropertyUniqueId(getResourceId(resourceDetails), property.getName()); + String propertyId = UniqueIdBuilder.buildComponentPropertyUniqueId(getResourceId(resourceDetails), property.getName()); PropertyRestUtils.deleteProperty(getResourceId(resourceDetails), propertyId, sdncDesignerDetails); RestResponse createPropertyResponse = PropertyRestUtils.createProperty(getResourceId(resourceDetails), body, @@ -194,7 +194,7 @@ public class PropertyApisTest extends SimpleOneRsrcOneServiceTest { protected String getPropertyId(ResourceReqDetails resource, PropertyReqDetails property) { // return // resource.getResourceName().toLowerCase()+".0.1."+property.getPropertyName(); - return UniqueIdBuilder.buildPropertyUniqueId(resource.getUniqueId(), property.getName()); + return UniqueIdBuilder.buildComponentPropertyUniqueId(resource.getUniqueId(), property.getName()); } protected String getResourceId(ResourceReqDetails resource) { diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CheckGetResource.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CheckGetResource.java index 85dfe4e13a..0ec6b00fdc 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CheckGetResource.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CheckGetResource.java @@ -25,6 +25,7 @@ import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser; import org.openecomp.sdc.common.util.SerializationUtils; +import org.testng.annotations.Test; import fj.data.Either; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ComponentRelationshipInVfTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ComponentRelationshipInVfTest.java index d05dd1039a..4847491759 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ComponentRelationshipInVfTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ComponentRelationshipInVfTest.java @@ -91,7 +91,7 @@ public class ComponentRelationshipInVfTest extends ComponentBaseTest { designerUser.getUserId(), ResourceTypeEnum.CP.toString()); // resourceType // = // VFC - resourceDetailsCap = ElementFactory.getDefaultResourceByType("MyCompute", NormativeTypesEnum.COMPUTE, + resourceDetailsCap = ElementFactory.getDefaultResourceByType("ciMyCompute", NormativeTypesEnum.COMPUTE, ResourceCategoryEnum.NETWORK_L2_3_ROUTERS, designerUser.getUserId(), ResourceTypeEnum.CP.toString()); // resourceType // = // VFC diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CreateResourceApiTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CreateResourceApiTest.java index a9ed54ef15..f4e51b14d9 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CreateResourceApiTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CreateResourceApiTest.java @@ -23,6 +23,7 @@ package org.openecomp.sdc.ci.tests.execute.resource; 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.util.ArrayList; import java.util.Arrays; @@ -30,13 +31,18 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.validation.constraints.AssertTrue; + +import org.apache.log4j.lf5.util.ResourceUtils; import org.junit.Rule; 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.Component; import org.openecomp.sdc.be.model.LifecycleStateEnum; 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.ComponentBaseTest; import org.openecomp.sdc.ci.tests.api.Urls; @@ -46,6 +52,7 @@ import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ResourceRespJavaObject; import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo; import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; import org.openecomp.sdc.ci.tests.datatypes.enums.NormativeTypesEnum; @@ -58,6 +65,7 @@ import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; import org.openecomp.sdc.ci.tests.utils.DbUtils; import org.openecomp.sdc.ci.tests.utils.Utils; +import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils; import org.openecomp.sdc.ci.tests.utils.general.Convertor; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils; @@ -70,6 +78,7 @@ import org.openecomp.sdc.ci.tests.utils.rest.ServiceRestUtils; import org.openecomp.sdc.ci.tests.utils.validation.AuditValidationUtils; import org.openecomp.sdc.ci.tests.utils.validation.ErrorValidationUtils; import org.openecomp.sdc.ci.tests.utils.validation.ResourceValidationUtils; +import org.openecomp.sdc.ci.tests.utils.validation.ServiceValidationUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.testng.annotations.Test; @@ -884,7 +893,7 @@ public class CreateResourceApiTest extends ComponentBaseTest { ResourceReqDetails resourceDetails = createRandomResource(); - // set null in userId header + // set null in UserId header sdncModifierDetails.setUserId(null); // create resource @@ -1177,6 +1186,19 @@ public class CreateResourceApiTest extends ComponentBaseTest { // init ADMIN user User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN); + + // // set resource details + // String resourceName = "CISCO4"; + // String description = "description"; + // ArrayList<String> resourceTags = new ArrayList<String>(); + // resourceTags.add(resourceName); + // resourceTags.add("tag2"); + // String category = ResourceServiceCategoriesEnum.VOIP.getValue(); + // ArrayList<String> derivedFrom = new ArrayList<String>(); + // derivedFrom.add(NormativeTypesEnum.ROOT.getNormativeName()); + // String vendorName = "Oracle"; + // String vendorRelease = "1.5"; + // String icon = "myICON"; ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); resourceDetails.setTags(Arrays.asList(resourceDetails.getName(), "tag2")); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CustomizationUUIDTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CustomizationUUIDTest.java new file mode 100644 index 0000000000..cd87ea5265 --- /dev/null +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/CustomizationUUIDTest.java @@ -0,0 +1,433 @@ +/*- + * ============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.resource; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.junit.Rule; +import org.junit.rules.TestName; +import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; +import org.openecomp.sdc.be.model.ArtifactDefinition; +import org.openecomp.sdc.be.model.CapabilityDefinition; +import org.openecomp.sdc.be.model.ComponentInstance; +import org.openecomp.sdc.be.model.ComponentInstanceProperty; +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.ComponentBaseTest; +import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; +import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; +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.rest.ArtifactRestUtils; +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.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.testng.annotations.Test; + +public class CustomizationUUIDTest extends ComponentBaseTest { + + @Rule + public static TestName name = new TestName(); + + public CustomizationUUIDTest() { + super(name, CustomizationUUIDTest.class.getName()); + } + + @Test(enabled = true) + public void resourceCustomUUIDTestUpdateMeta() throws Exception { + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + // create resource in checkin status + Resource resource1 = createVfFromCSAR(sdncModifierDetails, "csar_1"); + + RestResponse checkinState = LifecycleRestUtils.changeComponentState(resource1, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); + BaseRestUtils.checkSuccess(checkinState); + + // create service + ServiceReqDetails serviceDetails = ElementFactory.getDefaultService("ciNewtestservice1", ServiceCategoriesEnum.MOBILITY, sdncModifierDetails.getUserId()); + RestResponse createServiceResponse = ServiceRestUtils.createService(serviceDetails, sdncModifierDetails); + ResourceRestUtils.checkCreateResponse(createServiceResponse); + Service service = ResponseParser.parseToObjectUsingMapper(createServiceResponse.getResponse(), Service.class); + + // create instance 1 + ComponentInstanceReqDetails componentInstanceDetails = ElementFactory.getComponentInstance(resource1); + RestResponse createComponentInstance = ComponentInstanceRestUtils.createComponentInstance(componentInstanceDetails, sdncModifierDetails, service); + ResourceRestUtils.checkCreateResponse(createComponentInstance); + + ComponentInstance ci1 = ResponseParser.parseToObjectUsingMapper(createComponentInstance.getResponse(), ComponentInstance.class); + assertNotNull(ci1.getCustomizationUUID()); + String ci1CustUUID = ci1.getCustomizationUUID(); + + // get service with 1 instance + RestResponse getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + List<ComponentInstance> componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + assertEquals(1, componentInstances.size()); + + // change name of instance 1 and check custom UUID + String newCi1Name = "newCi1Name"; + ci1.setName(newCi1Name); + RestResponse updateComponentInstance = ComponentInstanceRestUtils.updateComponentInstance(ci1, sdncModifierDetails, service.getUniqueId(), ComponentTypeEnum.SERVICE); + ResourceRestUtils.checkSuccess(updateComponentInstance); + ComponentInstance ci1AfterChange = ResponseParser.parseToObjectUsingMapper(updateComponentInstance.getResponse(), ComponentInstance.class); + + // must be different + assertFalse(ci1.getCustomizationUUID().equals(ci1AfterChange.getCustomizationUUID())); + + // change position of instance 1 and check UUID + ci1.setPosX("151"); + ci1.setPosY("20"); + updateComponentInstance = ComponentInstanceRestUtils.updateComponentInstance(ci1, sdncModifierDetails, service.getUniqueId(), ComponentTypeEnum.SERVICE); + ResourceRestUtils.checkSuccess(updateComponentInstance); + ci1AfterChange = ResponseParser.parseToObjectUsingMapper(updateComponentInstance.getResponse(), ComponentInstance.class); + // must be same + assertTrue(ci1.getCustomizationUUID().equals(ci1AfterChange.getCustomizationUUID())); + } + + @Test(enabled = true) + public void resourceCustomUUIDPropertyTest() throws Exception { + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + // create resource + Resource resource1 = createVfFromCSAR(sdncModifierDetails, "csar_1"); + + RestResponse checkinState = LifecycleRestUtils.changeComponentState(resource1, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); + BaseRestUtils.checkSuccess(checkinState); + + // 2 create service + ServiceReqDetails serviceDetails = ElementFactory.getDefaultService("ciNewtestservice1", ServiceCategoriesEnum.MOBILITY, sdncModifierDetails.getUserId()); + RestResponse createServiceResponse = ServiceRestUtils.createService(serviceDetails, sdncModifierDetails); + ResourceRestUtils.checkCreateResponse(createServiceResponse); + Service service = ResponseParser.parseToObjectUsingMapper(createServiceResponse.getResponse(), Service.class); + + // create instance + ComponentInstanceReqDetails componentInstanceDetails = ElementFactory.getComponentInstance(resource1); + RestResponse createComponentInstance = ComponentInstanceRestUtils.createComponentInstance(componentInstanceDetails, sdncModifierDetails, service); + ResourceRestUtils.checkCreateResponse(createComponentInstance); + + ComponentInstance ci1 = ResponseParser.parseToObjectUsingMapper(createComponentInstance.getResponse(), ComponentInstance.class); + assertNotNull(ci1.getCustomizationUUID()); + String ci1CustUUID = ci1.getCustomizationUUID(); + + // get service with 1 instance + RestResponse getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + List<ComponentInstance> componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + assertEquals(1, componentInstances.size()); + + // instance property values + Map<String, List<ComponentInstanceProperty>> componentInstancesProperties = service.getComponentInstancesProperties(); + assertNotNull(componentInstancesProperties); + List<ComponentInstanceProperty> listProps = componentInstancesProperties.get(ci1.getUniqueId()); + assertNotNull(listProps); + + ComponentInstanceProperty updatedInstanceProperty = null; + for (ComponentInstanceProperty cip : listProps) { + if (cip.getType().equals("string")) { + updatedInstanceProperty = cip; + break; + } + } + assertNotNull(updatedInstanceProperty); + updatedInstanceProperty.setValue("newValue"); + + RestResponse updatePropRes = ComponentInstanceRestUtils.updatePropertyValueOnResourceInstance(service, ci1, sdncModifierDetails, updatedInstanceProperty); + BaseRestUtils.checkSuccess(updatePropRes); + + getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + ComponentInstance ciAfterUpdateProp = componentInstances.get(0); + + assertFalse(ci1.getCustomizationUUID().equals(ciAfterUpdateProp.getCustomizationUUID())); + } + + @Test(enabled = true) + public void resourceCustomUUIDChangeVersionTest() throws Exception { + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + // create resource in checkin status + Resource resource1 = createVfFromCSAR(sdncModifierDetails, "csar_1"); + + RestResponse checkinState = LifecycleRestUtils.changeComponentState(resource1, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); + BaseRestUtils.checkSuccess(checkinState); + + // create service + ServiceReqDetails serviceDetails = ElementFactory.getDefaultService("ciNewtestservice1", ServiceCategoriesEnum.MOBILITY, sdncModifierDetails.getUserId()); + RestResponse createServiceResponse = ServiceRestUtils.createService(serviceDetails, sdncModifierDetails); + ResourceRestUtils.checkCreateResponse(createServiceResponse); + Service service = ResponseParser.parseToObjectUsingMapper(createServiceResponse.getResponse(), Service.class); + + // create instance 1 + ComponentInstanceReqDetails componentInstanceDetails = ElementFactory.getComponentInstance(resource1); + RestResponse createComponentInstance = ComponentInstanceRestUtils.createComponentInstance(componentInstanceDetails, sdncModifierDetails, service); + ResourceRestUtils.checkCreateResponse(createComponentInstance); + + ComponentInstance ci1 = ResponseParser.parseToObjectUsingMapper(createComponentInstance.getResponse(), ComponentInstance.class); + assertNotNull(ci1.getCustomizationUUID()); + String ci1CustUUID = ci1.getCustomizationUUID(); + + // create 0.2 version of resource( check out and check in) + RestResponse checkoutState = LifecycleRestUtils.changeComponentState(resource1, sdncModifierDetails, LifeCycleStatesEnum.CHECKOUT); + BaseRestUtils.checkSuccess(checkoutState); + resource1 = ResponseParser.parseToObjectUsingMapper(checkoutState.getResponse(), Resource.class); + assertNotNull(resource1); + + checkinState = LifecycleRestUtils.changeComponentState(resource1, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); + BaseRestUtils.checkSuccess(checkinState); + + // change version of instance + RestResponse changeComponentInstanceVersion = ComponentInstanceRestUtils.changeComponentInstanceVersion(service, ci1, resource1, sdncModifierDetails); + BaseRestUtils.checkSuccess(changeComponentInstanceVersion); + RestResponse getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + List<ComponentInstance> componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + assertEquals(1, componentInstances.size()); + assertFalse(ci1CustUUID.equals(componentInstances.get(0).getCustomizationUUID())); + + } + + @Test(enabled = true) + public void resourceCustomUUIDChangeArtifactsTest() throws Exception { + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + // create resource in checkin status + Resource resource1 = createVfFromCSAR(sdncModifierDetails, "csar_1"); + + RestResponse checkinState = LifecycleRestUtils.changeComponentState(resource1, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); + BaseRestUtils.checkSuccess(checkinState); + + // create service + ServiceReqDetails serviceDetails = ElementFactory.getDefaultService("ciNewtestservice1", ServiceCategoriesEnum.MOBILITY, sdncModifierDetails.getUserId()); + RestResponse createServiceResponse = ServiceRestUtils.createService(serviceDetails, sdncModifierDetails); + ResourceRestUtils.checkCreateResponse(createServiceResponse); + Service service = ResponseParser.parseToObjectUsingMapper(createServiceResponse.getResponse(), Service.class); + + // create instance 1 + ComponentInstanceReqDetails componentInstanceDetails = ElementFactory.getComponentInstance(resource1); + RestResponse createComponentInstance = ComponentInstanceRestUtils.createComponentInstance(componentInstanceDetails, sdncModifierDetails, service); + ResourceRestUtils.checkCreateResponse(createComponentInstance); + + ComponentInstance ci1 = ResponseParser.parseToObjectUsingMapper(createComponentInstance.getResponse(), ComponentInstance.class); + assertNotNull(ci1.getCustomizationUUID()); + String lastUUID = ci1.getCustomizationUUID(); + + RestResponse getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + + List<ComponentInstance> componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + assertEquals(1, componentInstances.size()); + ComponentInstance ci = componentInstances.get(0); + Map<String, ArtifactDefinition> deploymentArtifacts = ci.getDeploymentArtifacts(); + assertNotNull(deploymentArtifacts); + // find artifact for update + ArtifactDefinition artifactForUpdate = null; + for (ArtifactDefinition ad : deploymentArtifacts.values()) { + if (ad.getArtifactType().equals("HEAT_ENV")) { + artifactForUpdate = ad; + break; + } + } + + assertNotNull(artifactForUpdate); + // update heat env on instance + RestResponse updateArtifact = ArtifactRestUtils.updateDeploymentArtifactToRI(artifactForUpdate, sdncModifierDetails, ci.getUniqueId(), service.getUniqueId()); + BaseRestUtils.checkSuccess(updateArtifact); + getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + assertFalse(lastUUID.equals(componentInstances.get(0).getCustomizationUUID())); + lastUUID = componentInstances.get(0).getCustomizationUUID(); + + // add artifact to instance + ArtifactReqDetails artifactDetails = ElementFactory.getDefaultArtifact(); + RestResponse addArtifactToResourceInstance = ArtifactRestUtils.addArtifactToResourceInstance(artifactDetails, sdncModifierDetails, ci.getUniqueId(), service.getUniqueId()); + BaseRestUtils.checkSuccess(addArtifactToResourceInstance); + ArtifactDefinition artifactDef = ResponseParser.parseToObjectUsingMapper(addArtifactToResourceInstance.getResponse(), ArtifactDefinition.class); + assertNotNull(artifactDef); + + getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + + componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + assertFalse(lastUUID.equals(componentInstances.get(0).getCustomizationUUID())); + lastUUID = componentInstances.get(0).getCustomizationUUID(); + + //update artifact + //not supported now!!!!! +// artifactDef.setDescription("new description"); +// RestResponse updateArtifactRes = ArtifactRestUtils.updateArtifactToResourceInstance(artifactDef, sdncModifierDetails, ci.getUniqueId(), service.getUniqueId()); +// BaseRestUtils.checkSuccess(updateArtifactRes); +// artifactDef = ResponseParser.parseToObjectUsingMapper(addArtifactToResourceInstance.getResponse(), ArtifactDefinition.class); +// assertNotNull(artifactDef); +// +// getService = ServiceRestUtils.getService(service.getUniqueId()); +// BaseRestUtils.checkSuccess(getService); +// service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); +// +// componentInstances = service.getComponentInstances(); +// assertNotNull(componentInstances); +// assertFalse(lastUUID.equals(componentInstances.get(0).getCustomizationUUID())); +// lastUUID = componentInstances.get(0).getCustomizationUUID(); +// +// //delete artifact +// RestResponse deleteArtifactRes = ArtifactRestUtils.deleteArtifactFromResourceInstance (artifactDef, sdncModifierDetails, ci.getUniqueId(), service.getUniqueId()); +// BaseRestUtils.checkSuccess(deleteArtifactRes); +// getService = ServiceRestUtils.getService(service.getUniqueId()); +// BaseRestUtils.checkSuccess(getService); +// service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); +// +// componentInstances = service.getComponentInstances(); +// assertNotNull(componentInstances); +// assertFalse(lastUUID.equals(componentInstances.get(0).getCustomizationUUID())); + } + + @Test(enabled = true) + public void resourceCustomUUIDRelationTest() throws Exception { + User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); + + // create resource in checkin status + Resource resource = createVfFromCSAR(sdncModifierDetails, "csar_1"); + + RestResponse checkinState = LifecycleRestUtils.changeComponentState(resource, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); + BaseRestUtils.checkSuccess(checkinState); + + // create service + ServiceReqDetails serviceDetails = ElementFactory.getDefaultService("ciNewtestservice1", ServiceCategoriesEnum.MOBILITY, sdncModifierDetails.getUserId()); + RestResponse createServiceResponse = ServiceRestUtils.createService(serviceDetails, sdncModifierDetails); + ResourceRestUtils.checkCreateResponse(createServiceResponse); + Service service = ResponseParser.parseToObjectUsingMapper(createServiceResponse.getResponse(), Service.class); + + // create instance 1 + ComponentInstanceReqDetails componentInstanceDetails = ElementFactory.getComponentInstance(resource); + RestResponse createComponentInstance = ComponentInstanceRestUtils.createComponentInstance(componentInstanceDetails, sdncModifierDetails, service); + ResourceRestUtils.checkCreateResponse(createComponentInstance); + + ComponentInstance ci1 = ResponseParser.parseToObjectUsingMapper(createComponentInstance.getResponse(), ComponentInstance.class); + assertNotNull(ci1.getCustomizationUUID()); + String ci1LastUUID = ci1.getCustomizationUUID(); + + // create instance 2 + createComponentInstance = ComponentInstanceRestUtils.createComponentInstance(componentInstanceDetails, sdncModifierDetails, service); + ResourceRestUtils.checkCreateResponse(createComponentInstance); + + ComponentInstance ci2 = ResponseParser.parseToObjectUsingMapper(createComponentInstance.getResponse(), ComponentInstance.class); + assertNotNull(ci2.getCustomizationUUID()); + String ci2LastUUID = ci2.getCustomizationUUID(); + + // get service with 2 instances + RestResponse getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + List<ComponentInstance> componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + assertEquals(2, componentInstances.size()); + + ComponentInstance ciFrom = componentInstances.get(0); + ComponentInstance ciTo = componentInstances.get(1); + + Map<String, List<RequirementDefinition>> requirements = ciFrom.getRequirements(); + assertNotNull(requirements); + List<RequirementDefinition> listReq = requirements.get("tosca.capabilities.network.Bindable"); + assertNotNull(listReq); + RequirementDefinition req = listReq.get(0); + + + Map<String, List<CapabilityDefinition>> capabilities = ciTo.getCapabilities(); + assertNotNull(capabilities); + List<CapabilityDefinition> listCap = capabilities.get("tosca.capabilities.network.Bindable"); + assertNotNull(listCap); + CapabilityDefinition cap = listCap.get(0); + + List<CapabilityDefinition> capList = new ArrayList<>(); + capList.add(cap); + List<RequirementDefinition> reqList = new ArrayList<>(); + reqList.add(req); + + RequirementCapabilityRelDef relation = ElementFactory.getReqCapRelation(ciFrom.getUniqueId(),ciTo.getUniqueId(), req.getOwnerId(), cap.getOwnerId(), cap.getType(), req.getName(), capList, reqList ); + + RestResponse associateInstances = ComponentInstanceRestUtils.associateInstances(relation, sdncModifierDetails,service.getUniqueId(), ComponentTypeEnum.SERVICE); + ResourceRestUtils.checkSuccess(associateInstances); + + getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + + for ( ComponentInstance ci : componentInstances){ + if ( ci.getUniqueId().equals(ci1.getUniqueId()) ){ + assertFalse( ci1LastUUID.equals(ci.getCustomizationUUID()) ); + ci1LastUUID = ci.getCustomizationUUID(); + }else{ + assertFalse( ci2LastUUID.equals(ci.getCustomizationUUID()) ); + ci2LastUUID = ci.getCustomizationUUID(); + } + } + associateInstances = ComponentInstanceRestUtils.dissociateInstances(relation, sdncModifierDetails,service.getUniqueId(), ComponentTypeEnum.SERVICE); + ResourceRestUtils.checkSuccess(associateInstances); + + getService = ServiceRestUtils.getService(service.getUniqueId()); + BaseRestUtils.checkSuccess(getService); + service = ResponseParser.parseToObjectUsingMapper(getService.getResponse(), Service.class); + componentInstances = service.getComponentInstances(); + assertNotNull(componentInstances); + + for ( ComponentInstance ci : componentInstances){ + if ( ci.getUniqueId().equals(ci1.getUniqueId()) ){ + assertFalse( ci1LastUUID.equals(ci.getCustomizationUUID()) ); + }else{ + assertFalse( ci2LastUUID.equals(ci.getCustomizationUUID()) ); + } + } + } +} diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetAllResourceVersions.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetAllResourceVersions.java index a3372098a0..25c3242d2c 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetAllResourceVersions.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetAllResourceVersions.java @@ -27,6 +27,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Map; +import org.apache.log4j.lf5.util.ResourceUtils; import org.junit.rules.TestName; import org.openecomp.sdc.be.model.Resource; import org.openecomp.sdc.be.model.User; @@ -37,6 +38,7 @@ import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum; 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.DbUtils; +import org.openecomp.sdc.ci.tests.utils.Utils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetResourceNotAbstractApiTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetResourceNotAbstractApiTest.java index ccf6142538..cdb7dc0304 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetResourceNotAbstractApiTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/GetResourceNotAbstractApiTest.java @@ -30,6 +30,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.log4j.lf5.util.ResourceUtils; import org.junit.Rule; import org.junit.rules.TestName; import org.openecomp.sdc.be.model.User; @@ -44,6 +45,7 @@ import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum; import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; import org.openecomp.sdc.ci.tests.execute.imports.ImportGenericResourceCITest; +import org.openecomp.sdc.ci.tests.utils.Utils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils; import org.slf4j.Logger; @@ -119,7 +121,7 @@ public class GetResourceNotAbstractApiTest extends ComponentBaseTest { toFind.add(portUid); boolean removeAll = toFind.removeAll(actualNotAbstarctResourcesUniqueIdArray); - logger.debug("Cannot find resources {}", toFind.toString()); + logger.debug("Cannot find resources {}",toFind.toString()); for (String expectedResource : expectedNotAbstractResourcesUniqueIdArray) { if (false == actualNotAbstarctResourcesUniqueIdArray.contains(expectedResource)) { diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ResourceApiTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ResourceApiTest.java index eac33242ed..feb7b6f42e 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ResourceApiTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ResourceApiTest.java @@ -33,6 +33,7 @@ import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; +import org.apache.log4j.lf5.util.ResourceUtils; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.JSONValue; @@ -108,7 +109,11 @@ public class ResourceApiTest extends ComponentBaseTest { resourceDetails.setIcon(resourceRespJavaObject.getIcon()); resourceDetails.setName(resourceRespJavaObject.getName()); resourceDetails.setDerivedFrom(resourceRespJavaObject.getDerivedFrom()); - + + // ResourceReqDetails resourceDetails = new + // ResourceReqDetails(resourceName, description, resourceTags, category, + // derivedFrom, vendorName, vendorRelease, contactId, null); + Gson gson = new Gson(); String userBodyJson = gson.toJson(resourceDetails); HttpRequest http = new HttpRequest(); @@ -211,7 +216,8 @@ public class ResourceApiTest extends ComponentBaseTest { httpget.addHeader(HttpHeaderEnum.ACCEPT.getValue(), acceptHeaderDate); - httpget.addHeader(HttpHeaderEnum.USER_ID.getValue(), ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId()); + httpget.addHeader(HttpHeaderEnum.USER_ID.getValue(), + ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId()); // System.out.println("Executing request " + // httpget.getRequestLine()); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/SimultaneousApiTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/SimultaneousApiTest.java index de83385029..3002523ccb 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/SimultaneousApiTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/SimultaneousApiTest.java @@ -84,6 +84,28 @@ public class SimultaneousApiTest extends ComponentBaseTest { } + // public void run_() { + // System.out.println("**** Thread started " + threadIndex); + // try { + // UserUtils userUtils = new UserUtils(); + // User userDetails = new User(userFirstName, userLastName, + // httpCspUserId, email, role , 0L); + // RestResponse response = + // userUtils.createUserTowardsCatalogBe(userDetails, + // userUtils.getUserDetailesAdmin()); + // System.out.println("**** Thread " + threadIndex + " create resource + // status " + response.getErrorCode() + " response " + + // response.getResponse()); + //// assertEquals("**** create resource: " + + // createResource.getErrorCode() + " thread " + threadIndex, 201, + // status); + // } catch (Exception e) { + // System.out.println("**** Thread " + threadIndex + " exception " + e); + // } + // countDownLatch.countDown(); + // System.out.println("**** Thread finished " + threadIndex); + // + // } } @Test diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/UpdateResourceMetadataTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/UpdateResourceMetadataTest.java index b61489d12d..da5b469a4f 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/UpdateResourceMetadataTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/UpdateResourceMetadataTest.java @@ -40,6 +40,7 @@ import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; import org.openecomp.sdc.be.model.LifecycleStateEnum; import org.openecomp.sdc.be.model.Resource; import org.openecomp.sdc.be.model.User; +import org.openecomp.sdc.be.model.category.CategoryDefinition; import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; import org.openecomp.sdc.ci.tests.api.Urls; import org.openecomp.sdc.ci.tests.config.Config; @@ -228,7 +229,7 @@ public class UpdateResourceMetadataTest extends ComponentBaseTest { } public char[] getTagInValidFormatChars() throws Exception { - // Tag format is the same as defined for Resource Name : + // Tag format is the same as defined for "Resource Name" : // Allowed characters: Alphanumeric (a-zA-Z0-9), space (' '), underscore // ('_'), dash ('-'), dot ('.') char[] notValidCharsArray = new char[30]; @@ -468,6 +469,7 @@ public class UpdateResourceMetadataTest extends ComponentBaseTest { AssertJUnit.assertTrue(!resourceDetails.getCost().equals(updatedResourceRespJavaObject.getCost())); AssertJUnit.assertTrue(!resourceDetails.getLicenseType().equals(updatedResourceRespJavaObject.getLicenseType())); AssertJUnit.assertTrue(!resourceDetails.getUUID().equals(updatedResourceRespJavaObject.getUUID())); + } protected void parseResponseAndValidate(ResourceReqDetails ResourceDetails, RestResponse restResponse) throws Exception { @@ -591,6 +593,52 @@ public class UpdateResourceMetadataTest extends ComponentBaseTest { } + // @Test + // public void UpdateResourceModifierNotOwnerStateTest() throws Exception { + // + // + // RestResponse restResponse = createResource(sdncModifierDetails, + // resourceDetails); + // String resourceName = resourceDetails.getName(); + // + // // new user parameters + // String userFirstName = "Kot"; + // String userLastName = "Matroskin"; + // String role = "ADMIN"; + // User sdncUserDetails = new User(userFirstName, userLastName, + // httpCspUserId, email, role,null); + // RestResponse deleteUserResponse = userUtils.deleteUser(sdncUserDetails, + // ElementFactory.getDefaultUser(UserRoleEnum.ADMIN)); + // + // RestResponse createUserResponse = UserUtils.createUser(sdncUserDetails, + // ElementFactory.getDefaultUser(UserRoleEnum.ADMIN)); + // + // User updatedSdncModifierDetails = new User(userFirstName, userLastName, + // httpCspUserId, email,role,null); + // ResourceReqDetails updatedResourceDetails = + // defineUpdatedResourse(resourceName); + // RestResponse updatedRestResponse = + // ResourceRestUtils.updateResource(updatedResourceDetails, + // updatedSdncModifierDetails, resourceDetails.getUniqueId(), ""); + // + // // validate response + // assertNotNull("check response object is not null after update resource", + // updatedRestResponse); + // assertNotNull("check error code exists in response after update + // resource", updatedRestResponse.getErrorCode()); + // ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESTRICTED_OPERATION.name(), + // Empty_List, updatedRestResponse.getResponse()); + // + // RestResponse getRestResponse = + // ResourceRestUtils.getResource(sdncModifierDetails, + // resourceDetails.getUniqueId()); + // assertNotNull("check response object is not null after update resource", + // getRestResponse); + // parseResponseAndValidate(resourceDetails, getRestResponse); + // + // + // } + @Test public void UpdateResourceNameSensitiveTest() throws Exception { User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN); @@ -962,7 +1010,7 @@ public class UpdateResourceMetadataTest extends ComponentBaseTest { @Test public void UpdateResourceIcon_resourceVersion_11() throws Exception { - // Can be changed only if major version is 0. + // Can be changed only if major version is "0". User adminModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN); String resourceBaseVersion = "0.1"; @@ -1022,7 +1070,7 @@ public class UpdateResourceMetadataTest extends ComponentBaseTest { @Test public void UpdateResourceVandorName_resourceVersion_11() throws Exception { - // Can be changed only if the major resource version is 0. + // Can be changed only if the major resource version is "0". User adminModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN); String resourceBaseVersion = "0.1"; @@ -1084,7 +1132,7 @@ public class UpdateResourceMetadataTest extends ComponentBaseTest { @Test public void UpdateResourceName_resourceVersion_11() throws Exception { - // Can be changed only if the major resource version is 0. + // Can be changed only if the major resource version is "0". User adminModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN); String resourceBaseVersion = "0.1"; @@ -1139,7 +1187,7 @@ public class UpdateResourceMetadataTest extends ComponentBaseTest { @Test public void UpdateResourceTag_resourceVersion_11() throws Exception { - // Tag Can be updated when major version is 0. + // Tag Can be updated when major version is "0". User adminModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN); String resourceBaseVersion = "0.1"; @@ -1199,7 +1247,7 @@ public class UpdateResourceMetadataTest extends ComponentBaseTest { public void UpdateAllowedParames_resourceVersion_11() throws Exception { // Tag, contactId, vendorRelease,tags And description - Can be also - // updated when major version is NOT 0. + // updated when major version is NOT "0". User adminModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN); String resourceBaseVersion = "0.1"; @@ -1259,7 +1307,7 @@ public class UpdateResourceMetadataTest extends ComponentBaseTest { @Test public void UpdateResourceDerivedFrom_resourceVersion_11() throws Exception { - // DerivedFrom parameter - Can be updated when major version is 0. + // DerivedFrom parameter - Can be updated when major version is "0". User adminModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.ADMIN); String resourceBaseVersion = "0.1"; @@ -1302,7 +1350,7 @@ public class UpdateResourceMetadataTest extends ComponentBaseTest { RestResponse updatedRestResponse = ResourceRestUtils.updateResourceMetadata(updatedResourceDetails, sdncModifierDetails, resourceDetails.getUniqueId(), ""); // validate response List<String> resourceList = new ArrayList<String>(); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.RESOURCE_DERIVED_FROM_CANNOT_BE_CHANGED.name(), resourceList, updatedRestResponse.getResponse()); + ResourceRestUtils.checkSuccess(updatedRestResponse); // get resource with original name. original metadata should be returned RestResponse getRestResponse = ResourceRestUtils.getResource(sdncModifierDetails, resourceDetails.getUniqueId()); @@ -1540,26 +1588,26 @@ public class UpdateResourceMetadataTest extends ComponentBaseTest { @Test public void UpdateResource_contactIdValidation() throws Exception { // [a-zA-Z]{2}[0-9]{3}[a-zA-Z0-9]{1} - // (6 - // characters - // now, - // may - // be - // expanded - // up - // to - // 8 - // characters - // in - // the - // future). - // Convert - // Upper - // case - // character - // to - // lower - // case + // (6 + // characters + // now, + // may + // be + // expanded + // up + // to + // 8 + // characters + // in + // the + // future). + // Convert + // Upper + // case + // character + // to + // lower + // case RestResponse updatedRestResponse; RestResponse restResponse = createResource(sdncModifierDetails, resourceDetails); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/VFResourceInstanceNameCRUD.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/VFResourceInstanceNameCRUD.java index 895390f764..59050103ca 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/VFResourceInstanceNameCRUD.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/VFResourceInstanceNameCRUD.java @@ -57,6 +57,7 @@ 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.validation.ErrorValidationUtils; import org.testng.annotations.BeforeMethod; +import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import com.google.gson.Gson; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ValidateExtendedVfData.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ValidateExtendedVfData.java index 37e7539fd9..8a17c3c115 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ValidateExtendedVfData.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/resource/ValidateExtendedVfData.java @@ -23,6 +23,7 @@ package org.openecomp.sdc.ci.tests.execute.resource; import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertTrue; +import java.io.IOException; import java.util.List; import org.json.simple.JSONArray; @@ -31,6 +32,8 @@ import org.json.simple.JSONValue; import org.junit.Rule; import org.junit.rules.TestName; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; +import org.openecomp.sdc.be.model.ArtifactDefinition; +import org.openecomp.sdc.be.model.Component; import org.openecomp.sdc.be.model.ComponentInstance; import org.openecomp.sdc.be.model.Resource; import org.openecomp.sdc.be.model.User; @@ -43,6 +46,7 @@ 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.UserRoleEnum; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; +import org.openecomp.sdc.ci.tests.execute.lifecycle.LCSbaseTest; import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ChangeServiceDistributionStatusApiTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ChangeServiceDistributionStatusApiTest.java index c8a20cf44a..3d338534d1 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ChangeServiceDistributionStatusApiTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ChangeServiceDistributionStatusApiTest.java @@ -32,6 +32,7 @@ import org.junit.Rule; import org.junit.rules.TestName; import org.openecomp.sdc.be.dao.api.ActionStatus; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; +import org.openecomp.sdc.be.model.ArtifactDefinition; import org.openecomp.sdc.be.model.Component; import org.openecomp.sdc.be.model.DistributionStatusEnum; import org.openecomp.sdc.be.model.LifecycleStateEnum; @@ -44,6 +45,7 @@ import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo; import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; +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.expected.ExpectedResourceAuditJavaObject; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; @@ -59,6 +61,8 @@ import org.openecomp.sdc.ci.tests.utils.validation.ServiceValidationUtils; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; +import fj.data.Either; + public class ChangeServiceDistributionStatusApiTest extends ComponentBaseTest { protected ResourceReqDetails resourceDetails; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/CreateServiceMetadataApiTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/CreateServiceMetadataApiTest.java index 56cfeb54ea..8e95a6d02c 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/CreateServiceMetadataApiTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/CreateServiceMetadataApiTest.java @@ -20,6 +20,7 @@ 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; @@ -36,6 +37,7 @@ import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; import org.openecomp.sdc.be.model.Component; import org.openecomp.sdc.be.model.LifecycleStateEnum; +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.ComponentBaseTest; @@ -47,6 +49,7 @@ import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; import org.openecomp.sdc.ci.tests.datatypes.enums.ErrorInfo; import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; +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.expected.ExpectedResourceAuditJavaObject; import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum; @@ -60,6 +63,7 @@ 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.LifecycleRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.ProductRestUtils; +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.AuditValidationUtils; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetAllServiceVersions.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetAllServiceVersions.java index 760d002856..3460cd6e04 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetAllServiceVersions.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetAllServiceVersions.java @@ -28,6 +28,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.cassandra.transport.Event.SchemaChange.Target; import org.junit.Rule; import org.junit.rules.TestName; import org.openecomp.sdc.be.dao.api.ActionStatus; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetComponentAuditApiTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetComponentAuditApiTest.java index b84728a06c..5642ce4745 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetComponentAuditApiTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetComponentAuditApiTest.java @@ -23,16 +23,21 @@ package org.openecomp.sdc.ci.tests.execute.service; import static org.testng.AssertJUnit.assertTrue; import java.io.IOException; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import org.apache.http.HttpStatus; +import org.apache.log4j.lf5.util.ResourceUtils; import org.junit.Rule; import org.junit.rules.TestName; import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum; import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum; import org.openecomp.sdc.be.model.Resource; import org.openecomp.sdc.be.model.User; +import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum; import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; import org.openecomp.sdc.ci.tests.api.Urls; import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails; @@ -54,12 +59,15 @@ 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.common.api.Constants; +import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum; import org.openecomp.sdc.common.datastructure.Wrapper; import org.testng.AssertJUnit; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; +import com.google.gson.JsonObject; import fj.data.Either; @@ -81,7 +89,8 @@ public class GetComponentAuditApiTest extends ComponentBaseTest { // in case tests fail, run this method as test to create mapping in ES public void updateElasticSearchMapping() throws IOException { - Either<String, Exception> fileContentUTF8 = FileUtils.getFileContentUTF8("src\\test\\resources\\CI\\other\\mapping.json"); + Either<String, Exception> fileContentUTF8 = FileUtils + .getFileContentUTF8("src\\test\\resources\\CI\\other\\mapping.json"); AssertJUnit.assertTrue(fileContentUTF8.isLeft()); final String ES_TEMPLATE_URL = "http://%s:%s/_template/audit_template"; @@ -104,7 +113,8 @@ public class GetComponentAuditApiTest extends ComponentBaseTest { public void testServiceAuditCertifiedVersion() throws Exception { ServiceReqDetails serviceDetails = ElementFactory.getDefaultService(); - Wrapper<String> versionZeroOneIDWrapper = new Wrapper<String>(), versionZeroTwoIDWrapper = new Wrapper<String>(); + Wrapper<String> versionZeroOneIDWrapper = new Wrapper<String>(), + versionZeroTwoIDWrapper = new Wrapper<String>(); createBasicServiceForAudit(versionZeroOneIDWrapper, versionZeroTwoIDWrapper, serviceDetails, true); // First Certification @@ -129,14 +139,35 @@ public class GetComponentAuditApiTest extends ComponentBaseTest { // updates(tosca) + certification request + certification start + // certification success // + 3 A&AI(ArtifactDelete, ArtifactUpload, ArtifactUpdate) - AssertJUnit.assertTrue("expected: 17, actual: " + element.getAsJsonArray().size(), element.getAsJsonArray().size() == 17); + List<String> actions = new ArrayList<>(); + JsonArray jsonArray = element.getAsJsonArray(); + for( int i =0 ; i < jsonArray.size(); i++){ + actions.add(jsonArray.get(i).getAsJsonObject().get(AuditingFieldsKeysEnum.AUDIT_ACTION.getDisplayName()).getAsString()); + } + long checkinCount = actions.stream().filter( e -> e.equals(AuditingActionEnum.CHECKIN_RESOURCE.getName())).count(); + assertTrue(checkinCount == 5); + + long checkOutCount = actions.stream().filter( e -> e.equals(AuditingActionEnum.CHECKOUT_RESOURCE.getName())).count(); + assertTrue(checkOutCount == 4); + + long certificationRequestCount = actions.stream().filter( e -> e.equals(AuditingActionEnum.CERTIFICATION_REQUEST_RESOURCE.getName())).count(); + assertTrue(certificationRequestCount == 1); + + long certificationStartCount = actions.stream().filter( e -> e.equals(AuditingActionEnum.START_CERTIFICATION_RESOURCE.getName())).count(); + assertTrue(certificationStartCount == 1); + + long certificationSuccessCount = actions.stream().filter( e -> e.equals(AuditingActionEnum.CERTIFICATION_SUCCESS_RESOURCE.getName())).count(); + assertTrue(certificationSuccessCount == 1); + } protected void certifyResource(ResourceReqDetails defaultResource) throws IOException { - RestResponse response = LifecycleRestUtils.changeResourceState(defaultResource, sdncDesignerUser, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + RestResponse response = LifecycleRestUtils.changeResourceState(defaultResource, sdncDesignerUser, + LifeCycleStatesEnum.CERTIFICATIONREQUEST); AssertJUnit.assertTrue(response.getErrorCode() == HttpStatus.SC_OK); - response = LifecycleRestUtils.changeResourceState(defaultResource, sdncTesterUser, LifeCycleStatesEnum.STARTCERTIFICATION); + response = LifecycleRestUtils.changeResourceState(defaultResource, sdncTesterUser, + LifeCycleStatesEnum.STARTCERTIFICATION); AssertJUnit.assertTrue(response.getErrorCode() == HttpStatus.SC_OK); response = LifecycleRestUtils.changeResourceState(defaultResource, sdncTesterUser, LifeCycleStatesEnum.CERTIFY); AssertJUnit.assertTrue(response.getErrorCode() == HttpStatus.SC_OK); @@ -148,7 +179,8 @@ public class GetComponentAuditApiTest extends ComponentBaseTest { put(Constants.USER_ID_HEADER, UserRoleEnum.ADMIN.getUserId()); } }; - String url = String.format(Urls.GET_COMPONENT_AUDIT_RECORDS, config.getCatalogBeHost(), config.getCatalogBePort(), componentType, componentId); + String url = String.format(Urls.GET_COMPONENT_AUDIT_RECORDS, config.getCatalogBeHost(), + config.getCatalogBePort(), componentType, componentId); RestResponse httpSendGet = new HttpRequest().httpSendGet(url, headers); AssertJUnit.assertTrue(httpSendGet.getErrorCode() == HttpStatus.SC_OK); @@ -157,7 +189,9 @@ public class GetComponentAuditApiTest extends ComponentBaseTest { return element; } - protected void createBasicServiceForAudit(Wrapper<String> versionZeroOneIDWrapper, Wrapper<String> versionZeroTwoIDWrapper, ServiceReqDetails serviceDetails, Boolean withResInst) throws Exception { + protected void createBasicServiceForAudit(Wrapper<String> versionZeroOneIDWrapper, + Wrapper<String> versionZeroTwoIDWrapper, ServiceReqDetails serviceDetails, Boolean withResInst) + throws Exception { User designerUser = sdncDesignerUser; @@ -166,13 +200,17 @@ public class GetComponentAuditApiTest extends ComponentBaseTest { versionZeroOneIDWrapper.setInnerElement(serviceDetails.getUniqueId()); if (withResInst) { - Resource resourceObj = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value(); - AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceObj, UserRoleEnum.DESIGNER, true, true); - AtomicOperationUtils.changeComponentState(resourceObj, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true); + Resource resourceObj = AtomicOperationUtils + .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value(); + AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceObj, UserRoleEnum.DESIGNER, true, + true); + AtomicOperationUtils.changeComponentState(resourceObj, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, + true); ResourceReqDetails resource = new ResourceReqDetails(resourceObj); ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory.getDefaultComponentInstance(); resourceInstanceReqDetails.setComponentUid(resource.getUniqueId()); - ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, sdncDesignerUser, serviceDetails.getUniqueId(), ComponentTypeEnum.SERVICE); + ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, sdncDesignerUser, + serviceDetails.getUniqueId(), ComponentTypeEnum.SERVICE); // ServiceUtils.createCertResourceWithDeploymentArt(serviceDetails, // "myResource"); @@ -200,14 +238,16 @@ public class GetComponentAuditApiTest extends ComponentBaseTest { } protected void increaseServiceVersion(ServiceReqDetails serviceDetails, String excpectedVersion) throws Exception { - RestResponse response = LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerUser, LifeCycleStatesEnum.CHECKOUT); + RestResponse response = LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerUser, + LifeCycleStatesEnum.CHECKOUT); AssertJUnit.assertTrue(response.getErrorCode() == HttpStatus.SC_OK); AssertJUnit.assertTrue(serviceDetails.getVersion().equals(excpectedVersion)); response = LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerUser, LifeCycleStatesEnum.CHECKIN); AssertJUnit.assertTrue(response.getErrorCode() == HttpStatus.SC_OK); } - protected void createBasicResourceForAudit(Wrapper<String> versionOnePointTwoIDWrapper, ResourceReqDetails defaultResource) throws Exception { + protected void createBasicResourceForAudit(Wrapper<String> versionOnePointTwoIDWrapper, + ResourceReqDetails defaultResource) throws Exception { RestResponse response = ResourceRestUtils.createResource(defaultResource, sdncDesignerUser); AssertJUnit.assertTrue(response.getErrorCode() == HttpStatus.SC_CREATED); @@ -218,11 +258,15 @@ public class GetComponentAuditApiTest extends ComponentBaseTest { // sdncDesignerUser, defaultResource.getVersion(), artifactDef); // assertTrue(response.getErrorCode() == HttpStatus.SC_OK); - ArtifactReqDetails heatArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType()); - response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerUser, defaultResource.getUniqueId()); - AssertJUnit.assertTrue("add HEAT artifact to resource request returned status:" + response.getErrorCode(), response.getErrorCode() == 200); + ArtifactReqDetails heatArtifactDetails = ElementFactory + .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType()); + response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerUser, + defaultResource.getUniqueId()); + AssertJUnit.assertTrue("add HEAT artifact to resource request returned status:" + response.getErrorCode(), + response.getErrorCode() == 200); - response = LifecycleRestUtils.changeResourceState(defaultResource, sdncDesignerUser, LifeCycleStatesEnum.CHECKIN); + response = LifecycleRestUtils.changeResourceState(defaultResource, sdncDesignerUser, + LifeCycleStatesEnum.CHECKIN); increaseResourceVersion(defaultResource, "0.2"); @@ -247,11 +291,14 @@ public class GetComponentAuditApiTest extends ComponentBaseTest { } - protected void increaseResourceVersion(ResourceReqDetails defaultResource, String expectedVersion) throws IOException { - RestResponse response = LifecycleRestUtils.changeResourceState(defaultResource, sdncDesignerUser, LifeCycleStatesEnum.CHECKOUT); + protected void increaseResourceVersion(ResourceReqDetails defaultResource, String expectedVersion) + throws IOException { + RestResponse response = LifecycleRestUtils.changeResourceState(defaultResource, sdncDesignerUser, + LifeCycleStatesEnum.CHECKOUT); AssertJUnit.assertTrue(response.getErrorCode() == HttpStatus.SC_OK); AssertJUnit.assertTrue(defaultResource.getVersion().equals(expectedVersion)); - response = LifecycleRestUtils.changeResourceState(defaultResource, sdncDesignerUser, LifeCycleStatesEnum.CHECKIN); + response = LifecycleRestUtils.changeResourceState(defaultResource, sdncDesignerUser, + LifeCycleStatesEnum.CHECKIN); AssertJUnit.assertTrue(response.getErrorCode() == HttpStatus.SC_OK); } @@ -259,7 +306,8 @@ public class GetComponentAuditApiTest extends ComponentBaseTest { public void testServiceAuditLastUncertifiedVersion() throws Exception { ServiceReqDetails serviceDetails = ElementFactory.getDefaultService(); - Wrapper<String> versionZeroOneIDWrapper = new Wrapper<String>(), versionZeroTwoIDWrapper = new Wrapper<String>(); + Wrapper<String> versionZeroOneIDWrapper = new Wrapper<String>(), + versionZeroTwoIDWrapper = new Wrapper<String>(); createBasicServiceForAudit(versionZeroOneIDWrapper, versionZeroTwoIDWrapper, serviceDetails, false); @@ -273,7 +321,8 @@ public class GetComponentAuditApiTest extends ComponentBaseTest { public void testServiceAuditFirstUncertifiedVersion() throws Exception { ServiceReqDetails serviceDetails = ElementFactory.getDefaultService(); - Wrapper<String> versionZeroOneIDWrapper = new Wrapper<String>(), versionZeroTwoIDWrapper = new Wrapper<String>(); + Wrapper<String> versionZeroOneIDWrapper = new Wrapper<String>(), + versionZeroTwoIDWrapper = new Wrapper<String>(); createBasicServiceForAudit(versionZeroOneIDWrapper, versionZeroTwoIDWrapper, serviceDetails, false); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetServiceLatestVersionTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetServiceLatestVersionTest.java index 19bed4d380..55ecf694ee 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetServiceLatestVersionTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/GetServiceLatestVersionTest.java @@ -46,6 +46,7 @@ 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.Utils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils; diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ServiceComponentInstanceCRUDTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ServiceComponentInstanceCRUDTest.java index b2728ea0da..149febf05c 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ServiceComponentInstanceCRUDTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/ServiceComponentInstanceCRUDTest.java @@ -42,6 +42,7 @@ import org.openecomp.sdc.be.model.RequirementCapabilityRelDef; import org.openecomp.sdc.be.model.RequirementDefinition; import org.openecomp.sdc.be.model.User; import org.openecomp.sdc.ci.tests.api.ComponentInstanceBaseTest; +import org.openecomp.sdc.ci.tests.api.Urls; import org.openecomp.sdc.ci.tests.datatypes.ArtifactReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ComponentInstanceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ComponentReqDetails; @@ -49,8 +50,10 @@ import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; +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.Utils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils; import org.openecomp.sdc.ci.tests.utils.rest.ComponentInstanceRestUtils; @@ -97,12 +100,10 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest createService(serviceDetails_01); certifyResource(resourceDetailsVFC_01); certifyResource(resourceDetailsVFC_02); - RestResponse createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resourceDetailsVF_01, - resourceDetailsVFC_01, sdncDesignerDetails); + RestResponse createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resourceDetailsVF_01, resourceDetailsVFC_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance); reqOwnerId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance); - createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resourceDetailsVF_02, resourceDetailsVFC_02, - sdncDesignerDetails); + createAtomicResourceInstance = createAtomicInstanceForVFDuringSetup(resourceDetailsVF_02, resourceDetailsVFC_02, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance); capOwnerId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance);// should // be @@ -115,103 +116,80 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest } private void certifyResource(ResourceReqDetails resource) throws Exception { - changeResourceLifecycleState(resource, sdncDesignerDetails.getUserId(), - LifeCycleStatesEnum.CERTIFICATIONREQUEST); + changeResourceLifecycleState(resource, sdncDesignerDetails.getUserId(), LifeCycleStatesEnum.CERTIFICATIONREQUEST); changeResourceLifecycleState(resource, sdncTesterDetails.getUserId(), LifeCycleStatesEnum.STARTCERTIFICATION); changeResourceLifecycleState(resource, sdncTesterDetails.getUserId(), LifeCycleStatesEnum.CERTIFY); } - private void changeResourceLifecycleState(ResourceReqDetails resourceDetails, String userUserId, - LifeCycleStatesEnum lifeCycleStates) throws Exception { + private void changeResourceLifecycleState(ResourceReqDetails resourceDetails, String userUserId, LifeCycleStatesEnum lifeCycleStates) throws Exception { RestResponse response = LifecycleRestUtils.changeResourceState(resourceDetails, userUserId, lifeCycleStates); LifecycleRestUtils.checkLCS_Response(response); } - private void changeServiceLifecycleState(ServiceReqDetails serviceDetails, User user, - LifeCycleStatesEnum lifeCycleStates) throws Exception { + private void changeServiceLifecycleState(ServiceReqDetails serviceDetails, User user, LifeCycleStatesEnum lifeCycleStates) throws Exception { RestResponse response = LifecycleRestUtils.changeServiceState(serviceDetails, user, lifeCycleStates); LifecycleRestUtils.checkLCS_Response(response); } - private void createVFInstanceFailWithoutChangeState(ActionStatus actionStatus, List<String> variables, - ResourceReqDetails vfResource, User user, int errorCode) throws Exception { - RestResponse createVFInstanceSuccessfullyWithoutChangeStateResp = createVFInstance(serviceDetails_01, - vfResource, user); + private void createVFInstanceFailWithoutChangeState(ActionStatus actionStatus, List<String> variables, ResourceReqDetails vfResource, User user, int errorCode) throws Exception { + RestResponse createVFInstanceSuccessfullyWithoutChangeStateResp = createVFInstance(serviceDetails_01, vfResource, user); checkErrorMessage(actionStatus, variables, errorCode, createVFInstanceSuccessfullyWithoutChangeStateResp); } - private void createVFInstanceFail(ActionStatus actionStatus, List<String> variables, ResourceReqDetails vfResource, - User user, int errorCode) throws Exception, FileNotFoundException, JSONException { + private void createVFInstanceFail(ActionStatus actionStatus, List<String> variables, ResourceReqDetails vfResource, User user, int errorCode) throws Exception, FileNotFoundException, JSONException { RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, vfResource, user); checkErrorMessage(actionStatus, variables, errorCode, createVFInstResp); } - private void deleteVFInstanceFail(ActionStatus actionStatus, List<String> variables, ResourceReqDetails vfResource, - User user, int errorCode) throws Exception, FileNotFoundException, JSONException { + private void deleteVFInstanceFail(ActionStatus actionStatus, List<String> variables, ResourceReqDetails vfResource, User user, int errorCode) throws Exception, FileNotFoundException, JSONException { RestResponse deleteVFInstResp = deleteVFInstance(vfResource.getUniqueId(), serviceDetails_01, user); checkErrorMessage(actionStatus, variables, errorCode, deleteVFInstResp); } - private void createAtomicResourceInstanceFailWithoutChangeState(ActionStatus actionStatus, List<String> variables, - ResourceReqDetails atomicResource, User user, int errorCode) - throws Exception, FileNotFoundException, JSONException { + private void createAtomicResourceInstanceFailWithoutChangeState(ActionStatus actionStatus, List<String> variables, ResourceReqDetails atomicResource, User user, int errorCode) throws Exception, FileNotFoundException, JSONException { RestResponse createAtomicInstResp = createAtomicInstanceForService(serviceDetails_01, atomicResource, user); checkErrorMessage(actionStatus, variables, errorCode, createAtomicInstResp); } - private void createAtomicResourceInstanceFail(ActionStatus actionStatus, List<String> variables, - ResourceReqDetails atomicResource, User user, int errorCode) - throws Exception, FileNotFoundException, JSONException { - RestResponse createAtomicInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, atomicResource, - user); + private void createAtomicResourceInstanceFail(ActionStatus actionStatus, List<String> variables, ResourceReqDetails atomicResource, User user, int errorCode) throws Exception, FileNotFoundException, JSONException { + RestResponse createAtomicInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, atomicResource, user); checkErrorMessage(actionStatus, variables, errorCode, createAtomicInstResp); } - private void deleteAtomicResourceInstanceFail(ActionStatus actionStatus, List<String> variables, - ResourceReqDetails atomicResource, User user, int errorCode) - throws Exception, FileNotFoundException, JSONException { - RestResponse deleteAtomicInstResp = deleteAtomicInstanceForService(atomicResource.getUniqueId(), - serviceDetails_01, user); + private void deleteAtomicResourceInstanceFail(ActionStatus actionStatus, List<String> variables, ResourceReqDetails atomicResource, User user, int errorCode) throws Exception, FileNotFoundException, JSONException { + RestResponse deleteAtomicInstResp = deleteAtomicInstanceForService(atomicResource.getUniqueId(), serviceDetails_01, user); checkErrorMessage(actionStatus, variables, errorCode, deleteAtomicInstResp); } - private void checkErrorMessage(ActionStatus actionStatus, List<String> variables, int errorCode, - RestResponse response) throws Exception { + private void checkErrorMessage(ActionStatus actionStatus, List<String> variables, int errorCode, RestResponse response) throws Exception { log.debug(response.getResponse()); AssertJUnit.assertEquals(errorCode, response.getErrorCode().intValue()); ErrorValidationUtils.checkBodyResponseOnError(actionStatus.name(), variables, response.getResponse()); } - private RestResponse createCheckedinVFInstance(ServiceReqDetails containerDetails, - ResourceReqDetails compInstOriginDetails, User modifier) throws Exception { - changeResourceLifecycleState(compInstOriginDetails, compInstOriginDetails.getCreatorUserId(), - LifeCycleStatesEnum.CHECKIN); + private RestResponse createCheckedinVFInstance(ServiceReqDetails containerDetails, ResourceReqDetails compInstOriginDetails, User modifier) throws Exception { + changeResourceLifecycleState(compInstOriginDetails, compInstOriginDetails.getCreatorUserId(), LifeCycleStatesEnum.CHECKIN); return createVFInstance(containerDetails, compInstOriginDetails, modifier); } - private RestResponse createCheckedinAtomicInstanceForService(ServiceReqDetails containerDetails, - ResourceReqDetails compInstOriginDetails, User modifier) throws Exception { - changeResourceLifecycleState(compInstOriginDetails, compInstOriginDetails.getCreatorUserId(), - LifeCycleStatesEnum.CHECKIN); + private RestResponse createCheckedinAtomicInstanceForService(ServiceReqDetails containerDetails, ResourceReqDetails compInstOriginDetails, User modifier) throws Exception { + changeResourceLifecycleState(compInstOriginDetails, compInstOriginDetails.getCreatorUserId(), LifeCycleStatesEnum.CHECKIN); return createAtomicInstanceForService(containerDetails, compInstOriginDetails, modifier); } - private void createVFInstanceAndAtomicResourceInstanceWithoutCheckin(ResourceReqDetails vf, - ResourceReqDetails atomicResource, User user) throws Exception { + private void createVFInstanceAndAtomicResourceInstanceWithoutCheckin(ResourceReqDetails vf, ResourceReqDetails atomicResource, User user) throws Exception { RestResponse createVFInstance = createVFInstance(serviceDetails_01, vf, user); ResourceRestUtils.checkCreateResponse(createVFInstance); RestResponse atomicInstanceForService = createAtomicInstanceForService(serviceDetails_01, atomicResource, user); ResourceRestUtils.checkCreateResponse(atomicInstanceForService); } - private void createVFInstanceAndAtomicResourceInstanceSuccessully(ResourceReqDetails vf, - ResourceReqDetails atomicResource) throws Exception, IOException { + private void createVFInstanceAndAtomicResourceInstanceSuccessully(ResourceReqDetails vf, ResourceReqDetails atomicResource) throws Exception, IOException { createVFInstanceAndAtomicResourceInstanceSuccessully(vf, atomicResource, sdncDesignerDetails); } - private void createVFInstanceAndAtomicResourceInstanceSuccessully(ResourceReqDetails vf, - ResourceReqDetails atomicResource, User user) throws Exception, IOException { + private void createVFInstanceAndAtomicResourceInstanceSuccessully(ResourceReqDetails vf, ResourceReqDetails atomicResource, User user) throws Exception, IOException { changeResourceLifecycleState(vf, vf.getCreatorUserId(), LifeCycleStatesEnum.CHECKIN); changeResourceLifecycleState(atomicResource, atomicResource.getCreatorUserId(), LifeCycleStatesEnum.CHECKIN); createVFInstanceAndAtomicResourceInstanceWithoutCheckin(vf, atomicResource, user); @@ -219,8 +197,7 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void createVFInstanceSuccessfullyTest() throws Exception { - RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createVFInstResp); createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createVFInstResp); @@ -229,37 +206,29 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void createVFAndAtomicInstanceTest() throws Exception { - RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createVFInstResp); - createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, - sdncDesignerDetails); + createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createVFInstResp); - createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsVL_01, - sdncDesignerDetails); + createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsVL_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createVFInstResp); - createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsVL_02, - sdncDesignerDetails); + createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsVL_02, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createVFInstResp); getComponentAndValidateRIs(serviceDetails_01, 4, 0); } @Test public void deleteAtomicInstanceTest() throws Exception { - RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); // 1 rel ResourceRestUtils.checkCreateResponse(createVFInstResp); - createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, - sdncDesignerDetails); + createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, sdncDesignerDetails); // 2 rel ResourceRestUtils.checkCreateResponse(createVFInstResp); - createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsVL_01, - sdncDesignerDetails); + createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsVL_01, sdncDesignerDetails); // 3 rel ResourceRestUtils.checkCreateResponse(createVFInstResp); - createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsVL_02, - sdncDesignerDetails); + createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsVL_02, sdncDesignerDetails); // 4 rel ResourceRestUtils.checkCreateResponse(createVFInstResp); // To delete @@ -272,16 +241,14 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void deleteVFInstanceTest() throws Exception { - RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); // 1 rel ResourceRestUtils.checkCreateResponse(createVFInstResp); createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String compInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp); // 2 rel ResourceRestUtils.checkCreateResponse(createVFInstResp); - createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, - sdncDesignerDetails); + createVFInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, sdncDesignerDetails); // 3 rel ResourceRestUtils.checkCreateResponse(createVFInstResp); // 2 rel @@ -303,45 +270,37 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest String capType = CAPABILITY_TYPE; String reqName = REQUIREMENT_NAME; - RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails, - serviceDetails_01); + 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); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(fromCompInstId, toCompInstId, capType, reqName, capList, reqList); associateComponentInstancesForService(requirementDef, serviceDetails_01, sdncDesignerDetails); - getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails, - serviceDetails_01); + getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class); List<RequirementDefinition> list = capReqDef.getRequirements().get(capType); AssertJUnit.assertEquals("Check requirement", null, list); getComponentAndValidateRIs(serviceDetails_01, 2, 1); dissociateComponentInstancesForService(requirementDef, serviceDetails_01, sdncDesignerDetails); - getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails, - serviceDetails_01); + getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class); list = capReqDef.getRequirements().get(capType); AssertJUnit.assertEquals("Check requirement", 1, list.size()); getComponentAndValidateRIs(serviceDetails_01, 2, 0); } - private RequirementCapabilityRelDef getReqCapRelation(String reqCompInstId, String capCompInstId, String capType, - String reqName, List<CapabilityDefinition> capList, List<RequirementDefinition> reqList) { - return ElementFactory.getReqCapRelation(reqCompInstId, capCompInstId, reqOwnerId, capOwnerId, capType, reqName, - capList, reqList); + private RequirementCapabilityRelDef getReqCapRelation(String reqCompInstId, String capCompInstId, String capType, String reqName, List<CapabilityDefinition> capList, List<RequirementDefinition> reqList) { + return ElementFactory.getReqCapRelation(reqCompInstId, capCompInstId, reqOwnerId, capOwnerId, capType, reqName, capList, reqList); } @Test public void createResourceInstanceByDifferentDesignerTest() throws Exception { - createVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2), 409); - createAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), - resourceDetailsCP_01, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2), 409); + createVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2), 409); + createAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsCP_01, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2), 409); getComponentAndValidateRIs(serviceDetails_01, 0, 0); } @@ -359,41 +318,33 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void createResourceInstanceByTester() throws Exception { - createVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, - ElementFactory.getDefaultUser(UserRoleEnum.TESTER), 409); - createAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), - resourceDetailsCP_01, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), 409); + createVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), 409); + createAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsCP_01, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), 409); getComponentAndValidateRIs(serviceDetails_01, 0, 0); } @Test public void createResourceInstanceWithNotASDCUserTest() throws Exception { sdncDesignerDetails.setUserId("ab0001"); - createVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, - sdncDesignerDetails, 409); - createAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), - resourceDetailsCP_01, sdncDesignerDetails, 409); + createVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, sdncDesignerDetails, 409); + createAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsCP_01, sdncDesignerDetails, 409); getComponentAndValidateRIs(serviceDetails_01, 0, 0); } @Test public void createResourceInstanceWithEmptyUserIdTest() throws Exception { sdncDesignerDetails.setUserId(""); - createVFInstanceFail(ActionStatus.MISSING_INFORMATION, new ArrayList<String>(), resourceDetailsVF_01, - sdncDesignerDetails, 403); - createAtomicResourceInstanceFail(ActionStatus.MISSING_INFORMATION, new ArrayList<String>(), - resourceDetailsCP_01, sdncDesignerDetails, 403); + createVFInstanceFail(ActionStatus.MISSING_INFORMATION, new ArrayList<String>(), resourceDetailsVF_01, sdncDesignerDetails, 403); + createAtomicResourceInstanceFail(ActionStatus.MISSING_INFORMATION, new ArrayList<String>(), resourceDetailsCP_01, sdncDesignerDetails, 403); getComponentAndValidateRIs(serviceDetails_01, 0, 0); } @Test public void createResourceInstanceWithEmptyServiceUidTest() throws Exception { serviceDetails_01.setUniqueId(""); - RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); assertEquals(404, createVFInstResp.getErrorCode().intValue()); - RestResponse createAtomicInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, - resourceDetailsCP_01, sdncDesignerDetails); + RestResponse createAtomicInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, sdncDesignerDetails); assertEquals(404, createAtomicInstResp.getErrorCode().intValue()); } @@ -405,51 +356,40 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest resourceDetailsVF_01.setUniqueId(vfResourceUniqueId); resourceDetailsCP_01.setUniqueId(atomicResourceUniqueId); - createVFInstanceFailWithoutChangeState(ActionStatus.RESOURCE_NOT_FOUND, - new ArrayList<String>(Arrays.asList("")), resourceDetailsVF_01, sdncDesignerDetails, 404); - createAtomicResourceInstanceFailWithoutChangeState(ActionStatus.RESOURCE_NOT_FOUND, - new ArrayList<String>(Arrays.asList("")), resourceDetailsCP_01, sdncDesignerDetails, 404); + createVFInstanceFailWithoutChangeState(ActionStatus.RESOURCE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), resourceDetailsVF_01, sdncDesignerDetails, 404); + createAtomicResourceInstanceFailWithoutChangeState(ActionStatus.RESOURCE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), resourceDetailsCP_01, sdncDesignerDetails, 404); } @Test public void createResourceInstanceInServiceNotExistsTest() throws Exception { serviceDetails_01.setUniqueId("1234"); - createVFInstanceFail(ActionStatus.SERVICE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), - resourceDetailsVF_01, sdncDesignerDetails, 404); - createAtomicResourceInstanceFail(ActionStatus.SERVICE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), - resourceDetailsCP_01, sdncDesignerDetails, 404); + createVFInstanceFail(ActionStatus.SERVICE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), resourceDetailsVF_01, sdncDesignerDetails, 404); + createAtomicResourceInstanceFail(ActionStatus.SERVICE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), resourceDetailsCP_01, sdncDesignerDetails, 404); } @Test public void createResourceInstanceInCheckedinServiceTest() throws Exception { changeServiceLifecycleState(serviceDetails_01, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN); - createVFInstanceFailWithoutChangeState(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), - resourceDetailsVF_01, sdncDesignerDetails, 409); - createAtomicResourceInstanceFailWithoutChangeState(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), - resourceDetailsCP_01, sdncDesignerDetails, 409); + createVFInstanceFailWithoutChangeState(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, sdncDesignerDetails, 409); + createAtomicResourceInstanceFailWithoutChangeState(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsCP_01, sdncDesignerDetails, 409); getComponentAndValidateRIs(serviceDetails_01, 0, 0); } @Test(enabled = false) public void createResourceInstance_ResourceInCheckoutStateTest() throws Exception { - LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails, "0.1", - LifeCycleStatesEnum.CHECKIN); - RestResponse createVFInstanceWithoutChangeStateResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails, "0.1", LifeCycleStatesEnum.CHECKIN); + RestResponse createVFInstanceWithoutChangeStateResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); ComponentInstanceRestUtils.checkCreateResponse(createVFInstanceWithoutChangeStateResp); - RestResponse createAtomicInstWithoutCheangeStateResp = createAtomicInstanceForService(serviceDetails_01, - resourceDetailsCP_01, sdncDesignerDetails); + RestResponse createAtomicInstWithoutCheangeStateResp = createAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, sdncDesignerDetails); ComponentInstanceRestUtils.checkCreateResponse(createAtomicInstWithoutCheangeStateResp); getComponentAndValidateRIs(serviceDetails_01, 2, 0); } @Test public void createResourceInstance_ResourceInCertificationRequestStateTest() throws Exception { - changeResourceLifecycleState(resourceDetailsVF_01, sdncDesignerDetails.getUserId(), - LifeCycleStatesEnum.CERTIFICATIONREQUEST); - changeResourceLifecycleState(resourceDetailsCP_01, sdncDesignerDetails.getUserId(), - LifeCycleStatesEnum.CERTIFICATIONREQUEST); + changeResourceLifecycleState(resourceDetailsVF_01, sdncDesignerDetails.getUserId(), LifeCycleStatesEnum.CERTIFICATIONREQUEST); + changeResourceLifecycleState(resourceDetailsCP_01, sdncDesignerDetails.getUserId(), LifeCycleStatesEnum.CERTIFICATIONREQUEST); createVFInstanceAndAtomicResourceInstanceSuccessully(resourceDetailsVF_01, resourceDetailsCP_01); getComponentAndValidateRIs(serviceDetails_01, 2, 0); @@ -457,18 +397,13 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void createResourceInstance_startCertificationStateTest() throws Exception { - changeResourceLifecycleState(resourceDetailsVF_01, sdncDesignerDetails.getUserId(), - LifeCycleStatesEnum.CERTIFICATIONREQUEST); - changeResourceLifecycleState(resourceDetailsCP_01, sdncDesignerDetails.getUserId(), - LifeCycleStatesEnum.CERTIFICATIONREQUEST); - - changeResourceLifecycleState(resourceDetailsVF_01, sdncTesterDetails.getUserId(), - LifeCycleStatesEnum.STARTCERTIFICATION); - changeResourceLifecycleState(resourceDetailsCP_01, sdncTesterDetails.getUserId(), - LifeCycleStatesEnum.STARTCERTIFICATION); - - createVFInstanceAndAtomicResourceInstanceWithoutCheckin(resourceDetailsVF_01, resourceDetailsCP_01, - sdncDesignerDetails); + changeResourceLifecycleState(resourceDetailsVF_01, sdncDesignerDetails.getUserId(), LifeCycleStatesEnum.CERTIFICATIONREQUEST); + changeResourceLifecycleState(resourceDetailsCP_01, sdncDesignerDetails.getUserId(), LifeCycleStatesEnum.CERTIFICATIONREQUEST); + + changeResourceLifecycleState(resourceDetailsVF_01, sdncTesterDetails.getUserId(), LifeCycleStatesEnum.STARTCERTIFICATION); + changeResourceLifecycleState(resourceDetailsCP_01, sdncTesterDetails.getUserId(), LifeCycleStatesEnum.STARTCERTIFICATION); + + createVFInstanceAndAtomicResourceInstanceWithoutCheckin(resourceDetailsVF_01, resourceDetailsCP_01, sdncDesignerDetails); getComponentAndValidateRIs(serviceDetails_01, 2, 0); } @@ -478,8 +413,7 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest certifyResource(resourceDetailsVF_01); certifyResource(resourceDetailsCP_01); - createVFInstanceAndAtomicResourceInstanceWithoutCheckin(resourceDetailsVF_01, resourceDetailsCP_01, - sdncDesignerDetails); + createVFInstanceAndAtomicResourceInstanceWithoutCheckin(resourceDetailsVF_01, resourceDetailsCP_01, sdncDesignerDetails); } @Test @@ -492,11 +426,9 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest vfResource.setTags(new ArrayList<String>(Arrays.asList(vfResource.getName()))); createVF(vfResource, designer2); - RestResponse atomicInstanceForService = createCheckedinAtomicInstanceForService(serviceDetails_01, - resourceDetailsCP_01, sdncDesignerDetails); + RestResponse atomicInstanceForService = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(atomicInstanceForService); - createVFInstanceFailWithoutChangeState(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), vfResource, - designer2, 409); + createVFInstanceFailWithoutChangeState(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), vfResource, designer2, 409); getComponentAndValidateRIs(serviceDetails_01, 1, 0); } @@ -507,17 +439,13 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest String secondInstanceName = resourceDetailsVF_01.getName() + SPACE_STRING + "2"; String thirdInstanceName = resourceDetailsVF_01.getName() + SPACE_STRING + "3"; - LifecycleRestUtils.changeResourceState(resourceDetailsVF_01, sdncDesignerDetails, "0.1", - LifeCycleStatesEnum.CHECKIN); + LifecycleRestUtils.changeResourceState(resourceDetailsVF_01, sdncDesignerDetails, "0.1", LifeCycleStatesEnum.CHECKIN); - RestResponse createFirstVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createFirstVFInstResp); - RestResponse createSecondVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createSecondVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createSecondVFInstResp); - RestResponse createThirdVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createThirdVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createThirdVFInstResp); Component service = getComponentAndValidateRIs(serviceDetails_01, 3, 0); @@ -547,10 +475,8 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest checkServiceOldVersionRIs(oldServiceUniqueId, newSerivceUniqueIdAfterChangeLifecycleState, 2, 0); // Add one more resource instance to second version of service - LifecycleRestUtils.changeResourceState(resourceDetailsVL_01, sdncDesignerDetails, "0.1", - LifeCycleStatesEnum.CHECKIN); - RestResponse createAtomicResourceInstResp = createAtomicResourceInstanceToSecondServiceVersion( - newSerivceUniqueIdAfterChangeLifecycleState, resourceDetailsVL_01); + LifecycleRestUtils.changeResourceState(resourceDetailsVL_01, sdncDesignerDetails, "0.1", LifeCycleStatesEnum.CHECKIN); + RestResponse createAtomicResourceInstResp = createAtomicResourceInstanceToSecondServiceVersion(newSerivceUniqueIdAfterChangeLifecycleState, resourceDetailsVL_01); String atomicResourceUniqueId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstResp); getComponentAndValidateRIsAfterAddingAtomicResourceInstance(oldServiceUniqueId, serviceDetails_01, 3, 0); @@ -562,32 +488,25 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest } private void createTwoCheckedinVFInstances() throws Exception { - RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createFirstVFInstResp); - RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, - sdncDesignerDetails); + RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createSecondVFInstResp); } - private void getComponentAndValidateRIsAfterAddingAtomicResourceInstance(String oldComponentUniqueId, - ComponentReqDetails componentDetails, int numOfRIs, int numOfRelations) throws Exception { - getComponentAndValidateRIsAfterChangeLifecycleState(oldComponentUniqueId, componentDetails, numOfRIs, - numOfRelations); + private void getComponentAndValidateRIsAfterAddingAtomicResourceInstance(String oldComponentUniqueId, ComponentReqDetails componentDetails, int numOfRIs, int numOfRelations) throws Exception { + getComponentAndValidateRIsAfterChangeLifecycleState(oldComponentUniqueId, componentDetails, numOfRIs, numOfRelations); } - private void checkServiceOldVersionRIs(String oldUniqueId, String newUniqueId, int numOfRIs, int numOfRelations) - throws IOException, Exception { + private void checkServiceOldVersionRIs(String oldUniqueId, String newUniqueId, int numOfRIs, int numOfRelations) throws IOException, Exception { serviceDetails_01.setUniqueId(oldUniqueId); getComponentAndValidateRIsAfterChangeLifecycleState(newUniqueId, serviceDetails_01, numOfRIs, numOfRelations); } - private RestResponse createAtomicResourceInstanceToSecondServiceVersion(String secondServiceUniqueId, - ResourceReqDetails resourceToAdd) throws Exception { + private RestResponse createAtomicResourceInstanceToSecondServiceVersion(String secondServiceUniqueId, ResourceReqDetails resourceToAdd) throws Exception { serviceDetails_01.setUniqueId(secondServiceUniqueId); - RestResponse createAtomicResourceInstResp = createAtomicInstanceForService(serviceDetails_01, resourceToAdd, - sdncDesignerDetails); + RestResponse createAtomicResourceInstResp = createAtomicInstanceForService(serviceDetails_01, resourceToAdd, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createAtomicResourceInstResp); return createAtomicResourceInstResp; } @@ -595,12 +514,9 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void createResourceInstanceToUnsupportedComponentTest() throws Exception { String unsupportedType = "unsupported"; - ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory - .getComponentResourceInstance(resourceDetailsCP_01); - RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance( - resourceInstanceReqDetails, sdncDesignerDetails, serviceDetails_01.getUniqueId(), unsupportedType); - checkErrorMessage(ActionStatus.UNSUPPORTED_ERROR, new ArrayList<String>(Arrays.asList(unsupportedType)), 400, - createResourceInstanceResponse); + ComponentInstanceReqDetails resourceInstanceReqDetails = ElementFactory.getComponentResourceInstance(resourceDetailsCP_01); + RestResponse createResourceInstanceResponse = ComponentInstanceRestUtils.createComponentInstance(resourceInstanceReqDetails, sdncDesignerDetails, serviceDetails_01.getUniqueId(), unsupportedType); + checkErrorMessage(ActionStatus.UNSUPPORTED_ERROR, new ArrayList<String>(Arrays.asList(unsupportedType)), 400, createResourceInstanceResponse); } @Test @@ -608,10 +524,8 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest createVFInstanceAndAtomicResourceInstanceSuccessully(resourceDetailsVF_01, resourceDetailsCP_01); - deleteVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2), 409); - deleteAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), - resourceDetailsCP_01, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2), 409); + deleteVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2), 409); + deleteAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsCP_01, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2), 409); getComponentAndValidateRIs(serviceDetails_01, 2, 0); } @@ -620,27 +534,21 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest String oldServiceUniqueId = serviceDetails_01.getUniqueId(); - RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createVFInstResp); - RestResponse createAtomicResourceInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, - resourceDetailsCP_01, sdncDesignerDetails); + RestResponse createAtomicResourceInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createAtomicResourceInstResp); changeServiceLifecycleState(serviceDetails_01, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN); - changeServiceLifecycleState(serviceDetails_01, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2), - LifeCycleStatesEnum.CHECKOUT); + changeServiceLifecycleState(serviceDetails_01, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2), LifeCycleStatesEnum.CHECKOUT); String newServiceUniqueId = serviceDetails_01.getUniqueId(); String oldVFInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createVFInstResp); - String newVFInstanceUniqueId = oldVFInstanceUniqueId.replaceAll(oldServiceUniqueId, - serviceDetails_01.getUniqueId()); + String newVFInstanceUniqueId = oldVFInstanceUniqueId.replaceAll(oldServiceUniqueId, serviceDetails_01.getUniqueId()); String oldAtomicResourceInstanceUniqueId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstResp); - String newAtomicResourceInstanceUniqueId = oldAtomicResourceInstanceUniqueId.replaceAll(oldServiceUniqueId, - serviceDetails_01.getUniqueId()); + String newAtomicResourceInstanceUniqueId = oldAtomicResourceInstanceUniqueId.replaceAll(oldServiceUniqueId, serviceDetails_01.getUniqueId()); - deleteVFInstanceAndAtomicResourceInstanceSuccessfully(newVFInstanceUniqueId, newAtomicResourceInstanceUniqueId, - ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2)); + deleteVFInstanceAndAtomicResourceInstanceSuccessfully(newVFInstanceUniqueId, newAtomicResourceInstanceUniqueId, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2)); serviceDetails_01.setUniqueId(oldServiceUniqueId); getComponentAndValidateRIs(serviceDetails_01, 2, 0); @@ -652,28 +560,22 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest getComponentAndValidateRIs(serviceDetails_01, 0, 0); } - private void deleteVFInstanceAndAtomicResourceInstanceSuccessfully(String vfInstanceUniqueId, - String atomicResourceInstanceUniqueId) throws IOException, Exception { - deleteVFInstanceAndAtomicResourceInstanceSuccessfully(vfInstanceUniqueId, atomicResourceInstanceUniqueId, - sdncDesignerDetails); + private void deleteVFInstanceAndAtomicResourceInstanceSuccessfully(String vfInstanceUniqueId, String atomicResourceInstanceUniqueId) throws IOException, Exception { + deleteVFInstanceAndAtomicResourceInstanceSuccessfully(vfInstanceUniqueId, atomicResourceInstanceUniqueId, sdncDesignerDetails); } - private void deleteVFInstanceAndAtomicResourceInstanceSuccessfully(String vfInstanceUniqueId, - String atomicResourceInstanceUniqueId, User user) throws IOException, Exception { + private void deleteVFInstanceAndAtomicResourceInstanceSuccessfully(String vfInstanceUniqueId, String atomicResourceInstanceUniqueId, User user) throws IOException, Exception { RestResponse deleteVFInstResp = deleteVFInstance(vfInstanceUniqueId, serviceDetails_01, user); ResourceRestUtils.checkDeleteResponse(deleteVFInstResp); - RestResponse deleteAtomicResourceInsResp = deleteAtomicInstanceForService(atomicResourceInstanceUniqueId, - serviceDetails_01, user); + RestResponse deleteAtomicResourceInsResp = deleteAtomicInstanceForService(atomicResourceInstanceUniqueId, serviceDetails_01, user); ResourceRestUtils.checkDeleteResponse(deleteAtomicResourceInsResp); } @Test public void deleteResourceInstanceByTesterUserTest() throws Exception { createVFInstanceAndAtomicResourceInstanceSuccessully(resourceDetailsVF_01, resourceDetailsCP_01); - deleteVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, - ElementFactory.getDefaultUser(UserRoleEnum.TESTER), 409); - deleteAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), - resourceDetailsCP_01, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), 409); + deleteVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), 409); + deleteAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsCP_01, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), 409); getComponentAndValidateRIs(serviceDetails_01, 2, 0); } @@ -682,10 +584,8 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest createVFInstanceAndAtomicResourceInstanceSuccessully(resourceDetailsVF_01, resourceDetailsCP_01); User notASDCUser = new User(); notASDCUser.setUserId("ab0001"); - deleteVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, - notASDCUser, 409); - deleteAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), - resourceDetailsCP_01, notASDCUser, 409); + deleteVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, notASDCUser, 409); + deleteAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsCP_01, notASDCUser, 409); getComponentAndValidateRIs(serviceDetails_01, 2, 0); } @@ -693,10 +593,8 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest public void deleteResourceInstanceFromCheckedinServiceTest() throws Exception { createVFInstanceAndAtomicResourceInstanceSuccessully(resourceDetailsVF_01, resourceDetailsCP_01); changeServiceLifecycleState(serviceDetails_01, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN); - deleteVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, - sdncDesignerDetails, 409); - deleteAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), - resourceDetailsCP_01, sdncDesignerDetails, 409); + deleteVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, sdncDesignerDetails, 409); + deleteAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsCP_01, sdncDesignerDetails, 409); getComponentAndValidateRIs(serviceDetails_01, 2, 0); } @@ -708,8 +606,7 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest RestResponse createVFInstance = createVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createVFInstance); String vfInstUniqueId = ResponseParser.getUniqueIdFromResponse(createVFInstance); - RestResponse atomicInstanceForService = createAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, - sdncDesignerDetails); + RestResponse atomicInstanceForService = createAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(atomicInstanceForService); String atomicInstUniqueId = ResponseParser.getUniqueIdFromResponse(atomicInstanceForService); @@ -725,10 +622,8 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest resourceDetailsVF_01.setUniqueId("1234"); resourceDetailsCP_01.setUniqueId("5678"); - deleteVFInstanceFail(ActionStatus.RESOURCE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), - resourceDetailsVF_01, sdncDesignerDetails, 404); - deleteAtomicResourceInstanceFail(ActionStatus.RESOURCE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), - resourceDetailsCP_01, sdncDesignerDetails, 404); + deleteVFInstanceFail(ActionStatus.RESOURCE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), resourceDetailsVF_01, sdncDesignerDetails, 404); + deleteAtomicResourceInstanceFail(ActionStatus.RESOURCE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), resourceDetailsCP_01, sdncDesignerDetails, 404); getComponentAndValidateRIs(serviceDetails_01, 0, 0); // {"requestError":{"serviceException":{"messageId":"SVC4503","text":"Error: @@ -738,27 +633,22 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void deleteResourceInstanceFromServiceNotFoundTest() throws Exception, Throwable { serviceDetails_01.setUniqueId("1234"); - deleteVFInstanceFail(ActionStatus.SERVICE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), - resourceDetailsVF_01, sdncDesignerDetails, 404); - deleteAtomicResourceInstanceFail(ActionStatus.SERVICE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), - resourceDetailsCP_01, sdncDesignerDetails, 404); + deleteVFInstanceFail(ActionStatus.SERVICE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), resourceDetailsVF_01, sdncDesignerDetails, 404); + deleteAtomicResourceInstanceFail(ActionStatus.SERVICE_NOT_FOUND, new ArrayList<String>(Arrays.asList("")), resourceDetailsCP_01, sdncDesignerDetails, 404); } @Test public void deleteResourceInstanceFromUnsupportedTypeTest() throws Exception { String unsupportedType = "unsupportedType"; - RestResponse deleteVFInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncDesignerDetails, - serviceDetails_01.getUniqueId(), resourceDetailsVF_01.getUniqueId(), unsupportedType); - checkErrorMessage(ActionStatus.UNSUPPORTED_ERROR, new ArrayList<String>(Arrays.asList(unsupportedType)), 400, - deleteVFInstanceResponse); + RestResponse deleteVFInstanceResponse = ComponentInstanceRestUtils.deleteComponentInstance(sdncDesignerDetails, serviceDetails_01.getUniqueId(), resourceDetailsVF_01.getUniqueId(), unsupportedType); + checkErrorMessage(ActionStatus.UNSUPPORTED_ERROR, new ArrayList<String>(Arrays.asList(unsupportedType)), 400, deleteVFInstanceResponse); getComponentAndValidateRIs(serviceDetails_01, 0, 0); } @Test public void deleteResourceInstanceWithEmptyServiceUidTest() throws Exception, Throwable { serviceDetails_01.setUniqueId(""); - RestResponse deleteVFInstResp = deleteVFInstance(resourceDetailsVF_01.getUniqueId(), serviceDetails_01, - sdncDesignerDetails); + RestResponse deleteVFInstResp = deleteVFInstance(resourceDetailsVF_01.getUniqueId(), serviceDetails_01, sdncDesignerDetails); assertEquals(404, deleteVFInstResp.getErrorCode().intValue()); } @@ -772,41 +662,31 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void deleteResourceInstanceWithEmptyUserIdTest() throws Exception { sdncDesignerDetails.setUserId(""); - deleteVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, - sdncDesignerDetails, 409); - deleteAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), - resourceDetailsCP_01, sdncDesignerDetails, 409); + deleteVFInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsVF_01, sdncDesignerDetails, 409); + deleteAtomicResourceInstanceFail(ActionStatus.RESTRICTED_OPERATION, new ArrayList<String>(), resourceDetailsCP_01, sdncDesignerDetails, 409); getComponentAndValidateRIs(serviceDetails_01, 0, 0); } // fail - bug DE188994 @Test public void associateResourceInstanceToResourceInstanceNotFoundTest() throws Exception, Throwable { - RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createVFInstResp); String capCompInstId = "1234"; - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); List<CapabilityDefinition> capListBeforeAssociate = new ArrayList<CapabilityDefinition>(); CapabilityDefinition cap = new CapabilityDefinition(); cap.setUniqueId(capCompInstId); capListBeforeAssociate.add(cap); - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); - - assocaiteInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESOURCE_INSTANCE_NOT_FOUND, 404, - new ArrayList<String>(Arrays.asList(capCompInstId))); - - CapReqDef capReqDefAfterAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capabilitiesAfterAssociate = capReqDefAfterAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> requirementsAfterAssoicate = capReqDefAfterAssociate.getRequirements() - .get(CAPABILITY_TYPE); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + + assocaiteInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESOURCE_INSTANCE_NOT_FOUND, 404, new ArrayList<String>(Arrays.asList(capCompInstId))); + + CapReqDef capReqDefAfterAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capabilitiesAfterAssociate = capReqDefAfterAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> requirementsAfterAssoicate = capReqDefAfterAssociate.getRequirements().get(CAPABILITY_TYPE); // AssertJUnit.assertEquals("Check requirement", reqListBeforeAssociate, // requirementsAfterAssoicate); // AssertJUnit.assertEquals("Check requirement", capListBeforeAssociate, @@ -827,22 +707,16 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest // story @Test(enabled = false) public void associateOnceAgainExistingRelationTest() throws Exception { - RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createFirstVFInstResp); - RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, - sdncDesignerDetails); + RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String capCompInstId = ResponseParser.getUniqueIdFromResponse(createSecondVFInstResp); - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); associateComponentInstancesForService(requirementDef, serviceDetails_01, sdncDesignerDetails); ////////////////////////////////////////////// @@ -852,12 +726,9 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest // ArrayList<String>(Arrays.asList(capCompInstId))); ////////////////////////////////////////////// - CapReqDef capReqDefAfterAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListAfterAssociate = capReqDefAfterAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListAfterAssociate = capReqDefAfterAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefAfterAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListAfterAssociate = capReqDefAfterAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListAfterAssociate = capReqDefAfterAssociate.getRequirements().get(CAPABILITY_TYPE); // AssertJUnit.assertEquals("Check requirement", null, // reqListAfterAssociate); @@ -880,36 +751,27 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest public void associateInstancesInMissingServiceTest() throws Exception { serviceDetails_01.setUniqueId("1234"); RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef(); - assocaiteInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.SERVICE_NOT_FOUND, 404, - new ArrayList<String>(Arrays.asList(""))); + assocaiteInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.SERVICE_NOT_FOUND, 404, new ArrayList<String>(Arrays.asList(""))); } @Test public void associateAfterDeletingResourceTest() throws Exception { - RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createFirstVFInstResp); - RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, - sdncDesignerDetails); + RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String capCompInstId = ResponseParser.getUniqueIdFromResponse(createSecondVFInstResp); - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); ResourceRestUtils.deleteResource(resourceDetailsVF_01.getUniqueId(), sdncDesignerDetails.getUserId()); associateComponentInstancesForService(requirementDef, serviceDetails_01, sdncDesignerDetails); - CapReqDef capReqDefAfterAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListAfterAssociate = capReqDefAfterAssociate.getCapabilities() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefAfterAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListAfterAssociate = capReqDefAfterAssociate.getCapabilities().get(CAPABILITY_TYPE); // for (CapabilityDefinition capabilityDefinition : // capListBeforeAssociate) { @@ -932,34 +794,24 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void associateInstancesInCheckedinServiceTest() throws Exception { - RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createFirstVFInstResp); - RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, - sdncDesignerDetails); + RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String capCompInstId = ResponseParser.getUniqueIdFromResponse(createSecondVFInstResp); - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); changeServiceLifecycleState(serviceDetails_01, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN); - assocaiteInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESTRICTED_OPERATION, 409, - new ArrayList<String>()); + assocaiteInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); - CapReqDef capReqDefAfterAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capabilitiesAfterAssociate = capReqDefAfterAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> requirementsAfterAssoicate = capReqDefAfterAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefAfterAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capabilitiesAfterAssociate = capReqDefAfterAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> requirementsAfterAssoicate = capReqDefAfterAssociate.getRequirements().get(CAPABILITY_TYPE); AssertJUnit.assertEquals("Check requirement", reqListBeforeAssociate, requirementsAfterAssoicate); AssertJUnit.assertEquals("Check requirement", capListBeforeAssociate, capabilitiesAfterAssociate); @@ -970,43 +822,29 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void associateAfterCheckoutAllInstancesTest() throws Exception { String firstVFUniqueId = resourceDetailsVF_01.getUniqueId(); - RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createFirstVFInstResp); String secondVFUniqueId = resourceDetailsVF_02.getUniqueId(); - RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, - sdncDesignerDetails); + RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String capCompInstId = ResponseParser.getUniqueIdFromResponse(createSecondVFInstResp); - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); - - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); - - changeResourceLifecycleState(resourceDetailsVF_01, sdncDesignerDetails.getUserId(), - LifeCycleStatesEnum.CHECKOUT); - changeResourceLifecycleState(resourceDetailsVF_02, sdncDesignerDetails.getUserId(), - LifeCycleStatesEnum.CHECKOUT); - - requirementDef.setFromNode( - requirementDef.getFromNode().replaceAll(firstVFUniqueId, resourceDetailsVF_01.getUniqueId())); - requirementDef - .setToNode(requirementDef.getToNode().replaceAll(secondVFUniqueId, resourceDetailsVF_02.getUniqueId())); - - assocaiteInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESTRICTED_OPERATION, 409, - new ArrayList<String>()); - - CapReqDef capReqDefAfterAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capabilitiesAfterAssociate = capReqDefAfterAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> requirementsAfterAssoicate = capReqDefAfterAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); + + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + + changeResourceLifecycleState(resourceDetailsVF_01, sdncDesignerDetails.getUserId(), LifeCycleStatesEnum.CHECKOUT); + changeResourceLifecycleState(resourceDetailsVF_02, sdncDesignerDetails.getUserId(), LifeCycleStatesEnum.CHECKOUT); + + requirementDef.setFromNode(requirementDef.getFromNode().replaceAll(firstVFUniqueId, resourceDetailsVF_01.getUniqueId())); + requirementDef.setToNode(requirementDef.getToNode().replaceAll(secondVFUniqueId, resourceDetailsVF_02.getUniqueId())); + + assocaiteInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); + + CapReqDef capReqDefAfterAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capabilitiesAfterAssociate = capReqDefAfterAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> requirementsAfterAssoicate = capReqDefAfterAssociate.getRequirements().get(CAPABILITY_TYPE); // AssertJUnit.assertEquals("Check requirement", reqListBeforeAssociate, // requirementsAfterAssoicate); // AssertJUnit.assertEquals("Check requirement", capListBeforeAssociate, @@ -1026,57 +864,39 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void associateInstancesByDifferentUsersTest() throws Exception { - RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createFirstVFInstResp); - RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, - sdncDesignerDetails); + RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String capCompInstId = ResponseParser.getUniqueIdFromResponse(createSecondVFInstResp); - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); - - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); - - assocaiteInstancesFail(requirementDef, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2), - ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); - assocaiteInstancesFail(requirementDef, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), - ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); - assocaiteInstancesFail(requirementDef, ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR), - ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); - assocaiteInstancesFail(requirementDef, ElementFactory.getDefaultUser(UserRoleEnum.OPS), - ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); - assocaiteInstancesFail(requirementDef, ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1), - ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); - - CapReqDef capReqDefAfterAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capabilitiesAfterAssociate = capReqDefAfterAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> requirementsAfterAssoicate = capReqDefAfterAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); + + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + + assocaiteInstancesFail(requirementDef, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER2), ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); + assocaiteInstancesFail(requirementDef, ElementFactory.getDefaultUser(UserRoleEnum.TESTER), ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); + assocaiteInstancesFail(requirementDef, ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR), ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); + assocaiteInstancesFail(requirementDef, ElementFactory.getDefaultUser(UserRoleEnum.OPS), ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); + assocaiteInstancesFail(requirementDef, ElementFactory.getDefaultUser(UserRoleEnum.PRODUCT_MANAGER1), ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); + + CapReqDef capReqDefAfterAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capabilitiesAfterAssociate = capReqDefAfterAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> requirementsAfterAssoicate = capReqDefAfterAssociate.getRequirements().get(CAPABILITY_TYPE); AssertJUnit.assertEquals("Check requirement", reqListBeforeAssociate, requirementsAfterAssoicate); AssertJUnit.assertEquals("Check requirement", capListBeforeAssociate, capabilitiesAfterAssociate); getComponentAndValidateRIs(serviceDetails_01, 2, 0); } - private void assocaiteInstancesFail(RequirementCapabilityRelDef requirementDef, User user, - ActionStatus actionStatus, int errorCode, List<String> variables) throws IOException, Exception { - RestResponse associateInstancesResp = ComponentInstanceRestUtils.associateInstances(requirementDef, user, - serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE); + private void assocaiteInstancesFail(RequirementCapabilityRelDef requirementDef, User user, ActionStatus actionStatus, int errorCode, List<String> variables) throws IOException, Exception { + RestResponse associateInstancesResp = ComponentInstanceRestUtils.associateInstances(requirementDef, user, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE); checkErrorMessage(actionStatus, variables, errorCode, associateInstancesResp); } - private void dissoicateInstancesFail(RequirementCapabilityRelDef requirementDef, User user, - ActionStatus actionStatus, int errorCode, List<String> variables) throws IOException, Exception { - RestResponse dissoicateInstancesResp = ComponentInstanceRestUtils.dissociateInstances(requirementDef, user, - serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE); + private void dissoicateInstancesFail(RequirementCapabilityRelDef requirementDef, User user, ActionStatus actionStatus, int errorCode, List<String> variables) throws IOException, Exception { + RestResponse dissoicateInstancesResp = ComponentInstanceRestUtils.dissociateInstances(requirementDef, user, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE); checkErrorMessage(actionStatus, variables, errorCode, dissoicateInstancesResp); } @@ -1084,47 +904,36 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest public void associateWithMissingServiceUidTest() throws Exception { RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef(); serviceDetails_01.setUniqueId(""); - RestResponse associateInstancesResp = ComponentInstanceRestUtils.associateInstances(requirementDef, - sdncDesignerDetails, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE); + RestResponse associateInstancesResp = ComponentInstanceRestUtils.associateInstances(requirementDef, sdncDesignerDetails, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE); assertEquals(404, associateInstancesResp.getErrorCode().intValue()); } // fail - bug DE191824 @Test public void associateNotCompitableReqCapTest() throws Exception { - RestResponse createFirstAtomicResourceInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, - resourceDetailsCP_01, sdncDesignerDetails); + RestResponse createFirstAtomicResourceInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, sdncDesignerDetails); String reqCompInstName = ResponseParser.getNameFromResponse(createFirstAtomicResourceInstResp); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createFirstAtomicResourceInstResp); - RestResponse createSecondAtomicResourceInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, - resourceDetailsVL_02, sdncDesignerDetails); + RestResponse createSecondAtomicResourceInstResp = createCheckedinAtomicInstanceForService(serviceDetails_01, resourceDetailsVL_02, sdncDesignerDetails); String capCompInstName = ResponseParser.getNameFromResponse(createSecondAtomicResourceInstResp); String capCompInstId = ResponseParser.getUniqueIdFromResponse(createSecondAtomicResourceInstResp); - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); List<String> variables = new ArrayList<String>(); variables.add(reqCompInstName); variables.add(capCompInstName); variables.add(REQUIREMENT_NAME); - assocaiteInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESOURCE_INSTANCE_MATCH_NOT_FOUND, 404, - variables); + assocaiteInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESOURCE_INSTANCE_MATCH_NOT_FOUND, 404, variables); - CapReqDef capReqDefAfterAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capabilitiesAfterAssociate = capReqDefAfterAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> requirementsAfterAssoicate = capReqDefAfterAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefAfterAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capabilitiesAfterAssociate = capReqDefAfterAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> requirementsAfterAssoicate = capReqDefAfterAssociate.getRequirements().get(CAPABILITY_TYPE); // AssertJUnit.assertEquals("Check requirement", reqListBeforeAssociate, // requirementsAfterAssoicate); // AssertJUnit.assertEquals("Check requirement", capListBeforeAssociate, @@ -1140,22 +949,16 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void associateInstancesInTwoServiceVersionsTest() throws Exception { String oldServiceUniqueId = serviceDetails_01.getUniqueId(); - RestResponse createFirstVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createFirstVFInstResp); - RestResponse createSecondVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_02, - sdncDesignerDetails); + RestResponse createSecondVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String capCompInstId = ResponseParser.getUniqueIdFromResponse(createSecondVFInstResp); - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); associateComponentInstancesForService(requirementDef, serviceDetails_01, sdncDesignerDetails); getComponentAndValidateRIs(serviceDetails_01, 2, 1); @@ -1168,40 +971,29 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest updateCapabilitiesOwnerId(oldServiceUniqueId, capListBeforeAssociate, secondServiceUniqueId); updateExpectedReqCapAfterChangeLifecycleState(oldServiceUniqueId, secondServiceUniqueId); - CapReqDef capReqDefAfterAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListAfterAssociate = capReqDefAfterAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListAfterAssociate = capReqDefAfterAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefAfterAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListAfterAssociate = capReqDefAfterAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListAfterAssociate = capReqDefAfterAssociate.getRequirements().get(CAPABILITY_TYPE); // AssertJUnit.assertEquals("Check requirement", null, // reqListAfterAssociate); // AssertJUnit.assertEquals("Check capabilities", // capListBeforeAssociate, capListAfterAssociate); getComponentAndValidateRIs(serviceDetails_01, 2, 1); - RestResponse createThirdVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createThirdVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqSecondCompInstId = ResponseParser.getUniqueIdFromResponse(createThirdVFInstResp); - CapReqDef capReqDefBeforeSeconderyAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeSeconderyAssociate = capReqDefBeforeSeconderyAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeSeconderyAssociate = capReqDefBeforeSeconderyAssociate - .getRequirements().get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeSeconderyAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeSeconderyAssociate = capReqDefBeforeSeconderyAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeSeconderyAssociate = capReqDefBeforeSeconderyAssociate.getRequirements().get(CAPABILITY_TYPE); capCompInstId = capCompInstId.replaceAll(oldServiceUniqueId, secondServiceUniqueId); - RequirementCapabilityRelDef secondRequirementDef = getReqCapRelation(reqSecondCompInstId, capCompInstId, - CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeSeconderyAssociate, reqListBeforeSeconderyAssociate); + RequirementCapabilityRelDef secondRequirementDef = getReqCapRelation(reqSecondCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeSeconderyAssociate, reqListBeforeSeconderyAssociate); associateComponentInstancesForService(secondRequirementDef, serviceDetails_01, sdncDesignerDetails); - CapReqDef capReqDefAfterSeconderyAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListAfterSeconderyAssociate = capReqDefAfterSeconderyAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListAfterSeconderyAssociate = capReqDefAfterSeconderyAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefAfterSeconderyAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListAfterSeconderyAssociate = capReqDefAfterSeconderyAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListAfterSeconderyAssociate = capReqDefAfterSeconderyAssociate.getRequirements().get(CAPABILITY_TYPE); // AssertJUnit.assertEquals("Check requirement", null, // reqListAfterSeconderyAssociate); // AssertJUnit.assertEquals("Check capabilities", @@ -1225,27 +1017,21 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String capCompInstId = "4567"; - CapReqDef capReqDef = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, - serviceDetails_01); + CapReqDef capReqDef = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); List<CapabilityDefinition> capList = capReqDef.getCapabilities().get(CAPABILITY_TYPE); List<RequirementDefinition> reqList = capReqDef.getRequirements().get(CAPABILITY_TYPE); - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capList, reqList); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capList, reqList); List<String> variables = new ArrayList<String>(); variables.add(reqCompInstId); variables.add(capCompInstId); variables.add(REQUIREMENT_NAME); - dissoicateInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESOURCE_INSTANCE_RELATION_NOT_FOUND, - 404, variables); + dissoicateInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESOURCE_INSTANCE_RELATION_NOT_FOUND, 404, variables); - CapReqDef capReqDefAfterDissociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListAfterDissociate = capReqDefAfterDissociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListAfterDissociate = capReqDefAfterDissociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefAfterDissociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListAfterDissociate = capReqDefAfterDissociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListAfterDissociate = capReqDefAfterDissociate.getRequirements().get(CAPABILITY_TYPE); AssertJUnit.assertEquals("Check requirement", 1, reqListAfterDissociate.size()); AssertJUnit.assertEquals("Check requirement", reqList, reqListAfterDissociate); @@ -1258,26 +1044,19 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void dissociateRelationInServiceNotFoundTest() throws Exception { String uniqueId = "1234"; - RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createFirstVFInstResp); - RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, - sdncDesignerDetails); + RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String capCompInstId = ResponseParser.getUniqueIdFromResponse(createSecondVFInstResp); - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); serviceDetails_01.setUniqueId(uniqueId); - dissoicateInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.SERVICE_NOT_FOUND, 404, - new ArrayList<String>(Arrays.asList(""))); + dissoicateInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.SERVICE_NOT_FOUND, 404, new ArrayList<String>(Arrays.asList(""))); } @@ -1285,35 +1064,26 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest public void dissoicateRelationWhileInstanceNotFound() throws Exception { String capUniqueId = "1234"; - RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createFirstVFInstResp); createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String capCompInstId = capUniqueId; - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); List<String> variables = new ArrayList<String>(); variables.add(reqCompInstId); variables.add(capCompInstId); variables.add(REQUIREMENT_NAME); - dissoicateInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESOURCE_INSTANCE_RELATION_NOT_FOUND, - 404, variables); - - CapReqDef capReqDefAfterDissociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListAfterDissociate = capReqDefAfterDissociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListAfterDissociate = capReqDefAfterDissociate.getRequirements() - .get(CAPABILITY_TYPE); + dissoicateInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESOURCE_INSTANCE_RELATION_NOT_FOUND, 404, variables); + + CapReqDef capReqDefAfterDissociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListAfterDissociate = capReqDefAfterDissociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListAfterDissociate = capReqDefAfterDissociate.getRequirements().get(CAPABILITY_TYPE); AssertJUnit.assertEquals("Check requirement", reqListBeforeAssociate, reqListAfterDissociate); AssertJUnit.assertEquals("Check capabilities", capListBeforeAssociate, capListAfterDissociate); @@ -1324,45 +1094,36 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest public void dissociateWhileServiceCheckedinTest() throws Exception { changeServiceLifecycleState(serviceDetails_01, sdncDesignerDetails, LifeCycleStatesEnum.CHECKIN); RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef(); - dissoicateInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESTRICTED_OPERATION, 409, - new ArrayList<String>()); + dissoicateInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); } @Test public void dissoicateWithEmptyUserIdHeaderTest() throws Exception { sdncDesignerDetails.setUserId(""); RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef(); - dissoicateInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESTRICTED_OPERATION, 409, - new ArrayList<String>()); + dissoicateInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESTRICTED_OPERATION, 409, new ArrayList<String>()); } @Test public void dissociateWithMissingUidOfServiceTest() throws Exception { serviceDetails_01.setUniqueId(""); RequirementCapabilityRelDef requirementDef = new RequirementCapabilityRelDef(); - RestResponse dissociateResp = ComponentInstanceRestUtils.dissociateInstances(requirementDef, - sdncDesignerDetails, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE); + RestResponse dissociateResp = ComponentInstanceRestUtils.dissociateInstances(requirementDef, sdncDesignerDetails, serviceDetails_01.getUniqueId(), ComponentTypeEnum.SERVICE); assertEquals(404, dissociateResp.getErrorCode().intValue()); } @Test public void relationDeletedAfterDeletingResourceInstanceTest() throws Exception { - RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createFirstVFInstResp); - RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, - sdncDesignerDetails); + RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String capCompInstId = ResponseParser.getUniqueIdFromResponse(createSecondVFInstResp); - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); associateComponentInstancesForService(requirementDef, serviceDetails_01, sdncDesignerDetails); getComponentAndValidateRIs(serviceDetails_01, 2, 1); @@ -1375,22 +1136,16 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void relationNotFoundInSecondVersionAfterDissociateTest() throws Exception { String oldContainerUniqueIdToReplace = serviceDetails_01.getUniqueId(); - RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createFirstVFInstResp); - RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, - sdncDesignerDetails); + RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String capCompInstId = ResponseParser.getUniqueIdFromResponse(createSecondVFInstResp); - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); associateComponentInstancesForService(requirementDef, serviceDetails_01, sdncDesignerDetails); dissociateComponentInstancesForService(requirementDef, serviceDetails_01, sdncDesignerDetails); @@ -1404,26 +1159,18 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest @Test public void dissociateOnceAgainTest() throws Exception { - RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createFirstVFInstResp); - String reqCompInsName = ResponseParser - .convertComponentInstanceResponseToJavaObject(createFirstVFInstResp.getResponse()).getName(); - RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, - sdncDesignerDetails); + String reqCompInsName = ResponseParser.convertComponentInstanceResponseToJavaObject(createFirstVFInstResp.getResponse()).getName(); + RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String capCompInstId = ResponseParser.getUniqueIdFromResponse(createSecondVFInstResp); - String capCompInstName = ResponseParser - .convertComponentInstanceResponseToJavaObject(createSecondVFInstResp.getResponse()).getName(); + String capCompInstName = ResponseParser.convertComponentInstanceResponseToJavaObject(createSecondVFInstResp.getResponse()).getName(); - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); - RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, - REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); associateComponentInstancesForService(requirementDef, serviceDetails_01, sdncDesignerDetails); dissociateComponentInstancesForService(requirementDef, serviceDetails_01, sdncDesignerDetails); @@ -1433,35 +1180,26 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest variables.add(capCompInstName); variables.add(REQUIREMENT_NAME); - dissoicateInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESOURCE_INSTANCE_RELATION_NOT_FOUND, - 404, variables); + dissoicateInstancesFail(requirementDef, sdncDesignerDetails, ActionStatus.RESOURCE_INSTANCE_RELATION_NOT_FOUND, 404, variables); } // fail - bug : DE191707 @Test public void associateTwoRelations_CheckinCheckout_DissoicateOneRelationInSecondVersion() throws Exception { String oldContainerUniqueIdToReplace = serviceDetails_01.getUniqueId(); - RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createFirstVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String reqCompInstId = ResponseParser.getUniqueIdFromResponse(createFirstVFInstResp); - RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, - sdncDesignerDetails); + RestResponse createSecondVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); String capCompInstId = ResponseParser.getUniqueIdFromResponse(createSecondVFInstResp); - RestResponse createThirdVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createThirdVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); String secondReqCompInstId = ResponseParser.getUniqueIdFromResponse(createThirdVFInstResp); - CapReqDef capReqDefBeforeAssociate = ComponentRestUtils - .getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); - List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities() - .get(CAPABILITY_TYPE); - List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements() - .get(CAPABILITY_TYPE); + CapReqDef capReqDefBeforeAssociate = ComponentRestUtils.getAndParseComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); + List<CapabilityDefinition> capListBeforeAssociate = capReqDefBeforeAssociate.getCapabilities().get(CAPABILITY_TYPE); + List<RequirementDefinition> reqListBeforeAssociate = capReqDefBeforeAssociate.getRequirements().get(CAPABILITY_TYPE); - RequirementCapabilityRelDef requirementDefFirstRelation = getReqCapRelation(reqCompInstId, capCompInstId, - CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); - RequirementCapabilityRelDef requirementDefSecondRelation = getReqCapRelation(secondReqCompInstId, capCompInstId, - CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + RequirementCapabilityRelDef requirementDefFirstRelation = getReqCapRelation(reqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); + RequirementCapabilityRelDef requirementDefSecondRelation = getReqCapRelation(secondReqCompInstId, capCompInstId, CAPABILITY_TYPE, REQUIREMENT_NAME, capListBeforeAssociate, reqListBeforeAssociate); associateComponentInstancesForService(requirementDefFirstRelation, serviceDetails_01, sdncDesignerDetails); associateComponentInstancesForService(requirementDefSecondRelation, serviceDetails_01, sdncDesignerDetails); @@ -1476,10 +1214,8 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest // sdncDesignerDetails, actionStatus, errorCode, variables); getComponentAndValidateRIs(serviceDetails_01, 3, 2); - requirementDefFirstRelation - .setFromNode(reqCompInstId.replaceAll(oldContainerUniqueIdToReplace, newContainerUniqueId)); - requirementDefFirstRelation - .setToNode(reqCompInstId.replaceAll(oldContainerUniqueIdToReplace, newContainerUniqueId)); + requirementDefFirstRelation.setFromNode(reqCompInstId.replaceAll(oldContainerUniqueIdToReplace, newContainerUniqueId)); + requirementDefFirstRelation.setToNode(reqCompInstId.replaceAll(oldContainerUniqueIdToReplace, newContainerUniqueId)); dissociateComponentInstancesForService(requirementDefFirstRelation, serviceDetails_01, sdncDesignerDetails); @@ -1504,10 +1240,8 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest public void createResourceInstancesAndUpdatedServiceMetadataTest() throws Exception, Exception { serviceDetails_02.setUniqueId(serviceDetails_01.getUniqueId()); createTwoCheckedinVFInstances(); - LifecycleRestUtils.changeResourceState(resourceDetailsCP_01, sdncDesignerDetails, "0.1", - LifeCycleStatesEnum.CHECKIN); - createVFInstanceAndAtomicResourceInstanceWithoutCheckin(resourceDetailsVF_01, resourceDetailsCP_01, - sdncDesignerDetails); + LifecycleRestUtils.changeResourceState(resourceDetailsCP_01, sdncDesignerDetails, "0.1", LifeCycleStatesEnum.CHECKIN); + createVFInstanceAndAtomicResourceInstanceWithoutCheckin(resourceDetailsVF_01, resourceDetailsCP_01, sdncDesignerDetails); RestResponse updateServiceResp = ServiceRestUtils.updateService(serviceDetails_02, sdncDesignerDetails); ServiceRestUtils.checkSuccess(updateServiceResp); getComponentAndValidateRIs(serviceDetails_01, 4, 0); @@ -1525,19 +1259,16 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest String capType = CAPABILITY_TYPE; String reqName = REQUIREMENT_NAME; - RestResponse getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails, - serviceDetails_01); + 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(reqCompInstId, capCompInstId, capType, reqName, - capList, reqList); + RequirementCapabilityRelDef requirementDef = getReqCapRelation(reqCompInstId, capCompInstId, capType, reqName, capList, reqList); associateComponentInstancesForService(requirementDef, serviceDetails_01, sdncDesignerDetails); - getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails, - serviceDetails_01); + getResourceResponse = ComponentRestUtils.getComponentRequirmentsCapabilities(sdncDesignerDetails, serviceDetails_01); capReqDef = ResponseParser.parseToObject(getResourceResponse.getResponse(), CapReqDef.class); List<RequirementDefinition> list = capReqDef.getRequirements().get(capType); AssertJUnit.assertEquals("Check requirement", null, list); @@ -1556,49 +1287,38 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest RestResponse response = LifecycleRestUtils.certifyResource(resourceDetailsCP_01); ResourceRestUtils.checkSuccess(response); - ArtifactReqDetails heatArtifactDetails = ElementFactory - .getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType()); - response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails, - resourceDetailsVF_02.getUniqueId()); + ArtifactReqDetails heatArtifactDetails = ElementFactory.getDefaultDeploymentArtifactForType(ArtifactTypeEnum.HEAT.getType()); + response = ArtifactRestUtils.addInformationalArtifactToResource(heatArtifactDetails, sdncDesignerDetails, resourceDetailsVF_02.getUniqueId()); ResourceRestUtils.checkSuccess(response); response = LifecycleRestUtils.certifyResource(resourceDetailsVF_02); ResourceRestUtils.checkSuccess(response); capOwnerId = getUniqueIdOfFirstInstanceFromResponse(response); - RestResponse createAtomicResourceInstance = createVFInstance(serviceDetails_01, resourceDetailsVF_02, - sdncDesignerDetails); + RestResponse createAtomicResourceInstance = createVFInstance(serviceDetails_01, resourceDetailsVF_02, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance); String vfCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance); - createAtomicResourceInstance = createAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, - sdncDesignerDetails); + createAtomicResourceInstance = createAtomicInstanceForService(serviceDetails_01, resourceDetailsCP_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createAtomicResourceInstance); String compInstName = ResponseParser.getNameFromResponse(createAtomicResourceInstance); String cpCompInstId = ResponseParser.getUniqueIdFromResponse(createAtomicResourceInstance); - RestResponse submitForTesting = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails, - LifeCycleStatesEnum.CERTIFICATIONREQUEST); - String[] variables = new String[] { serviceDetails_01.getName(), "service", "CP (Connection Point)", - compInstName, "requirement", "tosca.capabilities.network.Bindable", "fulfilled" }; - BaseValidationUtils.checkErrorResponse(submitForTesting, - ActionStatus.REQ_CAP_NOT_SATISFIED_BEFORE_CERTIFICATION, variables); + RestResponse submitForTesting = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); + String[] variables = new String[] { serviceDetails_01.getName(), "service", "CP (Connection Point)", compInstName, "requirement", "tosca.capabilities.network.Bindable", "fulfilled" }; + BaseValidationUtils.checkErrorResponse(submitForTesting, ActionStatus.REQ_CAP_NOT_SATISFIED_BEFORE_CERTIFICATION, variables); - fulfillCpRequirement(serviceDetails_01, cpCompInstId, vfCompInstId, capOwnerId, sdncDesignerDetails, - ComponentTypeEnum.SERVICE); + fulfillCpRequirement(serviceDetails_01, cpCompInstId, vfCompInstId, capOwnerId, sdncDesignerDetails, ComponentTypeEnum.SERVICE); - submitForTesting = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails, - LifeCycleStatesEnum.CERTIFICATIONREQUEST); + submitForTesting = LifecycleRestUtils.changeServiceState(serviceDetails_01, sdncDesignerDetails, LifeCycleStatesEnum.CERTIFICATIONREQUEST); BaseValidationUtils.checkSuccess(submitForTesting); } @Test public void getVFInstanceSuccessfullyTest() throws Exception { - RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, - sdncDesignerDetails); + RestResponse createVFInstResp = createCheckedinVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); ResourceRestUtils.checkCreateResponse(createVFInstResp); System.out.println("instance successfuly created"); - RestResponse getInstancesResponce = ComponentInstanceRestUtils.getComponentInstances(ComponentTypeEnum.SERVICE, - serviceDetails_01.getUniqueId(), sdncDesignerDetails); + RestResponse getInstancesResponce = ComponentInstanceRestUtils.getComponentInstances(ComponentTypeEnum.SERVICE, serviceDetails_01.getUniqueId(), sdncDesignerDetails); for (int i = 0; i < 1500; i++) { createVFInstResp = createVFInstance(serviceDetails_01, resourceDetailsVF_01, sdncDesignerDetails); @@ -1606,8 +1326,7 @@ public class ServiceComponentInstanceCRUDTest extends ComponentInstanceBaseTest System.out.println("instance " + i + "successfuly created"); } - getInstancesResponce = ComponentInstanceRestUtils.getComponentInstances(ComponentTypeEnum.SERVICE, - serviceDetails_01.getUniqueId(), sdncDesignerDetails); + getInstancesResponce = ComponentInstanceRestUtils.getComponentInstances(ComponentTypeEnum.SERVICE, serviceDetails_01.getUniqueId(), sdncDesignerDetails); BaseValidationUtils.checkSuccess(getInstancesResponce); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/UpdateServiceMetadataTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/UpdateServiceMetadataTest.java index 2f5b47452e..1865dc3292 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/UpdateServiceMetadataTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/service/UpdateServiceMetadataTest.java @@ -45,6 +45,7 @@ import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.ServiceReqDetails; import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; +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; @@ -93,12 +94,16 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { sdncGovernorDeatails = ElementFactory.getDefaultUser(UserRoleEnum.GOVERNOR); sdncTesterDetails = ElementFactory.getDefaultUser(UserRoleEnum.TESTER); sdncOpsDetails = ElementFactory.getDefaultUser(UserRoleEnum.OPS); - resourceDetailsVFCcomp = AtomicOperationUtils.createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value(); - AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVFCcomp, UserRoleEnum.DESIGNER, true, true); + resourceDetailsVFCcomp = AtomicOperationUtils + .createResourceByType(ResourceTypeEnum.VFC, UserRoleEnum.DESIGNER, true).left().value(); + AtomicOperationUtils.uploadArtifactByType(ArtifactTypeEnum.HEAT, resourceDetailsVFCcomp, UserRoleEnum.DESIGNER, + true, true); - AtomicOperationUtils.changeComponentState(resourceDetailsVFCcomp, UserRoleEnum.DESIGNER, LifeCycleStatesEnum.CERTIFY, true); + AtomicOperationUtils.changeComponentState(resourceDetailsVFCcomp, UserRoleEnum.DESIGNER, + LifeCycleStatesEnum.CERTIFY, true); Service serviceServ = AtomicOperationUtils.createDefaultService(UserRoleEnum.DESIGNER, true).left().value(); - AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceDetailsVFCcomp, serviceServ, UserRoleEnum.DESIGNER, true); + AtomicOperationUtils.addComponentInstanceToComponentContainer(resourceDetailsVFCcomp, serviceServ, + UserRoleEnum.DESIGNER, true); serviceDetails = new ServiceReqDetails(serviceServ); updatedServiceDetails = updatedServiceDetails(serviceDetails); @@ -131,36 +136,49 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { // createServiceResponse); } - protected void getServiceAndValidate(ServiceReqDetails excpectedService, User creator, User updater, LifecycleStateEnum lifeCycleState) throws Exception { - RestResponse getServiceResponse = ServiceRestUtils.getService(excpectedService.getUniqueId(), sdncDesignerDetails); + protected void getServiceAndValidate(ServiceReqDetails excpectedService, User creator, User updater, + LifecycleStateEnum lifeCycleState) throws Exception { + RestResponse getServiceResponse = ServiceRestUtils.getService(excpectedService.getUniqueId(), + sdncDesignerDetails); AssertJUnit.assertNotNull("check response object is not null after updating service", getServiceResponse); - AssertJUnit.assertNotNull("check if error code exists in response after updating service", getServiceResponse.getErrorCode()); - AssertJUnit.assertEquals("Check response code after updating service", 200, getServiceResponse.getErrorCode().intValue()); + AssertJUnit.assertNotNull("check if error code exists in response after updating service", + getServiceResponse.getErrorCode()); + AssertJUnit.assertEquals("Check response code after updating service", 200, + getServiceResponse.getErrorCode().intValue()); Service actualService = ResponseParser.convertServiceResponseToJavaObject(getServiceResponse.getResponse()); - ServiceValidationUtils.validateServiceResponseMetaData(excpectedService, actualService, creator, updater, lifeCycleState); + ServiceValidationUtils.validateServiceResponseMetaData(excpectedService, actualService, creator, updater, + lifeCycleState); } - public void getServiceAndValidate(ServiceReqDetails excpectedService, LifecycleStateEnum lifecycleState) throws Exception { + public void getServiceAndValidate(ServiceReqDetails excpectedService, LifecycleStateEnum lifecycleState) + throws Exception { getServiceAndValidate(excpectedService, sdncDesignerDetails, sdncDesignerDetails, lifecycleState); } - protected void validateResponse(RestResponse response, int errorCode, ActionStatus actionResponse, List<String> listOfVariables) throws Exception { + protected void validateResponse(RestResponse response, int errorCode, ActionStatus actionResponse, + List<String> listOfVariables) throws Exception { AssertJUnit.assertNotNull("check response object is not null after updating service", response); - AssertJUnit.assertNotNull("check if error code exists in response after updating service", response.getErrorCode()); - AssertJUnit.assertEquals("Check response code after updating service", errorCode, response.getErrorCode().intValue()); + AssertJUnit.assertNotNull("check if error code exists in response after updating service", + response.getErrorCode()); + AssertJUnit.assertEquals("Check response code after updating service", errorCode, + response.getErrorCode().intValue()); if (actionResponse != null) { - ErrorValidationUtils.checkBodyResponseOnError(actionResponse.name(), listOfVariables, response.getResponse()); + ErrorValidationUtils.checkBodyResponseOnError(actionResponse.name(), listOfVariables, + response.getResponse()); return; } Service actualService = ResponseParser.convertServiceResponseToJavaObject(response.getResponse()); - ServiceValidationUtils.validateServiceResponseMetaData(updatedServiceDetails, actualService, sdncDesignerDetails, sdncDesignerDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); + ServiceValidationUtils.validateServiceResponseMetaData(updatedServiceDetails, actualService, + sdncDesignerDetails, sdncDesignerDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); } protected void validateActualVsExpected(ServiceReqDetails expectedService, RestResponse actualServiceFromResponse) { - Service actualService = ResponseParser.convertServiceResponseToJavaObject(actualServiceFromResponse.getResponse()); - ServiceValidationUtils.validateServiceResponseMetaData(updatedServiceDetails, actualService, sdncDesignerDetails, sdncDesignerDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); + Service actualService = ResponseParser + .convertServiceResponseToJavaObject(actualServiceFromResponse.getResponse()); + ServiceValidationUtils.validateServiceResponseMetaData(updatedServiceDetails, actualService, + sdncDesignerDetails, sdncDesignerDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); } protected String multipleString(String ch, int repeat) { @@ -184,24 +202,30 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { if (field == "name") { for (char ch = (char) min; ch <= (char) max; ch++) { updatedServiceDetails.setName("testname" + String.valueOf(ch)); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); - updateWithInvalidValue(ActionStatus.INVALID_COMPONENT_NAME, new ArrayList<>(Arrays.asList("Service"))); + updatedServiceDetails.setTags( + addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updateWithInvalidValue(ActionStatus.INVALID_COMPONENT_NAME, + new ArrayList<>(Arrays.asList("Service"))); } } else if (field == "icon") { for (char ch = (char) min; ch <= (char) max; ch++) { updatedServiceDetails.setIcon("testname" + String.valueOf(ch)); - updateWithInvalidValue(ActionStatus.COMPONENT_INVALID_ICON, new ArrayList<>(Arrays.asList("Service"))); + updateWithInvalidValue(ActionStatus.COMPONENT_INVALID_ICON, + new ArrayList<>(Arrays.asList("Service"))); } } else if (field == "tags") { List<String> variables = Arrays.asList("Service", "tag"); for (char ch = (char) min; ch <= (char) max; ch++) { - updatedServiceDetails.setTags(new ArrayList<>(Arrays.asList(String.valueOf(ch), updatedServiceDetails.getName()))); + updatedServiceDetails.setTags( + new ArrayList<>(Arrays.asList(String.valueOf(ch), updatedServiceDetails.getName()))); updateWithInvalidValue(ActionStatus.INVALID_FIELD_FORMAT, variables); } } else if (field == "category") { for (char ch = (char) min; ch <= (char) max; ch++) { - updatedServiceDetails.addCategoryChain(multipleString("1", 5) + String.valueOf(ch), multipleString("1", 5) + String.valueOf(ch)); - updateWithInvalidValue(ActionStatus.COMPONENT_INVALID_CATEGORY, new ArrayList<>(Arrays.asList("Service"))); + updatedServiceDetails.addCategoryChain(multipleString("1", 5) + String.valueOf(ch), + multipleString("1", 5) + String.valueOf(ch)); + updateWithInvalidValue(ActionStatus.COMPONENT_INVALID_CATEGORY, + new ArrayList<>(Arrays.asList("Service"))); } } @@ -236,7 +260,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { } - protected void checkErrorResponse(ActionStatus actionStatus, ArrayList<String> arrList, RestResponse response) throws Exception, JSONException { + protected void checkErrorResponse(ActionStatus actionStatus, ArrayList<String> arrList, RestResponse response) + throws Exception, JSONException { ErrorValidationUtils.checkBodyResponseOnError(actionStatus.name(), arrList, response.getResponse()); } @@ -246,9 +271,94 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { } + // @Test + // public void updateMetadateSuccessTest() throws Exception { + // CloseableHttpClient httpClient = HttpClients.createDefault(); + // HttpGet httpGet = + // ServiceRestUtils.createGetServiceGetRquest(serviceDetails, + // sdncDesignerDetails); + // CloseableHttpResponse response = httpClient.execute(httpGet); + // assertTrue(response.getStatusLine().getStatusCode() == 200); + // String responseString = new + // BasicResponseHandler().handleResponse(response); + // Service serviceObject = + // ResponseParser.convertServiceResponseToJavaObject(responseString); + // assertTrue("service object creation failed the returned object is null", + // serviceObject != null); + // String currentCategory = serviceObject.getCategories().get(0).getName(); + // String currentServiceName = serviceObject.getName(); + // String currentProjectCode = serviceObject.getProjectCode(); + // String currentIcon = serviceObject.getIcon(); + // String currentDescription = serviceObject.getDescription(); + // List<String> currentTags = serviceObject.getTags(); + // + // String newCategory = ServiceCategoriesEnum.VOIP.getValue(); + // serviceDetails.addCategory(newCategory); + // // String newServiceName = "updated name"; + // // serviceDetails.setServiceName(newServiceName); + // String newProjectCode = "68686868"; + // serviceDetails.setProjectCode(newProjectCode); + // String newIcon = "updated-icon"; + // serviceDetails.setIcon(newIcon); + // String newDescription = "updated description <html></html>"; + // serviceDetails.setDescription(newDescription); + // List<String> newTags = new ArrayList<>(); + // newTags.add("update1"); + // newTags.add("update2"); + // newTags.add(currentServiceName); + // serviceDetails.setTags(newTags); + // HttpPut httpPut = + // ServiceRestUtils.createUpdateServiceMetaDataPutRequest(serviceDetails, + // sdncDesignerDetails); + // response = httpClient.execute(httpPut); + // assertTrue(response.getStatusLine().getStatusCode() == 200); + // responseString = new BasicResponseHandler().handleResponse(response); + // String serviceUid = + // ServiceRestUtils.getServiceUniqueIdFromString(responseString); + // + // ServiceReqDetails details = new ServiceReqDetails(); + // details.setUniqueId(serviceUid); + // + // httpGet = ServiceRestUtils.createGetServiceGetRquest(details, + // sdncDesignerDetails); + // response = httpClient.execute(httpGet); + // assertTrue(response.getStatusLine().getStatusCode() == 200); + // responseString = new BasicResponseHandler().handleResponse(response); + // serviceObject = + // ResponseParser.convertServiceResponseToJavaObject(responseString); + // assertTrue("service object creation failed the returned object is null", + // serviceObject != null); + // String updatedCategory = serviceObject.getCategories().get(0).getName(); + // String updatedServiceName = serviceObject.getName(); + // String updatedProjectCode = serviceObject.getProjectCode(); + // String updatedIcon = serviceObject.getIcon(); + // String updatedDescription = serviceObject.getDescription(); + // List<String> updatedTags = serviceObject.getTags(); + // assertFalse("category did not cahnge", + // currentCategory.equals(updatedCategory)); + // assertEquals("categoruy did not match expacted value", updatedCategory, + // newCategory); + // // assertFalse("service name did not change", + // currentServiceName.equals(updatedServiceName) ); + // // assertEquals("service name did not match expacted + // value",updatedServiceName,newServiceName); + // assertFalse("projectCode did not change", currentProjectCode.equals(updatedProjectCode)); + // assertEquals("projectCode not match expacted value", updatedProjectCode, newProjectCode); + // assertFalse("icon did not change", currentIcon.equals(updatedIcon)); + // assertEquals("icon did not match expacted value", updatedIcon, newIcon); + // assertFalse("description did not change", + // currentDescription.equals(updatedDescription)); + // assertEquals("description did not match expacted value", "updated + // description", updatedDescription); + // assertFalse("tags did not change", currentTags.containsAll(updatedTags)); + // assertTrue("tags did not match expacted value", + // updatedTags.containsAll(newTags)); + // } + @Test public void updateService_ByOtherDesigner() throws Exception { - RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails2); + RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, + sdncDesignerDetails2); validateResponse(updateServiceResponse, 409, ActionStatus.RESTRICTED_OPERATION, listForMessage); getServiceAndValidate(serviceDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); @@ -266,12 +376,14 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { public void updateServiceNotExist() throws Exception { updatedServiceDetails.setUniqueId("nnnnn"); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); - validateResponse(updateServiceResponse, 404, ActionStatus.SERVICE_NOT_FOUND, new ArrayList<String>(Arrays.asList(""))); + validateResponse(updateServiceResponse, 404, ActionStatus.SERVICE_NOT_FOUND, + new ArrayList<String>(Arrays.asList(""))); } @Test public void updateCheckedinService() throws Exception { - LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKIN); + LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), + LifeCycleStatesEnum.CHECKIN); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); validateResponse(updateServiceResponse, 409, ActionStatus.RESTRICTED_OPERATION, listForMessage); getServiceAndValidate(serviceDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKIN); @@ -328,7 +440,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void updateServiceByMethod_delete() throws Exception { - RestResponse updateServiceResponse = ServiceRestUtils.createServiceByHttpMethod(updatedServiceDetails, sdncDesignerDetails, "DELETE", Urls.UPDATE_SERVICE_METADATA); + RestResponse updateServiceResponse = ServiceRestUtils.createServiceByHttpMethod(updatedServiceDetails, + sdncDesignerDetails, "DELETE", Urls.UPDATE_SERVICE_METADATA); validateResponse(updateServiceResponse, 405, ActionStatus.NOT_ALLOWED, listForMessage); getServiceAndValidate(serviceDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); @@ -336,7 +449,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void updateServiceByMethod_get() throws Exception { - RestResponse updateServiceResponse = ServiceRestUtils.createServiceByHttpMethod(updatedServiceDetails, sdncDesignerDetails, "GET", Urls.UPDATE_SERVICE_METADATA); + RestResponse updateServiceResponse = ServiceRestUtils.createServiceByHttpMethod(updatedServiceDetails, + sdncDesignerDetails, "GET", Urls.UPDATE_SERVICE_METADATA); validateResponse(updateServiceResponse, 405, ActionStatus.NOT_ALLOWED, listForMessage); getServiceAndValidate(serviceDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); @@ -344,7 +458,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void updateServiceByMethod_post() throws Exception { - RestResponse updateServiceResponse = ServiceRestUtils.createServiceByHttpMethod(updatedServiceDetails, sdncDesignerDetails, "POST", Urls.UPDATE_SERVICE_METADATA); + RestResponse updateServiceResponse = ServiceRestUtils.createServiceByHttpMethod(updatedServiceDetails, + sdncDesignerDetails, "POST", Urls.UPDATE_SERVICE_METADATA); validateResponse(updateServiceResponse, 405, ActionStatus.NOT_ALLOWED, listForMessage); getServiceAndValidate(serviceDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); @@ -359,7 +474,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { { // addMandatoryArtifactsToService(); certifyService(serviceDetails, serviceDetails.getVersion()); - LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT); + LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), + LifeCycleStatesEnum.CHECKOUT); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); validateResponse(updateServiceResponse, 400, ActionStatus.SERVICE_CATEGORY_CANNOT_BE_CHANGED, listForMessage); @@ -419,6 +535,7 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { // TODO Irrelevant @Test(enabled = false) public void missingProjectCodeTest2() throws Exception { + updatedServiceDetails.setProjectCode(null); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); validateResponse(updateServiceResponse, 400, ActionStatus.MISSING_PROJECT_CODE, listForMessage); @@ -445,7 +562,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { public void missingDescriptionTest1() throws Exception { updatedServiceDetails.setDescription(StringUtils.EMPTY); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); - validateResponse(updateServiceResponse, 400, ActionStatus.COMPONENT_MISSING_DESCRIPTION, Arrays.asList("Service")); + validateResponse(updateServiceResponse, 400, ActionStatus.COMPONENT_MISSING_DESCRIPTION, + Arrays.asList("Service")); getServiceAndValidate(serviceDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); } @@ -453,7 +571,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { public void missingDescriptionTest2() throws Exception { updatedServiceDetails.setDescription(null); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); - validateResponse(updateServiceResponse, 400, ActionStatus.COMPONENT_MISSING_DESCRIPTION, Arrays.asList("Service")); + validateResponse(updateServiceResponse, 400, ActionStatus.COMPONENT_MISSING_DESCRIPTION, + Arrays.asList("Service")); getServiceAndValidate(serviceDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); } @@ -477,15 +596,18 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { public void missingTagsTest3() throws Exception { updatedServiceDetails.setTags(new ArrayList<>(Arrays.asList(StringUtils.EMPTY))); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); - validateResponse(updateServiceResponse, 400, ActionStatus.INVALID_FIELD_FORMAT, Arrays.asList("Service", "tag")); + validateResponse(updateServiceResponse, 400, ActionStatus.INVALID_FIELD_FORMAT, + Arrays.asList("Service", "tag")); getServiceAndValidate(serviceDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); } @Test public void missingTagsTest4() throws Exception { - updatedServiceDetails.setTags(new ArrayList<>(Arrays.asList(StringUtils.EMPTY, updatedServiceDetails.getName()))); + updatedServiceDetails + .setTags(new ArrayList<>(Arrays.asList(StringUtils.EMPTY, updatedServiceDetails.getName()))); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); - validateResponse(updateServiceResponse, 400, ActionStatus.INVALID_FIELD_FORMAT, Arrays.asList("Service", "tag")); + validateResponse(updateServiceResponse, 400, ActionStatus.INVALID_FIELD_FORMAT, + Arrays.asList("Service", "tag")); getServiceAndValidate(serviceDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); } @@ -535,7 +657,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { // values------------------------------------------ @Test public void contactIdValidationTest7() throws Exception { - LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKIN); + LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), + LifeCycleStatesEnum.CHECKIN); updatedServiceDetails.setContactId("ab0001"); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); checkErrorResponse(ActionStatus.RESTRICTED_OPERATION, listForMessage, updateServiceResponse); @@ -546,7 +669,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { // addMandatoryArtifactsToService(); RestResponse certifyServiceResp = LifecycleRestUtils.certifyService(serviceDetails); - Service certifyServiceServ = ResponseParser.convertServiceResponseToJavaObject(certifyServiceResp.getResponse()); + Service certifyServiceServ = ResponseParser + .convertServiceResponseToJavaObject(certifyServiceResp.getResponse()); ServiceReqDetails certifyService = new ServiceReqDetails(certifyServiceServ); updatedServiceDetails = new ServiceReqDetails(certifyService); updatedServiceDetails.setContactId("ab0001"); @@ -660,7 +784,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { public void contactIdValidationTest26() throws Exception { // addMandatoryArtifactsToService(); certifyService(serviceDetails, serviceDetails.getVersion()); - LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT); + LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), + LifeCycleStatesEnum.CHECKOUT); updatedServiceDetails = new ServiceReqDetails(serviceDetails); updatedServiceDetails.setContactId("xy0002"); correctUpdate(); @@ -669,77 +794,88 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void serviceNameValidationTest1() throws Exception { updatedServiceDetails.setName(multipleString("a", 49)); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); correctUpdate(); } @Test public void serviceNameValidationTest2() throws Exception { updatedServiceDetails.setName(multipleString("b", 50)); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); correctUpdate(); } @Test public void serviceNameValidationTest3() throws Exception { updatedServiceDetails.setName("testNamE"); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); correctUpdate(); } @Test public void serviceNameValidationTest4() throws Exception { updatedServiceDetails.setName("Testname"); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); correctUpdate(); } @Test public void serviceNameValidationTest5() throws Exception { updatedServiceDetails.setName("Test_name"); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); correctUpdate(); } @Test public void serviceNameValidationTest6() throws Exception { updatedServiceDetails.setName("Test name"); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); correctUpdate(); } @Test public void serviceNameValidationTest7() throws Exception { updatedServiceDetails.setName("Test-name"); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); correctUpdate(); } @Test public void serviceNameValidationTest8() throws Exception { updatedServiceDetails.setName("Test.name"); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); correctUpdate(); } @Test public void serviceNameValidationTest9() throws Exception { updatedServiceDetails.setName("...1..."); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); correctUpdate(); } @Test public void serviceNameValidationTest10() throws Exception { updatedServiceDetails.setName("-a_1. Arrrrrr"); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); correctUpdate(); } @Test public void serviceNameValidationTest11() throws Exception { updatedServiceDetails.setName("Testname1234567890"); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); correctUpdate(); } @@ -747,20 +883,24 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { public void serviceNameValidationTest14() throws Exception { updatedServiceDetails.setName(StringUtils.SPACE); // one space with // nothing - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); // updateWithInvalidValue(ActionStatus.INVALID_COMPONENT_NAME, new // ArrayList<>(Arrays.asList("Service"))); - validateResponse(updateServiceResponse, 400, ActionStatus.MISSING_COMPONENT_NAME, new ArrayList<>(Arrays.asList("Service"))); + validateResponse(updateServiceResponse, 400, ActionStatus.MISSING_COMPONENT_NAME, + new ArrayList<>(Arrays.asList("Service"))); } // ------------------------------------------invalid // values------------------------------------------ @Test public void serviceNameValidationTest12() throws Exception { - LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKIN); + LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), + LifeCycleStatesEnum.CHECKIN); updatedServiceDetails.setName("TestNamE"); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); checkErrorResponse(ActionStatus.RESTRICTED_OPERATION, listForMessage, updateServiceResponse); getServiceAndValidate(serviceDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKIN); @@ -769,8 +909,10 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void serviceNameValidationTest13() throws Exception { updatedServiceDetails.setName(multipleString("c", 51)); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); - updateWithInvalidValue(ActionStatus.COMPONENT_NAME_EXCEEDS_LIMIT, new ArrayList<>(Arrays.asList("Service", "50"))); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updateWithInvalidValue(ActionStatus.COMPONENT_NAME_EXCEEDS_LIMIT, + new ArrayList<>(Arrays.asList("Service", "50"))); } @Test @@ -784,7 +926,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { LifecycleRestUtils.certifyService(serviceDetails); updatedServiceDetails.setName("testnamename"); updatedServiceDetails.setCategories(serviceDetails.getCategories()); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); checkErrorResponse(ActionStatus.RESTRICTED_OPERATION, listForMessage, updateServiceResponse); getServiceAndValidate(serviceDetails, sdncDesignerDetails, sdncTesterDetails, LifecycleStateEnum.CERTIFIED); @@ -794,11 +937,14 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { public void serviceNameValidationTest17() throws Exception { // addMandatoryArtifactsToService(); certifyService(serviceDetails, serviceDetails.getVersion()); - LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT); + LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), + LifeCycleStatesEnum.CHECKOUT); updatedServiceDetails.setName("TestNamE"); updatedServiceDetails.setCategories(serviceDetails.getCategories()); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); - RestResponse updateServiceResponse2 = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + RestResponse updateServiceResponse2 = ServiceRestUtils.updateService(updatedServiceDetails, + sdncDesignerDetails); validateResponse(updateServiceResponse2, 400, ActionStatus.SERVICE_NAME_CANNOT_BE_CHANGED, listForMessage); getServiceAndValidate(serviceDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); } @@ -806,8 +952,10 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void serviceNameValidationTest18() throws Exception { updatedServiceDetails.setName(" testname "); - updatedServiceDetails.setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); - RestResponse updateServiceResponse1 = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); + updatedServiceDetails + .setTags(addServiceNameToTagsList(updatedServiceDetails.getName(), updatedServiceDetails.getTags())); + RestResponse updateServiceResponse1 = ServiceRestUtils.updateService(updatedServiceDetails, + sdncDesignerDetails); assertNotNull(updateServiceResponse1); assertNotNull(updateServiceResponse1.getErrorCode()); assertEquals(200, updateServiceResponse1.getErrorCode().intValue()); @@ -860,7 +1008,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void iconValidationTest8() throws Exception { - LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKIN); + LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), + LifeCycleStatesEnum.CHECKIN); updatedServiceDetails.setIcon("TestNamE"); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); checkErrorResponse(ActionStatus.RESTRICTED_OPERATION, listForMessage, updateServiceResponse); @@ -905,14 +1054,16 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void iconValidationTest14() throws Exception { updatedServiceDetails.setIcon(multipleString("c", 26)); - updateWithInvalidValue(ActionStatus.COMPONENT_ICON_EXCEEDS_LIMIT, new ArrayList<>(Arrays.asList("Service", "25"))); + updateWithInvalidValue(ActionStatus.COMPONENT_ICON_EXCEEDS_LIMIT, + new ArrayList<>(Arrays.asList("Service", "25"))); } @Test public void iconValidationTest15() throws Exception { // addMandatoryArtifactsToService(); RestResponse certifyServiceResp = LifecycleRestUtils.certifyService(serviceDetails); - Service certifyServiceServ = ResponseParser.convertServiceResponseToJavaObject(certifyServiceResp.getResponse()); + Service certifyServiceServ = ResponseParser + .convertServiceResponseToJavaObject(certifyServiceResp.getResponse()); ServiceReqDetails certifyService = new ServiceReqDetails(certifyServiceServ); updatedServiceDetails = new ServiceReqDetails(certifyService); updatedServiceDetails.setIcon("testnamename"); @@ -924,7 +1075,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { public void iconValidationTest16() throws Exception { // addMandatoryArtifactsToService(); certifyService(serviceDetails, serviceDetails.getVersion()); - LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT); + LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), + LifeCycleStatesEnum.CHECKOUT); updatedServiceDetails = new ServiceReqDetails(serviceDetails); updatedServiceDetails.setIcon("TestNamE"); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); @@ -939,7 +1091,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void categoryValidationTest1() throws Exception { - LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKIN); + LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), + LifeCycleStatesEnum.CHECKIN); updatedServiceDetails.addCategory(ServiceCategoriesEnum.VOIP.getValue()); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); checkErrorResponse(ActionStatus.RESTRICTED_OPERATION, listForMessage, updateServiceResponse); @@ -981,7 +1134,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { public void categoryValidationTest6() throws Exception { // addMandatoryArtifactsToService(); certifyService(serviceDetails, serviceDetails.getVersion()); - LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT); + LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), + LifeCycleStatesEnum.CHECKOUT); updatedServiceDetails = new ServiceReqDetails(serviceDetails); updatedServiceDetails = serviceDetails; List<CategoryDefinition> categories = updatedServiceDetails.getCategories(); @@ -990,7 +1144,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { categoryDefinition2.setName("ccc"); categories.set(0, categoryDefinition2); updatedServiceDetails.setCategories(categories); - RestResponse updateServiceResponse2 = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); + RestResponse updateServiceResponse2 = ServiceRestUtils.updateService(updatedServiceDetails, + sdncDesignerDetails); validateResponse(updateServiceResponse2, 400, ActionStatus.SERVICE_CATEGORY_CANNOT_BE_CHANGED, listForMessage); getServiceAndValidate(serviceDetails, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT); } @@ -1011,19 +1166,22 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void tagsValidationTest1() throws Exception { - updatedServiceDetails.setTags(new ArrayList<>(Arrays.asList(multipleString("a", 49), updatedServiceDetails.getName()))); + updatedServiceDetails + .setTags(new ArrayList<>(Arrays.asList(multipleString("a", 49), updatedServiceDetails.getName()))); correctUpdate(); } @Test public void tagsValidationTest2() throws Exception { - updatedServiceDetails.setTags(new ArrayList<>(Arrays.asList(multipleString("B", 50), updatedServiceDetails.getName()))); + updatedServiceDetails + .setTags(new ArrayList<>(Arrays.asList(multipleString("B", 50), updatedServiceDetails.getName()))); correctUpdate(); } @Test public void tagsValidationTest3() throws Exception { - updatedServiceDetails.setTags(new ArrayList<>(Arrays.asList(multipleString("A", 50), multipleString("B", 50), updatedServiceDetails.getName()))); + updatedServiceDetails.setTags(new ArrayList<>( + Arrays.asList(multipleString("A", 50), multipleString("B", 50), updatedServiceDetails.getName()))); correctUpdate(); } @@ -1077,7 +1235,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void tagsValidationTest13() throws Exception { - updatedServiceDetails.setTags(new ArrayList<>(Arrays.asList("Testtag1234567890", updatedServiceDetails.getName()))); + updatedServiceDetails + .setTags(new ArrayList<>(Arrays.asList("Testtag1234567890", updatedServiceDetails.getName()))); correctUpdate(); } @@ -1089,7 +1248,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void tagsValidationTest15() throws Exception { - LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKIN); + LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), + LifeCycleStatesEnum.CHECKIN); updatedServiceDetails.setTags(new ArrayList<>(Arrays.asList("TestTaG", updatedServiceDetails.getName()))); RestResponse updateServiceResponse = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); checkErrorResponse(ActionStatus.RESTRICTED_OPERATION, listForMessage, updateServiceResponse); @@ -1109,7 +1269,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { public void tagsValidationTest17() throws Exception { // addMandatoryArtifactsToService(); certifyService(serviceDetails, serviceDetails.getVersion()); - LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), LifeCycleStatesEnum.CHECKOUT); + LifecycleRestUtils.changeServiceState(serviceDetails, sdncDesignerDetails, serviceDetails.getVersion(), + LifeCycleStatesEnum.CHECKOUT); updatedServiceDetails = new ServiceReqDetails(serviceDetails); updatedServiceDetails.setTags(new ArrayList<>(Arrays.asList("TestTaG", updatedServiceDetails.getName()))); correctUpdate(); @@ -1124,7 +1285,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { tagsList.add(updatedServiceDetails.getName()); while (tagsCount > maxLengthTag) { tagsList.add(multipleString("a", maxLengthTag)); - tagsCount -= maxLengthTag + 1 + 1/* (50 and comma of each tag + one space, totally 52) */; + tagsCount -= maxLengthTag + 1 + + 1/* (50 and comma of each tag + one space, totally 52) */; } tagsList.add(multipleString("a", tagsCount)); updatedServiceDetails.setTags(tagsList); @@ -1134,7 +1296,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void tagsValidationTest19() throws Exception { updatedServiceDetails.setTags(new ArrayList<>(Arrays.asList(" Tag ", updatedServiceDetails.getName()))); - RestResponse updateServiceResponse1 = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); + RestResponse updateServiceResponse1 = ServiceRestUtils.updateService(updatedServiceDetails, + sdncDesignerDetails); assertNotNull(updateServiceResponse1); assertNotNull(updateServiceResponse1.getErrorCode()); assertEquals(200, updateServiceResponse1.getErrorCode().intValue()); @@ -1201,7 +1364,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void descriptionValidationTest6() throws Exception { updatedServiceDetails.setDescription("desc\tription"); - RestResponse updateServiceResponse1 = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); + RestResponse updateServiceResponse1 = ServiceRestUtils.updateService(updatedServiceDetails, + sdncDesignerDetails); assertNotNull(updateServiceResponse1); assertNotNull(updateServiceResponse1.getErrorCode()); assertEquals(200, updateServiceResponse1.getErrorCode().intValue()); @@ -1213,7 +1377,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void descriptionValidationTest7() throws Exception { updatedServiceDetails.setDescription("desc ription "); - RestResponse updateServiceResponse2 = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); + RestResponse updateServiceResponse2 = ServiceRestUtils.updateService(updatedServiceDetails, + sdncDesignerDetails); assertNotNull(updateServiceResponse2); assertNotNull(updateServiceResponse2.getErrorCode()); assertEquals(200, updateServiceResponse2.getErrorCode().intValue()); @@ -1225,7 +1390,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void descriptionValidationTest8() throws Exception { updatedServiceDetails.setDescription("desc" + StringUtils.LF + "ription"); - RestResponse updateServiceResponse3 = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); + RestResponse updateServiceResponse3 = ServiceRestUtils.updateService(updatedServiceDetails, + sdncDesignerDetails); assertNotNull(updateServiceResponse3); assertNotNull(updateServiceResponse3.getErrorCode()); assertEquals(200, updateServiceResponse3.getErrorCode().intValue()); @@ -1237,7 +1403,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void descriptionValidationTest9() throws Exception { updatedServiceDetails.setDescription("<html>Hello, <b>world!</b></html>"); - RestResponse updateServiceResponse4 = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); + RestResponse updateServiceResponse4 = ServiceRestUtils.updateService(updatedServiceDetails, + sdncDesignerDetails); assertNotNull(updateServiceResponse4); assertNotNull(updateServiceResponse4.getErrorCode()); assertEquals(200, updateServiceResponse4.getErrorCode().intValue()); @@ -1262,8 +1429,9 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void descriptionValidationTest10_b() throws Exception { - updatedServiceDetails.setDescription("\uC2B5"); - RestResponse updateServiceResponse5 = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); + updatedServiceDetails.setDescription("\uC2B5abc"); + RestResponse updateServiceResponse5 = ServiceRestUtils.updateService(updatedServiceDetails, + sdncDesignerDetails); assertNotNull(updateServiceResponse5); assertNotNull(updateServiceResponse5.getErrorCode()); assertEquals(200, updateServiceResponse5.getErrorCode().intValue()); @@ -1276,7 +1444,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void descriptionValidationTest11() throws Exception { updatedServiceDetails.setDescription("&<>"); - RestResponse updateServiceResponse6 = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); + RestResponse updateServiceResponse6 = ServiceRestUtils.updateService(updatedServiceDetails, + sdncDesignerDetails); assertNotNull(updateServiceResponse6); assertNotNull(updateServiceResponse6.getErrorCode()); assertEquals(200, updateServiceResponse6.getErrorCode().intValue()); @@ -1288,7 +1457,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void descriptionValidationTest12() throws Exception { updatedServiceDetails.setDescription("文 test"); - RestResponse updateServiceResponse7 = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); + RestResponse updateServiceResponse7 = ServiceRestUtils.updateService(updatedServiceDetails, + sdncDesignerDetails); assertNotNull(updateServiceResponse7); assertNotNull(updateServiceResponse7.getErrorCode()); assertEquals(200, updateServiceResponse7.getErrorCode().intValue()); @@ -1300,7 +1470,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void descriptionValidationTest13() throws Exception { updatedServiceDetails.setDescription(" description"); - RestResponse updateServiceResponse8 = ServiceRestUtils.updateService(updatedServiceDetails, sdncDesignerDetails); + RestResponse updateServiceResponse8 = ServiceRestUtils.updateService(updatedServiceDetails, + sdncDesignerDetails); assertNotNull(updateServiceResponse8); assertNotNull(updateServiceResponse8.getErrorCode()); assertEquals(200, updateServiceResponse8.getErrorCode().intValue()); @@ -1312,7 +1483,8 @@ public class UpdateServiceMetadataTest extends ComponentBaseTest { @Test public void descriptionValidationTest14() throws Exception { updatedServiceDetails.setDescription(multipleString("a", 1025)); - updateWithInvalidValue(ActionStatus.COMPONENT_DESCRIPTION_EXCEEDS_LIMIT, new ArrayList<>(Arrays.asList("Service", "1024"))); + updateWithInvalidValue(ActionStatus.COMPONENT_DESCRIPTION_EXCEEDS_LIMIT, + new ArrayList<>(Arrays.asList("Service", "1024"))); } @Test diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/user/ActivateDeActivateDeleteUser.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/user/ActivateDeActivateDeleteUser.java index c83018241b..e1bc3c9dde 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/user/ActivateDeActivateDeleteUser.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/user/ActivateDeActivateDeleteUser.java @@ -430,7 +430,7 @@ public class ActivateDeActivateDeleteUser extends ComponentBaseTest { mapAllUsersOnResponse.remove(sdncAdminUser.getUserId()); logger.debug("map Of all Admin users exclude one : {}", mapAllUsersOnResponse); - // deActivate all Admin users from the userIdAllAdminList list + // deActivate all Admin users from the UserIdAllAdminList list for (Entry<String, User> entry : mapAllUsersOnResponse.entrySet()) { UserRestUtils.deActivateUser(entry.getValue(), sdncAdminUser); } @@ -651,133 +651,6 @@ public class ActivateDeActivateDeleteUser extends ComponentBaseTest { } - // test check the service accessibility via catalog view, service was - // created by user which was deActivated - - // @Test - // public void serviceAccessibility() throws Exception{ - // - // User sdncUserDetails = getDefaultUserDetails(); - //// fill new service details - // ServiceReqDetails serviceDetails = ElementFactory.getDefaultService(); - // String serviceBaseVersion = "0.1"; - // - // try{ - // //Delete service - //// ServiceRestUtils.deleteService_allVersions(serviceDetails, - // sdncAdminUser); - // UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true); - // - // DbUtils.cleanAllAudits(); - // RestResponse createUserResponse = - // UserRestUtils.createUser(sdncUserDetails, sdncAdminUser); - // validateSuccessCreateUserResponse(sdncUserDetails, createUserResponse); - // - //// ------------------------Start create - // service--------------------------------------------------------------------------------- - // RestResponse restResponse = - // ServiceRestUtils.createService(serviceDetails, sdncUserDetails); - // - // assertNotNull("check response object is not null after create service", - // restResponse); - // assertNotNull("check error code exists in response after create service", - // restResponse.getErrorCode()); - // assertEquals("Check response code after create service", 201, - // restResponse.getErrorCode().intValue()); - // - //// validate create service response vs actual - // - // Service service = - // ServiceRestUtils.convertServiceResponseToJavaObject(restResponse.getResponse()); - // UserValidationUtils.validateServiceResponseMetaData(serviceDetails,service,sdncUserDetails, - // (LifecycleStateEnum)null); - // - //// validate get service response vs actual - // restResponse = ServiceRestUtils.getService(serviceDetails.getUniqueId(), - // sdncUserDetails); - // service = - // ServiceRestUtils.convertServiceResponseToJavaObject(restResponse.getResponse()); - // UserValidationUtils.validateServiceResponseMetaData(serviceDetails,service,sdncUserDetails, - // (LifecycleStateEnum)null); - // - // //validate audit - // - // ExpectedResourceAuditJavaObject expectedResourceAuditJavaObject = - // ServiceRestUtils.constructFieldsForAuditValidation(serviceDetails, - // serviceBaseVersion, sdncUserDetails); - // - // String auditAction="Create"; - // expectedResourceAuditJavaObject.setAction(auditAction); - // expectedResourceAuditJavaObject.setPrevState(""); - // expectedResourceAuditJavaObject.setPrevVersion(""); - // expectedResourceAuditJavaObject.setCurrState((LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT).toString()); - // expectedResourceAuditJavaObject.setStatus("201"); - // expectedResourceAuditJavaObject.setDesc("OK"); - // - // AuditValidationUtils.validateAudit(expectedResourceAuditJavaObject, - // auditAction, null, false); - // - //// ------------------------End create - // service--------------------------------------------------------------------------------- - // - //// clean audit before authorization test - // DbUtils.cleanAllAudits(); - // - //// deActivate created user - // RestResponse deActivateUserResponse = - // UserRestUtils.deActivateUser(sdncUserDetails,sdncAdminUser); - // sdncUserDetails.setStatus(UserStatusEnum.INACTIVE); - // validateSuccessDeActivateUserResponse(sdncUserDetails, - // deActivateUserResponse); - // - // UserValidationUtils.validateDeleteUserAuditMessage(sdncUserDetails, - // sdncAdminUser, "200", UserResponseMessageEnum.SUCCESS_MESSAGE.getValue(), - // UserValidationUtils.getAddUserAuditMessage("DeleteUser")); - // - // ErrorInfo errorInfo = - // ErrorValidationUtils.parseErrorConfigYaml(ActionStatus.USER_INACTIVE.name()); - // RestResponse getUserResponse = UserRestUtils.getUser(sdncUserDetails, - // sdncAdminUser); - // - // assertEquals("Check response code after deActive user", - // errorInfo.getCode(), getUserResponse.getErrorCode()); - // - // List<String> variables = Arrays.asList(sdncUserDetails.getUserId()); - // ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.USER_INACTIVE.name(), - // variables, getUserResponse.getResponse()); - // - // //checking if created service is accessible - // DbUtils.cleanAllAudits(); - // - // RestResponse getCatalogDataResponse = - // CatalogRestUtils.getCatalog(sdncAdminUser.getUserId()); - // - // //validate response - // - // assertNotNull("check response object is not null after user login", - // getCatalogDataResponse); - // assertNotNull("check error code exists in response after user login", - // getCatalogDataResponse.getErrorCode()); - // assertEquals("Check response code after deActive user", 200, - // getCatalogDataResponse.getErrorCode().intValue()); - // - //// expected service list - // List<String> serviceExpectedUniqIdList= new ArrayList<String>(); - // serviceExpectedUniqIdList.add(serviceDetails.getUniqueId()); - // logger.debug("serviceExpectedUniqIdList: {}", serviceExpectedUniqIdList); - // - // compareServiceUniqIdList(getCatalogDataResponse.getResponse(), - // serviceExpectedUniqIdList, true); - // - // - // }finally{ - //// ServiceRestUtils.deleteService_allVersions(serviceDetails, - // sdncAdminUser); - // UserRestUtils.deleteUser(sdncUserDetails, sdncAdminUser, true); - // } - // - // } - public void compareServiceUniqIdList(String response, List<String> expectedList, boolean flag) { JsonElement jelement = new JsonParser().parse(response); @@ -811,14 +684,14 @@ public class ActivateDeActivateDeleteUser extends ComponentBaseTest { resourceReqDetailsListOnResponse.add(json); } - logger.debug("ResourceReqDetails list on response: {}", resourceReqDetailsListOnResponse); + logger.debug("ResourceReqDetails list on response: {}",resourceReqDetailsListOnResponse); List<String> resourceActualUniqIdList = new ArrayList<String>(); for (ResourceReqDetails resource : resourceReqDetailsListOnResponse) { resourceActualUniqIdList.add(resource.getUniqueId()); } - logger.debug("resourceActualUniqIdList on response: {}", resourceActualUniqIdList); - logger.debug("resourceExpectedUniqIdList on response: {}", expectedList); + logger.debug("resourceActualUniqIdList on response: {}",resourceActualUniqIdList); + logger.debug("resourceExpectedUniqIdList on response: {}",expectedList); if (flag) { assertTrue("actual list does not contain expected list", @@ -829,4 +702,55 @@ public class ActivateDeActivateDeleteUser extends ComponentBaseTest { } } + // public User getDefaultUserDetails(){ + // + // String userFirstName = "Kot"; + // String userLastName = "May"; + // String role = UserRoleEnum.ADMIN.name(); + // User sdncUserDetails = new User(userFirstName, userLastName, + // httpCspUserId, email, role,null); + // + // return sdncUserDetails; + // } + // + // public void validateSuccessCreateUserResponse(User sdncUserDetails, + // RestResponse createUserResponse) throws Exception{ + // + // assertNotNull("check response object is not null after create user", + // createUserResponse); + // assertNotNull("check error code exists in response after create user", + // createUserResponse.getErrorCode()); + // assertEquals("Check response code after create user", + // HttpStatus.SC_CREATED, createUserResponse.getErrorCode().intValue()); + // + // UserRestUtils.validateUserDetailsOnResponse(sdncUserDetails, + // createUserResponse.getResponse()); + // UserRestUtils.validateAddUserAuditMessage(sdncUserDetails, sdncAdminUser, + // String.valueOf(HttpStatus.SC_CREATED), + // UserResponseMessageEnum.SUCCESS_MESSAGE.getValue(), + // UserRestUtils.getAddUserAuditMessage("AddUser")); + // RestResponse getUserResponse = UserRestUtils.getUser(sdncUserDetails, + // sdncAdminUser); + // UserRestUtils.validateUserDetailsOnResponse(sdncUserDetails, + // getUserResponse.getResponse()); + // + // } + // + // public void validateSuccessDeActivateUserResponse(User sdncUserDetails, + // RestResponse deActivateUserResponse) throws Exception{ + // + // assertNotNull("check response object is not null after deActive user", + // deActivateUserResponse); + // assertNotNull("check error code exists in response after deActive user", + // deActivateUserResponse.getErrorCode()); + // assertEquals("Check response code after deActive user", 200, + // deActivateUserResponse.getErrorCode().intValue()); + // + // UserRestUtils.validateUserDetailsOnResponse(sdncUserDetails, + // deActivateUserResponse.getResponse()); + // UserRestUtils.validateDeleteUserAuditMessage(sdncUserDetails, + // sdncAdminUser, "200", UserResponseMessageEnum.SUCCESS_MESSAGE.getValue(), + // UserRestUtils.getAddUserAuditMessage("DeleteUser")); + // + } diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/user/CreateUserApiTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/user/CreateUserApiTest.java index 8684910a18..2a79539443 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/user/CreateUserApiTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/user/CreateUserApiTest.java @@ -1006,7 +1006,250 @@ public class CreateUserApiTest extends ComponentBaseTest { assertEquals("Check response code after deleting user", 200, deleteOpsUser.getErrorCode().intValue()); } - + + // create user with one optional parameter last name (UserID, Email, Last + // Name, Creator details) + // expected: role = DESIGNER, first name = null, 201 Created + // @Test + // public void createUserLastName(){ + // // send POST create user request + // // validate data on response + // // check the audit message + // } + // + // // create user with one optional parameter role name (UserID, Email, Role + // = "TESTER", Creator details) + // // expected: first and last name = null, 201 Created + // @Test + // public void createUserRoleName(){ + // // send POST create user request + // // validate data on response + // // check the audit message + // } + // + // // create user with two optional parameters first name and role (UserID, + // Email, First Name, Role = "ADMIN", Creator details) + // // expected: last name = null, 201 Created + // @Test + // public void createUserFirstNameAndRole(){ + // // send POST create user request + // // validate data on response + // // check the audit message + // } + // + // // create user with two optional parameters first and last name(UserID, + // Email, First Name, Last name, Creator details) + // // expected: role = DESIGNER, 201 Created + // @Test + // public void createUserFirstAndLastName(){ + // // send POST create user request + // // validate data on response + // // check the audit message + // } + // + // + // + // + // + // // + // **********************************************************Create*user*failed*************************************************** + // + // // + // **********************************************************403*************************************************** + // // create default user without creator details (UserID, Email) + // // expected: 403 Forbidden, error message:"Error : Missing information" + // @Test + // public void createDefaultUserNonCreatorDetails(){ + // // send POST create user request + // // validate data on response + // // check the audit message + // } + // + // + // // create user with part of creator details (UserID, Email, First name, + // Last Name, Role, Part of creator details) + // // expected: 403 Forbidden, error message:"Error : Missing information" + // @Test + // public void createUserPartOfCreatorDetails(){ + // // send POST create user request + // // validate data on response + // // check the audit message + // } + // + // // create user with full parameter set, non admin creator(UserID, First + // Name, Last Name, Email, Role, Creator details) + // // expected: 403 Forbidden, error message: + // "Error : Restricted operation" + // @Test + // public void createUserNonAdminCreator(){ + // // send POST create user request + // // validate data on response + // // check the audit message + // } + // + // + // // + // **********************************************************405*************************************************** + // + // // create user with full parameter set by sending http PUT request + // (UserID, First Name, Last Name, Email, Role, Creator details) + // // expected: 405 not Allowed, error message: + // "Error : Method not allowed" + // @Test + // public void createUserPutRequest(){ + // // send PUT create user request + // // validate data on response + // // check the audit message + // } + // + // + // // create default user by sending http PUT request (UserID, Email, + // Creator details) + // // expected: 405 not Allowed, error message: + // "Error : Method not allowed" + // @Test + // public void createDefaultUserPutRequest(){ + // // send PUT create user request + // // validate data on response + // // check the audit message + // } + // + // + // // create user with full parameter set by sending http DELETE request + // (UserID, First Name, Last Name, Email, Role, Creator details) + // // expected: 405 not Allowed, error message: + // "Error : Method not allowed" + // @Test + // public void createUserDeleteRequest(){ + // // send DELETE create user request + // // validate data on response + // // check the audit message + // } + // + // + // // create default user by sending http DELETE request (UserID, Email, + // Creator details) + // // expected: 405 not Allowed, error message: + // "Error : Method not allowed" + // @Test + // public void createDefaultUserDeleteRequest(){ + // // send DELETE create user request + // // validate data on response + // // check the audit message + // } + // + // + // // create user with full parameter set by sending http GET request + // (UserID, First Name, Last Name, Email, Role, Creator details) + // // expected: 405 not Allowed, error message: + // "Error : Method not allowed" + // @Test + // public void createUserGetRequest(){ + // // send GET create user request + // // validate data on response + // // check the audit message + // } + // + // + // // create default user by sending http GET request (UserID, Email, + // Creator details) + // // expected: 405 not Allowed, error message: + // "Error : Method not allowed" + // @Test + // public void createDefaultUserGetRequest(){ + // // send GET create user request + // // validate data on response + // // check the audit message + // } + // + // + // // + // **********************************************************409*************************************************** + // + // // create the same user twice with full parameter set(UserID, First Name, + // Last Name, Email, Role, Creator details) + // // expected 409 Conflict, error message: + // "Error : User with '%s' ID already exists", where: %s - UserId + // @Test + // public void createSameUserTwice(){ + // // send POST create user request + // // validate data on response + // // send POST create user request + // // validate data on response + // // check the audit message + // } + // + // // create user twice, first full details (UserID, First Name, Last Name, + // Email, Role, Creator details), second default user (UserID, Email, Role, + // Creator details) + // // expected 409 Conflict, error message: + // "Error : User with '%s' ID already exists", where: %s - UserId + // @Test + // public void createFullThanDefaultUserTwice(){ + // // send POST create user request + // + // // validate data on response + // // send POST create user request + // // validate data on response + // // check the audit message + // } + // + // // create user twice, first default user (UserID, Email, Role, Creator + // details), second full details (UserID, First Name, Last Name, Email, + // Role, Creator details) + // // expected 409 Conflict, error message: + // "Error : User with '%s' ID already exists", where: %s - UserId + // @Test + // public void createDefaulThanFullUserTwice(){ + // // send POST create user request + // + // // validate data on response + // // send POST create user request + // // validate data on response + // // check the audit message + // } + // + // + // // + // **********************************************************400*************************************************** + // // create default user with invalid email address format(UserID, Email, + // Creator details) + // // expected: 400, error message: + // "Error : Invalid Content . Invalid e-mail address '%s'", where %s - + // email address + // @Test + // public void createDefaultUserInvalidEmailAddressFormat(){ + // // send GET create user request + // // validate data on response + // // check the audit message + // } + // + // // create an user with invalid role type (UserID, Email,Role = "TESTER-1" + // ,Creator details) + // // expected: 400, error message: + // "Error : Invalid Content . Invalid role '%s'", where %s - role type + // @Test + // public void createUserInvalidRoleType(){ + // // send GET create user request + // // validate data on response + // // check the audit message + // } + // + // // + // **********************************************************500*************************************************** + // // create default user when BE is down (UserID, Email, Creator details) + // // expected: 500, error message: + // "Error : Internal Server Error . Try later again." + // @Test + // public void createDefaultUserBeNoAccess(){ + // // send GET create user request + // // validate data on response + // // check the audit message + // } + // + + // Benny US570551 + @Test public void createProductManagerUser() throws Exception { String httpCspUserId = "pm1000"; @@ -1184,7 +1427,6 @@ public class CreateUserApiTest extends ComponentBaseTest { noSdncUserDetails.setRole("blabla"); noSdncUserDetails.setUserId("bt750h"); User expectedProductStrategistUser = new User(userFirstName, userLastName, httpCspUserId, email, role, null); - DbUtils.deleteFromEsDbByPattern("_all"); // create user RestResponse createUserResponse = UserRestUtils.createUser(expectedProductStrategistUser, noSdncUserDetails); diff --git a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/user/GovernorWorkspaceApiTest.java b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/user/GovernorWorkspaceApiTest.java index a7552ad3be..9a7f68264f 100644 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/user/GovernorWorkspaceApiTest.java +++ b/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/user/GovernorWorkspaceApiTest.java @@ -47,7 +47,9 @@ import org.openecomp.sdc.ci.tests.datatypes.enums.ArtifactTypeEnum; import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum; import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; +import org.openecomp.sdc.ci.tests.execute.lifecycle.LCSbaseTest; import org.openecomp.sdc.ci.tests.utils.DbUtils; +import org.openecomp.sdc.ci.tests.utils.Utils; import org.openecomp.sdc.ci.tests.utils.general.AtomicOperationUtils; import org.openecomp.sdc.ci.tests.utils.general.ElementFactory; import org.openecomp.sdc.ci.tests.utils.rest.ArtifactRestUtils; @@ -125,47 +127,10 @@ public class GovernorWorkspaceApiTest extends ComponentBaseTest { tags = serviceDetails33.getTags(); tags.add(serviceDetails33.getName()); serviceDetails33.setTags(tags); - // - // serviceUtils.deleteService_allVersions(serviceDetails11, designer1); - // serviceUtils.deleteService_allVersions(serviceDetails22, designer1); - // serviceUtils.deleteService_allVersions(serviceDetails33, designer1); - + RestResponse createServiceResponse1 = createService(user, serviceDetails11); RestResponse createServiceResponse2 = createService(user, serviceDetails22); RestResponse createServiceResponse3 = createService(user, serviceDetails33); - - // addResourceWithHeatArt(); - // - // serviceUtils.addServiceMandatoryArtifacts(user, - // createServiceResponse1); - // - // - // RestResponse createServiceResponse2 = - // serviceUtils.createServiceTowardsCatalogBe(serviceDetails22, user); - // assertNotNull("check response object is not null after creating - // service", createServiceResponse2); - // assertNotNull("check if error code exists in response after creating - // service", createServiceResponse2.getErrorCode()); - // assertEquals("Check response code after creating service", 201, - // createServiceResponse2.getErrorCode().intValue()); - // serviceDetails22.setUniqueId(serviceUtils.getServiceUniqueId(createServiceResponse2)); - // logger.debug("Created service2 = {}", serviceDetails22); - // serviceUtils.addServiceMandatoryArtifacts(user, - // createServiceResponse2); - // - // RestResponse createServiceResponse3 = - // serviceUtils.createServiceTowardsCatalogBe(serviceDetails33, user); - // assertNotNull("check response object is not null after creating - // service", createServiceResponse3); - // assertNotNull("check if error code exists in response after creating - // service", createServiceResponse3.getErrorCode()); - // assertEquals("Check response code after creating service", 201, - // createServiceResponse3.getErrorCode().intValue()); - // serviceDetails33.setUniqueId(serviceUtils.getServiceUniqueId(createServiceResponse3)); - // logger.debug("Created service3 = {}", serviceDetails33); - // serviceUtils.addServiceMandatoryArtifacts(user, - // createServiceResponse3); - } protected RestResponse createService(User user, ServiceReqDetails serviceDetails) throws Exception, IOException { @@ -178,7 +143,7 @@ public class GovernorWorkspaceApiTest extends ComponentBaseTest { Service convertServiceResponseToJavaObject = ResponseParser .convertServiceResponseToJavaObject(createServiceResponse1.getResponse()); serviceDetails.setUniqueId(convertServiceResponseToJavaObject.getUniqueId()); - logger.debug("Created service1 = {}", serviceDetails); + logger.debug("Created service1 ={}",serviceDetails); addResourceWithHeatArt(serviceDetails); return createServiceResponse1; } |