diff options
Diffstat (limited to 'asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportCsarResourceTest.java')
-rw-r--r-- | asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportCsarResourceTest.java | 1829 |
1 files changed, 0 insertions, 1829 deletions
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 deleted file mode 100644 index f3b134f6a9..0000000000 --- a/asdc-tests/src/main/java/org/openecomp/sdc/ci/tests/execute/imports/ImportCsarResourceTest.java +++ /dev/null @@ -1,1829 +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.imports; - -import static org.testng.AssertJUnit.assertEquals; -import static org.testng.AssertJUnit.assertNotNull; -import static org.testng.AssertJUnit.assertTrue; - -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; - -import org.apache.commons.codec.binary.Base64; -import org.apache.commons.lang.WordUtils; -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.CapabilityDefinition; -import org.openecomp.sdc.be.model.ComponentInstance; -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.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; -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.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.util.ValidationUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.testng.annotations.Test; - -import com.google.gson.Gson; - -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() { - super(name, ImportCsarResourceTest.class.getName()); - } - - private String buildAssertMessage(String expectedString, String actualString) { - return String.format("expected is : %s , actual is: %s", expectedString, actualString); - } - - /** - * - * User Story : US640615 [BE] - Extend create VF API with Import TOSCA CSAR - */ - - @Test(enabled = true) - public void createResourceFromCsarHappy() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("AF7F231969C5463F9C968570070E8877"); - 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); - assertEquals(5, resource.getComponentInstances().size()); - - String expectedCsarUUID = resourceDetails.getCsarUUID(); - String expectedToscaResourceName = "org.openecomp.resource.vf." + WordUtils.capitalize(resourceDetails.getName().toLowerCase()); - - assertTrue("csarUUID : " + buildAssertMessage(expectedCsarUUID, resource.getCsarUUID()), expectedCsarUUID.equals(resource.getCsarUUID())); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, resource.getToscaResourceName()), expectedToscaResourceName.equals(resource.getToscaResourceName())); - - RestResponse getResourceResponse = ResourceRestUtils.getResource(resource.getUniqueId()); - Resource getResource = ResponseParser.parseToObjectUsingMapper(getResourceResponse.getResponse(), Resource.class); - assertTrue("csarUUID : " + buildAssertMessage(expectedCsarUUID, getResource.getCsarUUID()), expectedCsarUUID.equals(getResource.getCsarUUID())); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, getResource.getToscaResourceName()), expectedToscaResourceName.equals(getResource.getToscaResourceName())); - } - - @Test(enabled = true) - public void emptyStringInCsarUUIDFieldTest() throws Exception { - String emptyString = ""; - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID(emptyString); - 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); - assertEquals(null, resource.getComponentInstances()); - - String expectedToscaResourceName = "org.openecomp.resource.vf." + WordUtils.capitalize(resourceDetails.getName().toLowerCase()); - - assertTrue("csarUUID : " + buildAssertMessage(emptyString, resource.getCsarUUID()), resource.getCsarUUID() == emptyString); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, resource.getToscaResourceName()), expectedToscaResourceName.equals(resource.getToscaResourceName())); - - RestResponse getResourceResponse = ResourceRestUtils.getResource(resource.getUniqueId()); - Resource getResource = ResponseParser.parseToObjectUsingMapper(getResourceResponse.getResponse(), Resource.class); - assertTrue("csarUUID : " + buildAssertMessage(emptyString, getResource.getCsarUUID()), getResource.getCsarUUID() == emptyString); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, getResource.getToscaResourceName()), expectedToscaResourceName.equals(getResource.getToscaResourceName())); - } - - @Test(enabled = true) - public void createResourceFromScratchTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - 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); - assertEquals(null, resource.getComponentInstances()); - - String expectedToscaResourceName = "org.openecomp.resource.vf." + WordUtils.capitalize(resourceDetails.getName().toLowerCase()); - - assertTrue("csarUUID : " + buildAssertMessage(null, resource.getCsarUUID()), resource.getCsarUUID() == null); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, resource.getToscaResourceName()), expectedToscaResourceName.equals(resource.getToscaResourceName())); - - RestResponse getResourceResponse = ResourceRestUtils.getResource(resource.getUniqueId()); - Resource getResource = ResponseParser.parseToObjectUsingMapper(getResourceResponse.getResponse(), Resource.class); - assertTrue("csarUUID : " + buildAssertMessage(null, getResource.getCsarUUID()), getResource.getCsarUUID() == null); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, getResource.getToscaResourceName()), expectedToscaResourceName.equals(getResource.getToscaResourceName())); - } - - @Test(enabled = true) - public void fileNotCsarTypeTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("valid_vf_zip"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_NOT_FOUND.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void missingToscaMetadataFolderTest() throws Exception { - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("toscaFolderNotExists"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void missingToscaMetaFileTest() throws Exception { - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("toscaMetaFileNotExists"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void toscaMetaFileOutsideTheFolderTest() throws Exception { - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("toscaMetaOutsideTheFolder"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void caseSensitiveTest_1() throws Exception { - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("caseSensitiveTest_1"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void caseSensitiveTest_2() throws Exception { - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("caseSensitiveTest_2"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void missingOneLineInToscaMetaFileTest() throws Exception { - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("missingOneLineInToscaMeta"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void noCSARVersionTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("noCSARVersion"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void noCreatedByValueTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("noCreatedByValue"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void noEntryDefinitionsValueTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("noEntryDefinitionsValue"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void noTOSCAMetaFileVersionValueTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("noTOSCAMetaFileVersionValue"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void invalidCsarVersionInMetaFileTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("invalidCsarVersion"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - - resourceDetails.setCsarUUID("invalidCsarVersion2"); - createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - - resourceDetails.setCsarUUID("invalidCsarVersion3"); - createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - - resourceDetails.setCsarUUID("invalidCsarVersion4"); - createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - - resourceDetails.setCsarUUID("invalidCsarVersion5"); - createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - - } - - @Test(enabled = true) - public void validCsarVersionInMetaFileTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("validCsarVersion"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - BaseRestUtils.checkCreateResponse(createResource); - Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - assertEquals(5, resource.getComponentInstances().size()); - - String expectedCsarUUID = resourceDetails.getCsarUUID(); - String expectedToscaResourceName = "org.openecomp.resource.vf." + WordUtils.capitalize(resourceDetails.getName().toLowerCase()); - - assertTrue("csarUUID : " + buildAssertMessage(expectedCsarUUID, resource.getCsarUUID()), expectedCsarUUID.equals(resource.getCsarUUID())); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, resource.getToscaResourceName()), expectedToscaResourceName.equals(resource.getToscaResourceName())); - - RestResponse getResourceResponse = ResourceRestUtils.getResource(resource.getUniqueId()); - Resource getResource = ResponseParser.parseToObjectUsingMapper(getResourceResponse.getResponse(), Resource.class); - assertTrue("csarUUID : " + buildAssertMessage(expectedCsarUUID, getResource.getCsarUUID()), expectedCsarUUID.equals(getResource.getCsarUUID())); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, getResource.getToscaResourceName()), expectedToscaResourceName.equals(getResource.getToscaResourceName())); - } - - @Test(enabled = true) - public void underscoreInToscaMetaFileVersionNameTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("underscoreInsteadOfDash"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void missingEntryDefintionInMetaFileTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("missingEntryDefintionPair"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - @Test(enabled = false) - public void noNewLineAfterBLock0Test() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("noNewLineAfterBLock0"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void moreThanOneYamlFileTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("moreThenOneYamlFile"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - BaseRestUtils.checkCreateResponse(createResource); - Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - assertEquals(5, resource.getComponentInstances().size()); - - String expectedCsarUUID = resourceDetails.getCsarUUID(); - String expectedToscaResourceName = "org.openecomp.resource.vf." + WordUtils.capitalize(resourceDetails.getName().toLowerCase()); - - assertTrue("csarUUID : " + buildAssertMessage(expectedCsarUUID, resource.getCsarUUID()), expectedCsarUUID.equals(resource.getCsarUUID())); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, resource.getToscaResourceName()), expectedToscaResourceName.equals(resource.getToscaResourceName())); - - RestResponse getResourceResponse = ResourceRestUtils.getResource(resource.getUniqueId()); - Resource getResource = ResponseParser.parseToObjectUsingMapper(getResourceResponse.getResponse(), Resource.class); - assertTrue("csarUUID : " + buildAssertMessage(expectedCsarUUID, getResource.getCsarUUID()), expectedCsarUUID.equals(getResource.getCsarUUID())); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, getResource.getToscaResourceName()), expectedToscaResourceName.equals(getResource.getToscaResourceName())); - } - - @Test(enabled = true) - public void moreThanOneMetaFileTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("moreThanOneMetaFile"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - BaseRestUtils.checkCreateResponse(createResource); - Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - assertEquals(5, resource.getComponentInstances().size()); - - String expectedCsarUUID = resourceDetails.getCsarUUID(); - String expectedToscaResourceName = "org.openecomp.resource.vf." + WordUtils.capitalize(resourceDetails.getName().toLowerCase()); - - assertTrue("csarUUID : " + buildAssertMessage(expectedCsarUUID, resource.getCsarUUID()), expectedCsarUUID.equals(resource.getCsarUUID())); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, resource.getToscaResourceName()), expectedToscaResourceName.equals(resource.getToscaResourceName())); - - RestResponse getResourceResponse = ResourceRestUtils.getResource(resource.getUniqueId()); - Resource getResource = ResponseParser.parseToObjectUsingMapper(getResourceResponse.getResponse(), Resource.class); - assertTrue("csarUUID : " + buildAssertMessage(expectedCsarUUID, getResource.getCsarUUID()), expectedCsarUUID.equals(getResource.getCsarUUID())); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, getResource.getToscaResourceName()), expectedToscaResourceName.equals(getResource.getToscaResourceName())); - } - - @Test(enabled = true) - public void csarNotContainsYamlAndMetaFilesTest() throws Exception { - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("notContainYamlAndMetaFiles"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void csarNotContainsYamlFileTest() throws Exception { - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("notContainYamlFile"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - variables.add("Definitions/tosca_mock_vf.yaml"); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.YAML_NOT_FOUND_IN_CSAR.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void missingCsarFileTest() throws Exception { - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("abc"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_NOT_FOUND.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void longNamesInToscaMetaFileTest_1() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("longNamesInToscaMetaFile1"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void longNamesInToscaMetaFileTest_2() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("longNamesInToscaMetaFile2"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void longNamesInToscaMetaFileTest_3() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("longNamesInToscaMetaFile3"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void longNamesInToscaMetaFileTest_4() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("longNamesInToscaMetaFile4"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void longNamesInToscaMetaFileTest_5() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("longNamesInToscaMetaFile5"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - // possible to have more than four lines in block 0 - // @Test (enabled = true) - public void fiveLinesAsBlock0Test() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - resourceDetails.setCsarUUID("fiveLinesAsBlock0"); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - List<String> variables = new ArrayList<String>(); - variables.add(resourceDetails.getCsarUUID()); - ErrorValidationUtils.checkBodyResponseOnError(ActionStatus.CSAR_INVALID_FORMAT.name(), variables, createResource.getResponse()); - } - - @Test(enabled = true) - public void lifecycleChangingToResourceFromCsarTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("valid_vf"); - 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); - assertTrue("0.1".equals(resource.getVersion())); - assertTrue(LifeCycleStatesEnum.CHECKOUT.getComponentState().equals(resource.getLifecycleState().toString())); - - String designerUserId = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER).getUserId(); - String testerUserId = ElementFactory.getDefaultUser(UserRoleEnum.TESTER).getUserId(); - String csarUniqueId = resourceDetails.getUniqueId(); - assertNotNull(csarUniqueId); - - 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); - lifecycleChangeResponse = LifecycleRestUtils.changeResourceState(resourceDetails, designerUserId, LifeCycleStatesEnum.CHECKOUT); - LifecycleRestUtils.checkSuccess(lifecycleChangeResponse); - - resource = ResponseParser.parseToObjectUsingMapper(lifecycleChangeResponse.getResponse(), Resource.class); - Map<String, String> allVersions = resource.getAllVersions(); - assertEquals(2, allVersions.keySet().size()); - assertEquals(2, allVersions.values().size()); - Set<String> keySet = allVersions.keySet(); - assertTrue(keySet.contains("1.0")); - assertTrue(keySet.contains("1.1")); - } - - @Test(enabled = true) - public void csarWithJsonPromEnvTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("VSPPackageJsonProp.csar"); - 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); - - } - - @Test(enabled = true) - public void uploadArtifactToResourceFromCsarTest() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("valid_vf"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - BaseRestUtils.checkCreateResponse(createResource); - - User designer = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - ArtifactReqDetails artifactDetails = ElementFactory.getDefaultArtifact("firstArtifact"); - String firstArtifactLabel = artifactDetails.getArtifactLabel(); - RestResponse addInformationalArtifactToResource = ArtifactRestUtils.addInformationalArtifactToResource(artifactDetails, designer, resourceDetails.getUniqueId()); - ArtifactRestUtils.checkSuccess(addInformationalArtifactToResource); - RestResponse getResourceResponse = ResourceRestUtils.getResource(resourceDetails.getUniqueId()); - Resource resource = ResponseParser.parseToObjectUsingMapper(getResourceResponse.getResponse(), Resource.class); - Map<String, ArtifactDefinition> informationalArtifacts = resource.getArtifacts(); - assertEquals(1, informationalArtifacts.keySet().size()); - Set<String> keySet = informationalArtifacts.keySet(); - assertTrue(keySet.contains(firstArtifactLabel.toLowerCase())); - Collection<ArtifactDefinition> values = informationalArtifacts.values(); - assertEquals(1, values.size()); - Iterator<ArtifactDefinition> iterator = values.iterator(); - while (iterator.hasNext()) { - ArtifactDefinition actualArtifact = iterator.next(); - assertTrue(firstArtifactLabel.equals(actualArtifact.getArtifactDisplayName())); - } - - RestResponse lifecycleChangeResponse = LifecycleRestUtils.changeResourceState(resourceDetails, designer.getUserId(), LifeCycleStatesEnum.CHECKIN); - LifecycleRestUtils.checkSuccess(lifecycleChangeResponse); - lifecycleChangeResponse = LifecycleRestUtils.changeResourceState(resourceDetails, designer.getUserId(), LifeCycleStatesEnum.CHECKOUT); - LifecycleRestUtils.checkSuccess(lifecycleChangeResponse); - - ArtifactReqDetails artifactDetails2 = ElementFactory.getDefaultArtifact("secondArtifact"); - artifactDetails2.setArtifactName("secondArtifact"); - addInformationalArtifactToResource = ArtifactRestUtils.addInformationalArtifactToResource(artifactDetails2, designer, resourceDetails.getUniqueId()); - ArtifactRestUtils.checkSuccess(addInformationalArtifactToResource); - - getResourceResponse = ResourceRestUtils.getResource(resourceDetails.getUniqueId()); - resource = ResponseParser.parseToObjectUsingMapper(getResourceResponse.getResponse(), Resource.class); - informationalArtifacts = resource.getArtifacts(); - assertEquals(2, informationalArtifacts.keySet().size()); - keySet = informationalArtifacts.keySet(); - assertTrue(keySet.contains(firstArtifactLabel.toLowerCase())); - assertTrue(keySet.contains(artifactDetails2.getArtifactLabel().toLowerCase())); - values = informationalArtifacts.values(); - assertEquals(2, values.size()); - ArtifactDefinition[] actualArtifacts = values.toArray(new ArtifactDefinition[2]); - assertTrue(firstArtifactLabel.equals(actualArtifacts[0].getArtifactDisplayName())); - assertTrue(artifactDetails2.getArtifactLabel().equals(actualArtifacts[1].getArtifactDisplayName())); - } - - /* - * // @Test (enabled = true) public void createUpdateImportResourceFromCsarArtifactsWereNotChangedTest() throws Exception { // User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); // //back original scar RestResponse - * copyRes = copyCsarRest(sdncModifierDetails, "VF_RI2_G4_withArtifacts_a.csar", "VF_RI2_G4_withArtifacts.csar"); BaseRestUtils.checkSuccess(copyRes); - * - * // resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); // RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); resourceDetails.setName("test5"); - * resourceDetails.setCsarUUID("VF_RI2_G4_withArtifacts.csar"); resourceDetails.setCsarVersion("1"); // String invariantUUID = resource.getInvariantUUID(); // // RestResponse changeResourceState = - * LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); // assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); - * - * // BaseRestUtils.checkSuccess(copyRes); // //change name (temporary) resourceDetails.setCsarVersion("2"); resourceDetails.setName("test6"); createResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, - * resourceDetails.getUniqueId()); Resource updatedResource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); Map<String, ArtifactDefinition> updatedArtifacts = updatedResource.getDeploymentArtifacts(); for - * (Entry<String, ArtifactDefinition> artifactEntry : resource.getDeploymentArtifacts().entrySet()) { if (updatedArtifacts.containsKey(artifactEntry.getKey())) { ArtifactDefinition currArt = updatedArtifacts.get(artifactEntry.getKey()); - * assertEquals(currArt.getArtifactVersion(), artifactEntry.getValue().getArtifactVersion()); assertEquals(currArt.getArtifactUUID(), artifactEntry.getValue().getArtifactUUID()); assertEquals(currArt.getArtifactChecksum(), - * artifactEntry.getValue().getArtifactChecksum()); } } // resourceDetails = ElementFactory.getDefaultResource(); // resourceDetails.setName("test5"); // resourceDetails.setCsarUUID("VF_RI2_G4_withArtifacts.csar"); } - */ - - @Test(enabled = true) - public void createImportResourceFromCsarDissotiateArtifactFromGroupTest() throws Exception { - User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - RestResponse copyRes = copyCsarRest(sdncModifierDetails, "VF_RI2_G4_withArtifacts_a.csar", "VF_RI2_G4_withArtifacts.csar"); - - // create new resource from Csar - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("VF_RI2_G4_withArtifacts.csar"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkCreateResponse(createResource); - Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - String invariantUUID = resource.getInvariantUUID(); - - // add artifact from metadata (resource metadata should be updated) - // RestResponse addInformationalArtifactToResource = - // ArtifactRestUtils.addInformationalArtifactToResource(ElementFactory.getDefaultArtifact(), - // sdncModifierDetails, resourceDetails.getUniqueId()); - // ArtifactRestUtils.checkSuccess(addInformationalArtifactToResource); - resourceDetails.setName("test4"); - RestResponse updateResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resourceDetails.getUniqueId()); - BaseRestUtils.checkSuccess(updateResource); - resource = ResponseParser.parseToObjectUsingMapper(updateResource.getResponse(), Resource.class); - assertEquals(invariantUUID, resource.getInvariantUUID()); - - // wrong RI (without node types, resource shouldn't be updated) - copyRes = copyCsarRest(sdncModifierDetails, "VF_RI2_G4_withArtifacts_dissociate.csar", "VF_RI2_G4_withArtifacts.csar"); - BaseRestUtils.checkSuccess(copyRes); - // change name (temporary) - resourceDetails.setName("test4"); - updateResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resourceDetails.getUniqueId()); - BaseRestUtils.checkSuccess(updateResource); - resource = ResponseParser.parseToObjectUsingMapper(updateResource.getResponse(), Resource.class); - assertEquals(invariantUUID, resource.getInvariantUUID()); - - // back original scar - copyRes = copyCsarRest(sdncModifierDetails, "VF_RI2_G4_withArtifacts_a.csar", "VF_RI2_G4_withArtifacts.csar"); - BaseRestUtils.checkSuccess(copyRes); - } - - @Test(enabled = true) - public void createImportResourceFromCsarNewgroupTest() throws Exception { - User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - RestResponse copyRes = copyCsarRest(sdncModifierDetails, "VF_RI2_G4_withArtifacts_a.csar", "VF_RI2_G4_withArtifacts.csar"); - - // create new resource from Csar - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("VF_RI2_G4_withArtifacts.csar"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkCreateResponse(createResource); - Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - String invariantUUID = resource.getInvariantUUID(); - - // update scar - copyRes = copyCsarRest(sdncModifierDetails, "VF_RI2_G4_withArtifacts_UpdateToscaAndArtifacts.csar", "VF_RI2_G4_withArtifacts.csar"); - BaseRestUtils.checkSuccess(copyRes); - - resourceDetails.setName("test2"); - // change resource metaData (resource should be updated) - resourceDetails.setDescription("It is new description bla bla bla"); - RestResponse updateResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resourceDetails.getUniqueId()); - BaseRestUtils.checkSuccess(updateResource); - resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - - assertEquals(invariantUUID, resource.getInvariantUUID()); - - copyRes = copyCsarRest(sdncModifierDetails, "VF_RI2_G4_withArtifacts_a.csar", "VF_RI2_G4_withArtifacts.csar"); - BaseRestUtils.checkSuccess(copyRes); - } - - @Test(enabled = true) - public void createImportResourceFromCsarGetGroupTest() throws Exception { - User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - // RestResponse copyRes = - // copyCsarRest(sdncModifierDetails,"VF_RI2_G4_withArtifacts_a.csar","VF_RI2_G4_withArtifacts.csar"); - - // create new resource from Csar - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("VSPPackage"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkCreateResponse(createResource); - Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - String invariantUUID = resource.getInvariantUUID(); - List<GroupDefinition> groups = resource.getGroups(); - - GroupDefinition groupWithArtifact = groups.stream().filter(p -> p.getArtifacts() != null && !p.getArtifacts().isEmpty()).findFirst().get(); - - RestResponse groupRest = GroupRestUtils.getGroupById(resource, groupWithArtifact.getUniqueId(), sdncModifierDetails); - BaseRestUtils.checkSuccess(groupRest); - - GroupDefinition groupWithoutArtifact = groups.stream().filter(p -> p.getArtifacts() == null || p.getArtifacts().isEmpty()).findFirst().get(); - - groupRest = GroupRestUtils.getGroupById(resource, groupWithoutArtifact.getUniqueId(), sdncModifierDetails); - BaseRestUtils.checkSuccess(groupRest); - } - - @Test(enabled = true) - public void createImportResourceFromCsarUITest() throws Exception { - RestResponse getResource = null; - User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - String payloadName = "valid_vf.csar"; - ImportReqDetails resourceDetails = ElementFactory.getDefaultImportResource(); - String rootPath = System.getProperty("user.dir"); - Path path = null; - byte[] data = null; - String payloadData = null; - - path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf.csar"); - data = Files.readAllBytes(path); - payloadData = Base64.encodeBase64String(data); - resourceDetails.setPayloadData(payloadData); - - // create new resource from Csar - resourceDetails.setCsarUUID(payloadName); - 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); - assertEquals(5, resource.getComponentInstances().size()); - - RestResponse changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); - assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); - - // change composition (resource should be updated) - path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf_b.csar"); - data = Files.readAllBytes(path); - payloadData = Base64.encodeBase64String(data); - resourceDetails.setPayloadData(payloadData); - // change name - resourceDetails.setName("test1"); - createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkCreateResponse(createResource); - resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - assertEquals(2, resource.getComponentInstances().size()); - - changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); - assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); - - // change name - resourceDetails.setName("test2"); - // change resource metaData (resource should be updated) - resourceDetails.setDescription("It is new description bla bla bla"); - createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkCreateResponse(createResource); - resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - assertEquals(2, resource.getComponentInstances().size()); - - changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); - 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/main/resources/ci/valid_vf_c.csar"); - data = Files.readAllBytes(path); - payloadData = Base64.encodeBase64String(data); - resourceDetails.setPayloadData(payloadData); - // change name - resourceDetails.setName("test3"); - createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkErrorResponse(createResource, ActionStatus.INVALID_NODE_TEMPLATE, "Definitions/tosca_mock_vf.yaml", "nodejs", "tosca.nodes.Weber"); - resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - assertEquals(null, resource); - getResource = ResourceRestUtils.getResourceByNameAndVersion(sdncModifierDetails.getUserId(), "test3", resourceDetails.getVersion()); - BaseRestUtils.checkErrorResponse(getResource, ActionStatus.RESOURCE_NOT_FOUND, "test3"); - - // create new resource from other Csar - resourceDetails = ElementFactory.getDefaultImportResource(); - path = Paths.get(rootPath + "/src/main/resources/ci/VF_RI2_G4_withArtifacts.csar"); - data = Files.readAllBytes(path); - payloadData = Base64.encodeBase64String(data); - resourceDetails.setPayloadData(payloadData); - resourceDetails.setPayloadName("VF_RI2_G4_withArtifacts.csar"); - resourceDetails.setName("test4"); - resourceDetails.setCsarUUID("VF_RI2_G4_withArtifacts.csar"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkCreateResponse(createResource); - - changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); - assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); - - // wrong RI (with node types) resource shouldn't be created - resourceDetails.setCsarUUID("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); - resourceDetails.setPayloadName("VF_RI2_G4_withArtifacts_b.csar"); - resourceDetails.setName("test5"); - createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkErrorResponse(createResource, ActionStatus.INVALID_NODE_TEMPLATE, "Definitions/VF_RI2_G1.yaml", "ps04_port_0", "org.openecomp.resource.cp.nodes.heat.network.neutron.Portur"); - } - - @Test(enabled = true) - public void createUpdateImportResourceFromCsarUITest() throws Exception { - RestResponse getResource = null; - User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - String payloadName = "valid_vf.csar"; - ImportReqDetails resourceDetails = ElementFactory.getDefaultImportResource(); - String rootPath = System.getProperty("user.dir"); - Path path = null; - byte[] data = null; - String payloadData = null; - - path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf.csar"); - data = Files.readAllBytes(path); - payloadData = Base64.encodeBase64String(data); - resourceDetails.setPayloadData(payloadData); - - // create new resource from Csar - 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); - assertEquals(5, resource.getComponentInstances().size()); - - RestResponse changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); - assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); - - // change composition and update resource - path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf_b.csar"); - data = Files.readAllBytes(path); - payloadData = Base64.encodeBase64String(data); - resourceDetails.setPayloadData(payloadData); - resourceDetails.setUniqueId(resource.getUniqueId()); - // change name - RestResponse updateResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resource.getUniqueId()); - BaseRestUtils.checkSuccess(updateResource); - resource = ResponseParser.parseToObjectUsingMapper(updateResource.getResponse(), Resource.class); - assertEquals(2, resource.getComponentInstances().size()); - - changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); - assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); - - // change name - resourceDetails.setName("test2"); - // change resource metaData (resource should be updated) - resourceDetails.setDescription("It is new description bla bla bla"); - updateResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resource.getUniqueId()); - BaseRestUtils.checkSuccess(updateResource); - resource = ResponseParser.parseToObjectUsingMapper(updateResource.getResponse(), Resource.class); - assertEquals(2, resource.getComponentInstances().size()); - - changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); - assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); - - // try to update resource with wrong RI (without node types, resource - // shouldn't be updated) - path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf_c.csar"); - data = Files.readAllBytes(path); - payloadData = Base64.encodeBase64String(data); - resourceDetails.setPayloadData(payloadData); - // change name - resourceDetails.setName("test3"); - updateResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resource.getUniqueId()); - BaseRestUtils.checkErrorResponse(updateResource, ActionStatus.INVALID_NODE_TEMPLATE, "Definitions/tosca_mock_vf.yaml", "nodejs", "tosca.nodes.Weber"); - resource = ResponseParser.parseToObjectUsingMapper(updateResource.getResponse(), Resource.class); - assertEquals(null, resource); - getResource = ResourceRestUtils.getResourceByNameAndVersion(sdncModifierDetails.getUserId(), "test3", resourceDetails.getVersion()); - BaseRestUtils.checkErrorResponse(getResource, ActionStatus.RESOURCE_NOT_FOUND, "test3"); - } - - @Test(enabled = true) - public void createUpdateImportResourceFromCsarTest() throws Exception { - User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - RestResponse copyRes = null; - RestResponse getResource = null; - ResourceReqDetails resourceDetails = null; - RestResponse updateResource = null; - RestResponse createResource = null; - Resource resource = null; - RestResponse changeResourceState = null; - - // create new resource from Csar - copyRes = copyCsarRest(sdncModifierDetails, "valid_vf_a.csar", "valid_vf.csar"); - resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("valid_vf.csar"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkCreateResponse(createResource); - resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - assertEquals(5, resource.getComponentInstances().size()); - String invariantUUID = resource.getInvariantUUID(); - - changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); - assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); - - // change composition and update resource - copyRes = copyCsarRest(sdncModifierDetails, "valid_vf_b.csar", "valid_vf.csar"); - BaseRestUtils.checkSuccess(copyRes); - // change name - resourceDetails.setName("test1"); - updateResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resource.getUniqueId()); - BaseRestUtils.checkSuccess(updateResource); - resource = ResponseParser.parseToObjectUsingMapper(updateResource.getResponse(), Resource.class); - assertEquals(2, resource.getComponentInstances().size()); - assertEquals(invariantUUID, resource.getInvariantUUID()); - - changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); - assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); - - // back original scar - copyRes = copyCsarRest(sdncModifierDetails, "valid_vf_a.csar", "valid_vf.csar"); - BaseRestUtils.checkSuccess(copyRes); - - // change name - resourceDetails.setName("test2"); - // change resource metaData and update resource - resourceDetails.setDescription("It is new description bla bla bla"); - updateResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resource.getUniqueId()); - BaseRestUtils.checkSuccess(updateResource); - resource = ResponseParser.parseToObjectUsingMapper(updateResource.getResponse(), Resource.class); - assertEquals(5, resource.getComponentInstances().size()); - assertEquals(invariantUUID, resource.getInvariantUUID()); - - changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); - assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); - - // back original scar - copyRes = copyCsarRest(sdncModifierDetails, "valid_vf_a.csar", "valid_vf.csar"); - BaseRestUtils.checkSuccess(copyRes); - - // try to update resource with wrong RI (without node types, resource - // shouldn't be updated) - copyRes = copyCsarRest(sdncModifierDetails, "valid_vf_c.csar", "valid_vf.csar"); - BaseRestUtils.checkSuccess(copyRes); - // change name (temporary) - resourceDetails.setName("test3"); - updateResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resource.getUniqueId()); - BaseRestUtils.checkErrorResponse(updateResource, ActionStatus.INVALID_NODE_TEMPLATE, "Definitions/tosca_mock_vf.yaml", "nodejs", "tosca.nodes.Weber"); - - getResource = ResourceRestUtils.getResourceByNameAndVersion(sdncModifierDetails.getUserId(), "test3", resourceDetails.getVersion()); - BaseRestUtils.checkErrorResponse(getResource, ActionStatus.RESOURCE_NOT_FOUND, "test3"); - getResource = ResourceRestUtils.getResourceByNameAndVersion(sdncModifierDetails.getUserId(), "test2", resourceDetails.getVersion()); - BaseRestUtils.checkSuccess(getResource); - - // back original scar - copyRes = copyCsarRest(sdncModifierDetails, "valid_vf_a.csar", "valid_vf.csar"); - BaseRestUtils.checkSuccess(copyRes); - - // create new resource from Csar - // back original scar - copyRes = copyCsarRest(sdncModifierDetails, "VF_RI2_G4_withArtifacts_a.csar", "VF_RI2_G4_withArtifacts.csar"); - BaseRestUtils.checkSuccess(copyRes); - - resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setName("TEST01"); - resourceDetails.setCsarUUID("VF_RI2_G4_withArtifacts.csar"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkCreateResponse(createResource); - resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - - changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); - assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); - - // scar with wrong RI - copyRes = copyCsarRest(sdncModifierDetails, "VF_RI2_G4_withArtifacts_b.csar", "VF_RI2_G4_withArtifacts.csar"); - BaseRestUtils.checkSuccess(copyRes); - resourceDetails.setDescription("BLA BLA BLA"); - // wrong RI (with node types) resource shouldn't be created - updateResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resourceDetails.getUniqueId()); - BaseRestUtils.checkErrorResponse(updateResource, ActionStatus.INVALID_NODE_TEMPLATE, "Definitions/VF_RI2_G1.yaml", "ps04_port_0", "org.openecomp.resource.cp.nodes.heat.network.neutron.Portur"); - // back original scar - copyRes = copyCsarRest(sdncModifierDetails, "VF_RI2_G4_withArtifacts_a.csar", "VF_RI2_G4_withArtifacts.csar"); - BaseRestUtils.checkSuccess(copyRes); - } - - @Test(enabled = true) - public void createUpdateImportResourceFromCsarWithArtifactsTest() throws Exception { - User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - RestResponse copyRes = null; - ResourceReqDetails resourceDetails = null; - RestResponse updateResource = null; - RestResponse createResource = null; - Resource resource = null; - RestResponse changeResourceState = null; - - // back original scar - copyRes = copyCsarRest(sdncModifierDetails, "VF_RI2_G4_withArtifacts_a.csar", "VF_RI2_G4_withArtifacts.csar"); - BaseRestUtils.checkSuccess(copyRes); - - resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setName("TEST01"); - resourceDetails.setCsarUUID("VF_RI2_G4_withArtifacts.csar"); - resourceDetails.setCsarVersion("1"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - // create new resource from Csar - createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkCreateResponse(createResource); - resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - - List<String> requiredArtifactsOld = resource.getDeploymentArtifacts().get("heat5").getRequiredArtifacts(); - assertTrue(requiredArtifactsOld != null && !requiredArtifactsOld.isEmpty() && requiredArtifactsOld.size() == 3); - assertTrue(requiredArtifactsOld.contains("hot-nimbus-pcm-volumes_v1.0.yaml")); - assertTrue(requiredArtifactsOld.contains("nested-pcm_v1.0.yaml")); - assertTrue(requiredArtifactsOld.contains("hot-nimbus-oam-volumes_v1.0.yaml")); - - // update scar with new artifacts - copyRes = copyCsarRest(sdncModifierDetails, "VF_RI2_G4_withArtifacts_updated.csar", "VF_RI2_G4_withArtifacts.csar"); - BaseRestUtils.checkSuccess(copyRes); - resourceDetails.setDescription("BLA BLA BLA"); - resourceDetails.setCsarVersion("2"); - updateResource = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resourceDetails.getUniqueId()); - BaseRestUtils.checkSuccess(updateResource); - resource = ResponseParser.parseToObjectUsingMapper(updateResource.getResponse(), Resource.class); - - List<String> requiredArtifactsNew = resource.getDeploymentArtifacts().get("heat5").getRequiredArtifacts(); - assertTrue(requiredArtifactsNew != null && !requiredArtifactsNew.isEmpty() && requiredArtifactsNew.size() == 3); - assertTrue(requiredArtifactsNew.contains("hot-nimbus-swift-container_v1.0.yaml")); - assertTrue(requiredArtifactsNew.contains("hot-nimbus-oam-volumes_v1.0.yaml")); - assertTrue(requiredArtifactsNew.contains("nested-oam_v1.0.yaml")); - - // back original scar - copyRes = copyCsarRest(sdncModifierDetails, "VF_RI2_G4_withArtifacts_a.csar", "VF_RI2_G4_withArtifacts.csar"); - BaseRestUtils.checkSuccess(copyRes); - } - - @Test(enabled = true) - public void createUpdateImportWithPropertiesFromCsarUITest() throws Exception { - User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - String payloadName = "valid_vf.csar"; - ImportReqDetails resourceDetails = ElementFactory.getDefaultImportResource(); - String rootPath = System.getProperty("user.dir"); - Path path = null; - byte[] data = null; - String payloadData = null; - - path = Paths.get(rootPath + "/src/main/resources/ci/valid_vf.csar"); - data = Files.readAllBytes(path); - payloadData = Base64.encodeBase64String(data); - resourceDetails.setPayloadData(payloadData); - - // create new resource from Csar - resourceDetails.setCsarUUID(payloadName); - 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); - assertEquals(5, resource.getComponentInstances().size()); - - RestResponse changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); - 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/main/resources/ci/valid_vf_d.csar"); - data = Files.readAllBytes(path); - payloadData = Base64.encodeBase64String(data); - resourceDetails.setPayloadData(payloadData); - // change name - resourceDetails.setName("test1"); - createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkCreateResponse(createResource); - resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - assertEquals(6, resource.getComponentInstances().size()); - - changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, sdncModifierDetails, LifeCycleStatesEnum.CHECKIN); - 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/main/resources/ci/valid_vf_f.csar"); - data = Files.readAllBytes(path); - payloadData = Base64.encodeBase64String(data); - resourceDetails.setPayloadData(payloadData); - // change name - resourceDetails.setName("test2"); - createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkCreateResponse(createResource); - resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - assertEquals(6, resource.getComponentInstances().size()); - - } - - public static RestResponse copyCsarRest(User sdncModifierDetails, String sourceCsarUuid, String targetCsarUuid) throws Exception { - - Config config = Utils.getConfig(); - String url = String.format(Urls.COPY_CSAR_USING_SIMULATOR, config.getCatalogBeHost(), config.getCatalogBePort(), sourceCsarUuid, targetCsarUuid); - String userId = sdncModifierDetails.getUserId(); - Map<String, String> headersMap = prepareHeadersMap(userId); - HttpRequest http = new HttpRequest(); - - RestResponse copyCsarResponse = http.httpSendPost(url, "dummy", headersMap); - if (copyCsarResponse.getErrorCode() != 200) { - return null; - } - return copyCsarResponse; - - } - - public static RestResponse getCsarRest(User sdncModifierDetails, String sourceCsarUuid) throws Exception { - - Config config = Utils.getConfig(); - String url = String.format(Urls.GET_CSAR_USING_SIMULATOR, config.getCatalogBeHost(), config.getCatalogBePort(), sourceCsarUuid); - String userId = sdncModifierDetails.getUserId(); - Map<String, String> headersMap = prepareHeadersMap(userId); - HttpRequest http = new HttpRequest(); - - RestResponse copyCsarResponse = http.httpSendGet(url, headersMap); - if (copyCsarResponse.getErrorCode() != 200) { - return null; - } - return copyCsarResponse; - - } - - @Test(enabled = true) - public void updateResourceFromCsarHappy() throws Exception { - RestResponse copyRes = copyCsarRest(ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), "valid_vf_a.csar", "valid_vf.csar"); - BaseRestUtils.checkSuccess(copyRes); - // create - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("valid_vf"); - 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); - assertEquals(5, resource.getComponentInstances().size()); - - String expectedCsarUUID = resourceDetails.getCsarUUID(); - String expectedToscaResourceName = "org.openecomp.resource.vf." + WordUtils.capitalize(resourceDetails.getName().toLowerCase()); - - assertTrue("csarUUID : " + buildAssertMessage(expectedCsarUUID, resource.getCsarUUID()), expectedCsarUUID.equals(resource.getCsarUUID())); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, resource.getToscaResourceName()), expectedToscaResourceName.equals(resource.getToscaResourceName())); - - RestResponse getResourceResponse = ResourceRestUtils.getResource(resource.getUniqueId()); - Resource getResource = ResponseParser.parseToObjectUsingMapper(getResourceResponse.getResponse(), Resource.class); - assertTrue("csarUUID : " + buildAssertMessage(expectedCsarUUID, getResource.getCsarUUID()), expectedCsarUUID.equals(getResource.getCsarUUID())); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, getResource.getToscaResourceName()), expectedToscaResourceName.equals(getResource.getToscaResourceName())); - - RestResponse updateResource = ResourceRestUtils.updateResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), resourceDetails.getUniqueId()); - BaseRestUtils.checkSuccess(updateResource); - - } - - @Test(enabled = true) - public void createResourceFromCsarWithGroupsHappy() throws Exception { - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("csarWithGroups"); - 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); - assertEquals(5, resource.getComponentInstances().size()); - - assertEquals("verify there are 2 groups", 2, resource.getGroups().size()); - - Map<String, String> compNameToUniqueId = resource.getComponentInstances().stream().collect(Collectors.toMap(p -> p.getName(), p -> p.getUniqueId())); - - // Verify 2 members on group1 - // members: [ app_server, mongo_server ] - String[] membersNameGroup1 = { "app_server", "mongo_server" }; - verifyMembersInResource(resource, compNameToUniqueId, "group1", membersNameGroup1); - // Verify 4 members on group2 - // members: [ mongo_db, nodejs, app_server, mongo_server ] - String[] membersNameGroup2 = { "app_server", "mongo_server", "mongo_db", "nodejs" }; - verifyMembersInResource(resource, compNameToUniqueId, "group2", membersNameGroup2); - - // Check OUT - resourceDetails.setUniqueId(resource.getUniqueId()); - RestResponse changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), LifeCycleStatesEnum.CHECKIN); - assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); - - changeResourceState = LifecycleRestUtils.changeResourceState(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER), LifeCycleStatesEnum.CHECKOUT); - assertEquals("Check response code ", BaseRestUtils.STATUS_CODE_SUCCESS, changeResourceState.getErrorCode().intValue()); - - Resource checkedOutResource = ResponseParser.parseToObjectUsingMapper(changeResourceState.getResponse(), Resource.class); - compNameToUniqueId = checkedOutResource.getComponentInstances().stream().collect(Collectors.toMap(p -> p.getName(), p -> p.getUniqueId())); - - // Verify 2 members on group1 - // members: [ app_server, mongo_server ] - verifyMembersInResource(checkedOutResource, compNameToUniqueId, "group1", membersNameGroup1); - // Verify 4 members on group2 - // members: [ mongo_db, nodejs, app_server, mongo_server ] - verifyMembersInResource(checkedOutResource, compNameToUniqueId, "group2", membersNameGroup2); - - } - - private void verifyMembersInResource(Resource resource, Map<String, String> compNameToUniqueId, String groupName, String[] membersName) { - GroupDefinition groupDefinition = resource.getGroups().stream().filter(p -> p.getName().equals(groupName)).findFirst().get(); - assertEquals("Verify number of members", membersName.length, groupDefinition.getMembers().size()); - Map<String, String> createdMembers = groupDefinition.getMembers(); - Arrays.asList(membersName).forEach(p -> { - assertTrue("check member name exist", createdMembers.containsKey(p)); - }); - - verifyMembers(createdMembers, compNameToUniqueId); - } - - @Test(enabled = true) - public void createResourceFromCsarWithGroupsAndPropertiesHappy() throws Exception { - - RestResponse importNewGroupTypeByName = ImportRestUtils.importNewGroupTypeByName("myHeatStack1", UserRoleEnum.ADMIN); - // BaseRestUtils.checkCreateResponse(importNewGroupTypeByName); - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("csarWithGroupsWithProps"); - 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); - assertEquals(5, resource.getComponentInstances().size()); - - assertEquals("verify there are 2 groups", 2, resource.getGroups().size()); - - Map<String, String> compNameToUniqueId = resource.getComponentInstances().stream().collect(Collectors.toMap(p -> p.getName(), p -> p.getUniqueId())); - - // Verify 2 members on group1 - // members: [ app_server, mongo_server ] - List<GroupDefinition> groupDefinition1 = resource.getGroups().stream().filter(p -> p.getName().equals("group1")).collect(Collectors.toList()); - assertEquals("Verify number of members", 2, groupDefinition1.get(0).getMembers().size()); - Map<String, String> createdMembers = groupDefinition1.get(0).getMembers(); - verifyMembers(createdMembers, compNameToUniqueId); - - 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(); - assertNotNull("check heat files not empty", heatFiles); - List<String> heatFilesValue = new ArrayList<>(); - heatFilesValue.add("heat1.yaml"); - heatFilesValue.add("heat2.yaml"); - String heatFilesJson = gson.toJson(heatFilesValue); - log.debug(heatFiles.getValue()); - assertEquals("check heat files value", heatFilesJson, heatFiles.getValue()); - - GroupProperty urlCredential = properties.stream().filter(p -> p.getName().equals("url_credential")).findFirst().get(); - assertNotNull("check heat files not empty", urlCredential); - log.debug(urlCredential.getValue()); - assertEquals("check url credential", "{\"protocol\":\"protocol1\",\"keys\":{\"keya\":\"valuea\",\"keyb\":\"valueb\"}}", urlCredential.getValue()); - } - - @Test(enabled = true) - public void createResourceFromCsarWithGroupsAndPropertyInvalidValue() throws Exception { - - RestResponse importNewGroupTypeByName = ImportRestUtils.importNewGroupTypeByName("myHeatStack1", UserRoleEnum.ADMIN); - // BaseRestUtils.checkCreateResponse(importNewGroupTypeByName); - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("csarWithGroupsInvalidPropertyValue"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - - BaseRestUtils.checkStatusCode(createResource, "Check bad request error", false, 400); - - } - - @Test(enabled = true) - public void createResourceFromCsarWithGroupsAndInvalidPropertyName() throws Exception { - - RestResponse importNewGroupTypeByName = ImportRestUtils.importNewGroupTypeByName("myHeatStack1", UserRoleEnum.ADMIN); - // BaseRestUtils.checkCreateResponse(importNewGroupTypeByName); - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("csarWithGroupsPropertyNotExist"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - - BaseRestUtils.checkStatusCode(createResource, "Check bad request error", false, 400); - BaseRestUtils.checkErrorResponse(createResource, ActionStatus.GROUP_PROPERTY_NOT_FOUND, "url_credential111", "group1", "org.openecomp.groups.MyHeatStack1"); - - } - - @Test(enabled = true) - public void createResourceFromCsarGroupTypeNotExist() throws Exception { - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("csarWithGroupsInvalidGroupType"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - - BaseRestUtils.checkStatusCode(createResource, "Check bad request error", false, 400); - BaseRestUtils.checkErrorResponse(createResource, ActionStatus.GROUP_TYPE_IS_INVALID, "org.openecomp.groups.stamGroupType"); - - } - - @Test(enabled = true) - public void createResourceFromCsarMemberNotExist() throws Exception { - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("csarWithGroupsInvalidMember"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - - BaseRestUtils.checkStatusCode(createResource, "Check bad request error", false, 400); - BaseRestUtils.checkErrorResponse(createResource, ActionStatus.GROUP_INVALID_COMPONENT_INSTANCE, "mycomp", "mygroup", ValidationUtils.normaliseComponentName(resourceDetails.getName()), "VF"); - - } - - @Test(enabled = true) - public void createResourceFromCsarMemberNotAllowed() throws Exception { - - RestResponse importNewGroupTypeByName = ImportRestUtils.importNewGroupTypeByName("myHeatStack2", UserRoleEnum.ADMIN); - - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("csarWithGroupsNotAllowedMember"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER)); - - BaseRestUtils.checkStatusCode(createResource, "Check bad request error", false, 400); - BaseRestUtils.checkErrorResponse(createResource, ActionStatus.GROUP_INVALID_TOSCA_NAME_OF_COMPONENT_INSTANCE, "nodejs", "group1", "org.openecomp.groups.MyHeatStack2"); - - } - - @Test(enabled = true) - public void getResourceFromCsarUuidHappy() throws Exception { - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("tam"); - 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); - assertEquals(6, resource.getComponentInstances().size()); - - String expectedCsarUUID = resourceDetails.getCsarUUID(); - String expectedToscaResourceName = "org.openecomp.resource.vf." + WordUtils.capitalize(resourceDetails.getName().toLowerCase()); - - assertTrue("csarUUID : " + buildAssertMessage(expectedCsarUUID, resource.getCsarUUID()), expectedCsarUUID.equals(resource.getCsarUUID())); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, resource.getToscaResourceName()), expectedToscaResourceName.equals(resource.getToscaResourceName())); - - RestResponse getResourceResponse = ResourceRestUtils.getLatestResourceFromCsarUuid(resource.getCsarUUID()); - Resource getResource = ResponseParser.parseToObjectUsingMapper(getResourceResponse.getResponse(), Resource.class); - assertTrue("csarUUID : " + buildAssertMessage(expectedCsarUUID, getResource.getCsarUUID()), expectedCsarUUID.equals(getResource.getCsarUUID())); - assertTrue("toscaResourceName : " + buildAssertMessage(expectedToscaResourceName, getResource.getToscaResourceName()), expectedToscaResourceName.equals(getResource.getToscaResourceName())); - } - - @Test(enabled = true) - public void getResourceFromCsarResourceNotFound() throws Exception { - String csarUUID = "tam"; - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID(csarUUID); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - - RestResponse resResponse = ResourceRestUtils.getLatestResourceFromCsarUuid(csarUUID); - - BaseRestUtils.checkStatusCode(resResponse, "Check bad request error", false, 400); - BaseRestUtils.checkErrorResponse(resResponse, ActionStatus.RESOURCE_FROM_CSAR_NOT_FOUND, csarUUID); - - } - - @Test(enabled = true) - public void getResourceFromMissingCsar() throws Exception { - String csarUUID = "abcdefg12345"; - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID(csarUUID); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - - RestResponse resResponse = ResourceRestUtils.getLatestResourceFromCsarUuid(csarUUID); - - BaseRestUtils.checkStatusCode(resResponse, "Check bad request error", false, 400); - BaseRestUtils.checkErrorResponse(resResponse, ActionStatus.RESOURCE_FROM_CSAR_NOT_FOUND, csarUUID); - - } - - @Test(enabled = true) - public void createUpdateCertifiedImportResourceFromCsarTest() throws Exception { - User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - RestResponse copyRes = copyCsarRest(sdncModifierDetails, "valid_vf_a.csar", "valid_vf.csar"); - RestResponse updateResponse = null; - String oldName = null; - // create new resource from Csar - ResourceReqDetails resourceDetails = ElementFactory.getDefaultResource(); - resourceDetails.setCsarUUID("valid_vf.csar"); - resourceDetails.setResourceType(ResourceTypeEnum.VF.name()); - RestResponse createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkCreateResponse(createResource); - Resource resource = ResponseParser.parseToObjectUsingMapper(createResource.getResponse(), Resource.class); - assertEquals(5, resource.getComponentInstances().size()); - String invariantUUID = resource.getInvariantUUID(); - - // change metadata - // resource name, icon, vendor name, category, template derivedFrom - oldName = resourceDetails.getName(); - resourceDetails.setName("test1"); - resourceDetails.setIcon("newicon"); - resourceDetails.setVendorName("newname"); - createResource = ResourceRestUtils.createResource(resourceDetails, sdncModifierDetails); - BaseRestUtils.checkErrorResponse(createResource, ActionStatus.VSP_ALREADY_EXISTS, "valid_vf.csar", oldName); - - updateResponse = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resourceDetails.getUniqueId()); - BaseRestUtils.checkSuccess(updateResponse); - - LifecycleRestUtils.certifyResource(resourceDetails); - // change metadata - // resource name, icon, vendor name, category, template derivedFrom - resourceDetails.setName("test2"); - resourceDetails.setIcon("new icon1"); - resourceDetails.setVendorName("new name1"); - resourceDetails.setDescription("bla bla bla"); - updateResponse = ResourceRestUtils.updateResource(resourceDetails, sdncModifierDetails, resourceDetails.getUniqueId()); - BaseRestUtils.checkSuccess(updateResponse); - resource = ResponseParser.parseToObjectUsingMapper(updateResponse.getResponse(), Resource.class); - assertEquals(5, resource.getComponentInstances().size()); - assertEquals(invariantUUID, resource.getInvariantUUID()); - assertEquals(resource.getName(), "test1"); - assertEquals(resource.getIcon(), "newicon"); - assertEquals(resource.getVendorName(), "newname"); - assertEquals(resource.getDescription(), "bla bla bla"); - assertEquals(resource.getTags().contains("test2"), false); - } - - @Test - public void createImportRIRelationByCapNameFromCsarUITest() throws Exception { - Resource resource = ResourceRestUtils.importResourceFromCsar("vmmc_relate_by_cap_name.csar"); - // assert all relations created - assertEquals(80, resource.getComponentInstancesRelations().size()); - } - - @Test - public void createImportRIRelationByCapNameFromCsarUITest2() throws Exception { - User sdncModifierDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); - String payloadName = "vf_relate_by_cap_name.csar"; - ImportReqDetails resourceDetails = ElementFactory.getDefaultImportResource(); - String rootPath = System.getProperty("user.dir"); - Path path = null; - byte[] data = null; - String payloadData = null; - - path = Paths.get(rootPath + CSARS_PATH + "vf_relate_by_cap_name.csar"); - data = Files.readAllBytes(path); - payloadData = Base64.encodeBase64String(data); - resourceDetails.setPayloadData(payloadData); - - // create new resource from Csar - resourceDetails.setCsarUUID(payloadName); - 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); - // assert relations created: 1.by name: virtual_linkable. 2.by name: - // link - Map<String, ComponentInstance> nodes = resource.getComponentInstances().stream().collect(Collectors.toMap(n -> n.getName(), n -> n)); - Map<String, CapabilityDefinition> capabilities = nodes.get("elinenode").getCapabilities().get("tosca.capabilities.network.Linkable").stream().collect(Collectors.toMap(e -> e.getName(), e -> e)); - String cp1Uid = nodes.get("cp1node").getUniqueId(); - String cp2Uid = nodes.get("cp2node").getUniqueId(); - Map<String, List<RequirementCapabilityRelDef>> mappedByReqOwner = resource.getComponentInstancesRelations().stream().collect(Collectors.groupingBy(e -> e.getFromNode())); - assertEquals(mappedByReqOwner.get(cp1Uid).get(0).getRelationships().get(0).getRelation().getCapabilityUid(), capabilities.get("virtual_linkable").getUniqueId()); - assertEquals(mappedByReqOwner.get(cp2Uid).get(0).getRelationships().get(0).getRelation().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(); - String value = entry.getValue(); - String comparedValue = compNameToUniqueId.get(key); - - assertEquals("compare instance ids", comparedValue, value); - } - - } - - private static Map<String, String> prepareHeadersMap(String userId) { - Map<String, String> headersMap = new HashMap<String, String>(); - headersMap.put(HttpHeaderEnum.CONTENT_TYPE.getValue(), "application/json"); - headersMap.put(HttpHeaderEnum.ACCEPT.getValue(), "application/json"); - if (userId != null) { - headersMap.put(HttpHeaderEnum.USER_ID.getValue(), userId); - } - return headersMap; - } - -} |