1 package org.openecomp.sdc.translator.services.heattotosca.mapping;
3 import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate;
4 import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate;
5 import org.openecomp.sdc.tosca.services.ToscaConstants;
6 import org.openecomp.sdc.tosca.services.ToscaFileOutputService;
7 import org.openecomp.sdc.tosca.services.impl.ToscaFileOutputServiceCsarImpl;
8 import org.openecomp.sdc.translator.services.heattotosca.TranslationContext;
9 import org.openecomp.core.utilities.file.FileUtils;
10 import org.junit.Assert;
11 import org.junit.Test;
13 import java.util.HashMap;
14 import java.util.List;
16 public class TranslatorHeatToToscaFunctionConverterTest {
19 public void testGetFileWithExtensionFunction() {
20 String functionName = "get_file";
21 Object function = "scripFileName.sh";
22 String heatFileName = "heatFileName";
23 HeatOrchestrationTemplate heatOrchestrationTemplate = new HeatOrchestrationTemplate();
24 NodeTemplate nodeTemplate = new NodeTemplate();
25 TranslationContext context = new TranslationContext();
27 testGetToscaFunctionForGetFile(functionName, function, heatFileName, heatOrchestrationTemplate,
28 nodeTemplate, context);
32 public void testGetFileWithoutExtensionFunction() {
33 String functionName = "get_file";
34 Object function = "scripFileName";
35 String heatFileName = "heatFileName";
36 HeatOrchestrationTemplate heatOrchestrationTemplate = new HeatOrchestrationTemplate();
37 NodeTemplate nodeTemplate = new NodeTemplate();
38 TranslationContext context = new TranslationContext();
40 //# route_targets: { "Fn::Split" : [ ",", Ref: route_targets ] }
41 testGetToscaFunctionForGetFile(functionName, function, heatFileName, heatOrchestrationTemplate,
42 nodeTemplate, context);
45 private void testGetToscaFunctionForGetFile(String functionName, Object function,
47 HeatOrchestrationTemplate heatOrchestrationTemplate,
48 NodeTemplate nodeTemplate,
49 TranslationContext context) {
50 Object result = TranslatorHeatToToscaFunctionConverter
51 .getToscaFunction(functionName, function, heatFileName, heatOrchestrationTemplate,
52 nodeTemplate, context);
53 Assert.assertNotNull(((HashMap) result).get("get_artifact"));
54 List artifactParameters = (List) ((HashMap) result).get("get_artifact");
55 Assert.assertNotNull(artifactParameters);
56 Assert.assertEquals(artifactParameters.size(), 2);
57 Assert.assertEquals(artifactParameters.get(0), ToscaConstants.MODELABLE_ENTITY_NAME_SELF);
58 Assert.assertEquals(artifactParameters.get(1), ((String) function).split("\\.")[0]);
60 Assert.assertNotNull(nodeTemplate.getArtifacts());
62 nodeTemplate.getArtifacts().get(FileUtils.getFileWithoutExtention((String) function)));
63 ToscaFileOutputService toscaFileOutputService = new ToscaFileOutputServiceCsarImpl();
65 nodeTemplate.getArtifacts().get(FileUtils.getFileWithoutExtention((String) function))
66 .getFile(), "../" + toscaFileOutputService.getArtifactsFolderName() + "/" + function);