1 package org.openecomp.sdc.ci.tests.execute.imports;
3 import static org.testng.AssertJUnit.assertEquals;
5 import java.nio.file.Files;
6 import java.nio.file.Path;
7 import java.nio.file.Paths;
8 import java.util.ArrayList;
9 import java.util.Collections;
10 import java.util.List;
12 import org.apache.commons.codec.binary.Base64;
13 import org.junit.rules.TestName;
14 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
15 import org.openecomp.sdc.be.model.ArtifactDefinition;
16 import org.openecomp.sdc.be.model.ComponentInstance;
17 import org.openecomp.sdc.be.model.Resource;
18 import org.openecomp.sdc.be.model.User;
19 import org.openecomp.sdc.be.ui.model.UiComponentDataTransfer;
20 import org.openecomp.sdc.be.ui.model.UiResourceDataTransfer;
21 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
22 import org.openecomp.sdc.ci.tests.datatypes.ImportReqDetails;
23 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
24 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
25 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
26 import org.openecomp.sdc.ci.tests.utils.rest.BaseRestUtils;
27 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
28 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
29 import org.testng.annotations.Test;
33 public class FilteredDataByParamsComponentServletTest extends ComponentBaseTest{
35 private static final String CSAR_NAME = "LDSA1_with_inputs.csar";
36 private static final String COMPONENT_INSTANCES = "include=componentInstances";
37 private static final String COMPONENT_INSTANCES_RELATIONS = "include=componentInstancesRelations";
38 private static final String DEPLOYMENT_ARTIFACTS = "include=deploymentArtifacts";
39 private static final String INFORMATIONAL_ARTIFACTS = "include=artifacts";
40 private static final String METADATA = "include=metadata";
41 public static TestName name = new TestName();
45 protected User designerDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
47 public FilteredDataByParamsComponentServletTest() {
48 super(name, ImportCsarResourceTest.class.getName());
53 public void getComponentInstancesAndComponentInstancesRelationsTest() throws Exception {
54 Resource resource = ResourceRestUtils.importResourceFromCsar(CSAR_NAME);
55 List<String> parameters = new ArrayList<>();
56 parameters.add(COMPONENT_INSTANCES);
57 parameters.add(COMPONENT_INSTANCES_RELATIONS);
58 // create UiComponentDataTransfer and parse the ComponentInstancesRelations into it
59 RestResponse resourceGetResponse = ResourceRestUtils.getResourceFilteredDataByParams(designerDetails, resource.getUniqueId() , parameters);
60 UiComponentDataTransfer uiComponentWithComponentInstancesAndRelations = ResponseParser.parseToObjectUsingMapper(resourceGetResponse.getResponse() , UiComponentDataTransfer.class);
62 uiComponentWithComponentInstancesAndRelations.getComponentInstances().stream().sorted((object1, object2) -> object1.getUniqueId().compareTo(object2.getUniqueId()));
63 resource.getComponentInstances().stream().sorted((object1, object2) -> object1.getUniqueId().compareTo(object2.getUniqueId()));
65 for (int i = 0 ; i < resource.getComponentInstances().size() ; i++){
66 assertEquals(uiComponentWithComponentInstancesAndRelations.getComponentInstances().get(i).getUniqueId() ,resource.getComponentInstances().get(i).getUniqueId());
68 assertEquals(uiComponentWithComponentInstancesAndRelations.getComponentInstancesRelations().size() , resource.getComponentInstancesRelations().size());
73 public void getComponentDeploymentAndInformationalArtifacts() throws Exception {
74 Resource resource = ResourceRestUtils.importResourceFromCsar(CSAR_NAME);
75 List<String> parameters = new ArrayList<>();
76 parameters.add(DEPLOYMENT_ARTIFACTS);
77 parameters.add(INFORMATIONAL_ARTIFACTS);
79 // create new UiComponentData transfer and parse the artifacts into it
80 RestResponse resourceGetResponse = ResourceRestUtils.getResourceFilteredDataByParams(designerDetails, resource.getUniqueId() , parameters);
81 UiComponentDataTransfer uiComponentWithArtifacts = ResponseParser.parseToObjectUsingMapper(resourceGetResponse.getResponse() , UiComponentDataTransfer.class);
83 List<ArtifactDefinition> deploymentArtifactsFromResource = new ArrayList<ArtifactDefinition>(resource.getDeploymentArtifacts().values());
84 List<ArtifactDefinition> deploymentArtifactsFromUiComponent = new ArrayList<ArtifactDefinition>(uiComponentWithArtifacts.getDeploymentArtifacts().values());
85 List<ArtifactDefinition> informationalArtifactsFromResource = new ArrayList<ArtifactDefinition>(resource.getArtifacts().values());
86 List<ArtifactDefinition> informationalArtifactsFromUiComponent = new ArrayList<ArtifactDefinition>(uiComponentWithArtifacts.getArtifacts().values());
88 deploymentArtifactsFromResource.stream().sorted((object1, object2) -> object1.getUniqueId().compareTo(object2.getUniqueId()));
89 deploymentArtifactsFromUiComponent.stream().sorted((object1, object2) -> object1.getUniqueId().compareTo(object2.getUniqueId()));
90 informationalArtifactsFromResource.stream().sorted((object1, object2) -> object1.getUniqueId().compareTo(object2.getUniqueId()));
91 informationalArtifactsFromUiComponent.stream().sorted((object1, object2) -> object1.getUniqueId().compareTo(object2.getUniqueId()));
93 for (int i = 0 ; i < deploymentArtifactsFromResource.size() ; i++){
94 assertEquals(deploymentArtifactsFromResource.get(i).getUniqueId() , deploymentArtifactsFromUiComponent.get(i).getUniqueId());
97 for (int i = 0 ; i < informationalArtifactsFromResource.size() ; i++){
98 assertEquals(informationalArtifactsFromResource.get(i).getUniqueId() , informationalArtifactsFromUiComponent.get(i).getUniqueId());
104 public void getComponentMetadataTest() throws Exception {
106 Resource resource = ResourceRestUtils.importResourceFromCsar(CSAR_NAME);
107 List<String> parameters = new ArrayList<>();
108 parameters.add(METADATA);
110 // create new UiResourceDataTransfer and parse the metadata into it
111 RestResponse resourceGetResponse = ResourceRestUtils.getResourceFilteredDataByParams(designerDetails, resource.getUniqueId() , parameters);
112 UiResourceDataTransfer uiResourceWithMetadata = ResponseParser.parseToObjectUsingMapper(resourceGetResponse.getResponse(), UiResourceDataTransfer.class);
114 // assert that the metadata is equal
115 assertEquals(uiResourceWithMetadata.getMetadata().getName(), resource.getName());
116 assertEquals(uiResourceWithMetadata.getMetadata().getVersion() , resource.getVersion());
117 assertEquals(uiResourceWithMetadata.getMetadata().getUniqueId() , resource.getUniqueId());
118 assertEquals(uiResourceWithMetadata.getMetadata().getUUID(), resource.getUUID());