push addional code
[sdc.git] / openecomp-be / lib / openecomp-sdc-translator-lib / openecomp-sdc-translator-core / src / test / java / org / openecomp / sdc / translator / services / heattotosca / mapping / TranslatorHeatToToscaFunctionConverterTest.java
1 package org.openecomp.sdc.translator.services.heattotosca.mapping;
2
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;
12
13 import java.util.HashMap;
14 import java.util.List;
15
16 public class TranslatorHeatToToscaFunctionConverterTest {
17
18   @Test
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();
26
27     testGetToscaFunctionForGetFile(functionName, function, heatFileName, heatOrchestrationTemplate,
28         nodeTemplate, context);
29   }
30
31   @Test
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();
39
40     //#      route_targets: { "Fn::Split" : [ ",", Ref: route_targets ] }
41     testGetToscaFunctionForGetFile(functionName, function, heatFileName, heatOrchestrationTemplate,
42         nodeTemplate, context);
43   }
44
45   private void testGetToscaFunctionForGetFile(String functionName, Object function,
46                                               String heatFileName,
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]);
59
60     Assert.assertNotNull(nodeTemplate.getArtifacts());
61     Assert.assertNotNull(
62         nodeTemplate.getArtifacts().get(FileUtils.getFileWithoutExtention((String) function)));
63     ToscaFileOutputService toscaFileOutputService = new ToscaFileOutputServiceCsarImpl();
64     Assert.assertEquals(
65         nodeTemplate.getArtifacts().get(FileUtils.getFileWithoutExtention((String) function))
66             .getFile(), "../" + toscaFileOutputService.getArtifactsFolderName() + "/" + function);
67   }
68 }