re base code
[sdc.git] / openecomp-be / lib / openecomp-sdc-translator-lib / openecomp-sdc-translator-core / src / test / java / org / openecomp / sdc / translator / services / heattotosca / impl / resourcetranslation / DependsOnResourceBaseTranslationlTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation;
22
23 import org.junit.Before;
24 import org.junit.Test;
25 import org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.ConsolidationDataValidationType;
26
27 import java.io.IOException;
28
29 import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants.*;
30
31
32 public class DependsOnResourceBaseTranslationlTest extends BaseResourceTranslationTest {
33   @Override
34   @Before
35   public void setUp() throws IOException {
36     // do not delete this function. it prevents the superclass setup from running
37   }
38
39   @Test
40   public void testTranslate() throws Exception {
41     inputFilesPath = "/mock/services/heattotosca/baseResourceTranslation/inputfiles";
42     outputFilesPath = "/mock/services/heattotosca/baseResourceTranslation/expectedoutputfiles";
43     initTranslatorAndTranslate();
44     testTranslation();
45   }
46
47   @Test
48   public void testDependsOnConsolidationNodesConnectedOut() throws Exception {
49     inputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
50         "/nodesConnectedOut/inputfiles";
51     outputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
52         "/nodesConnectedOut/expectedoutputfiles";
53     initTranslatorAndTranslate();
54     testTranslation();
55     validateComputeTemplateConsolidationData(ConsolidationDataValidationType.VALIDATE_DEPENDS_ON,
56         TEST_DEPENDS_ON_NODES_CONNECTED_OUT);
57   }
58
59   @Test
60   public void testDependsOnConsolidationNodesConnectedIn() throws Exception {
61     inputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
62         "/nodesConnectedIn/inputfiles";
63     outputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
64         "/nodesConnectedIn/expectedoutputfiles";
65     initTranslatorAndTranslate();
66     testTranslation();
67     validateComputeTemplateConsolidationData(ConsolidationDataValidationType.VALIDATE_DEPENDS_ON,
68         TEST_DEPENDS_ON_NODES_CONNECTED_IN);
69   }
70
71   @Test
72   public void testDependsOnConsolidationNodesConnectedInAndOut() throws Exception {
73     inputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
74         "/nodesConnectedInOut/inputfiles";
75     outputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
76         "/nodesConnectedInOut/expectedoutputfiles";
77     initTranslatorAndTranslate();
78     testTranslation();
79     validateComputeTemplateConsolidationData(ConsolidationDataValidationType.VALIDATE_DEPENDS_ON,
80         TEST_DEPENDS_ON_NODES_CONNECTED_IN_AND_OUT);
81   }
82
83   @Test
84   public void testDependsOnConsolidationNoDependency() throws Exception {
85     inputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
86         "/noDependency/inputfiles";
87     outputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
88         "/noDependency/expectedoutputfiles";
89     initTranslatorAndTranslate();
90     testTranslation();
91     validateComputeTemplateConsolidationData(ConsolidationDataValidationType.VALIDATE_DEPENDS_ON,
92         TEST_DEPENDS_ON_NO_DEPENDENCY);
93   }
94
95   @Test
96   public void testDependsOnConsolidationInvalidDependencyCandidate() throws Exception {
97     inputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
98         "/noDependency/inputfiles";
99     outputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
100         "/noDependency/expectedoutputfiles";
101     initTranslatorAndTranslate();
102     testTranslation();
103     validateComputeTemplateConsolidationData(ConsolidationDataValidationType.VALIDATE_DEPENDS_ON,
104         TEST_DEPENDS_ON_INVALID_DEPENDENCY_CANDIDATE);
105   }
106
107   @Test
108   public void testDependsOnConsolidationMultipleCompute() throws Exception {
109     inputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
110         "/multiplecompute/inputfiles";
111     outputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource/multiplecompute/expectedoutputfiles";
112     initTranslatorAndTranslate();
113     testTranslation();
114     validateComputeTemplateConsolidationData(ConsolidationDataValidationType.VALIDATE_DEPENDS_ON,
115         TEST_DEPENDS_ON_MULTIPLE_COMPUTE);
116   }
117
118   @Test
119   public void testDependsOnNodeTemplateTranslationOrderInvariance() throws Exception {
120     //Tests that the resource dependency is independent of the order of resource translation
121     inputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
122         "/translationorderinvariance/inputfiles";
123     outputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
124         "/translationorderinvariance/expectedoutputfiles";
125     initTranslatorAndTranslate();
126     testTranslation();
127     validateComputeTemplateConsolidationData(ConsolidationDataValidationType.VALIDATE_DEPENDS_ON,
128         TEST_DEPENDS_ON_NODE_TEMPLATE_TRANSLATION_ORDER_INVARIANCE);
129   }
130
131   @Test
132   public void testDependsOnRemoveDependencyForInvalidCandidates() throws Exception {
133     //Tests the deletion of dependencies of Compute->Compute, Compute->Port, Port->Port,
134     // Port->Compute from the original tosca data model
135     inputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
136         "/removeInvalidDependencyFromTosca/inputfiles";
137     outputFilesPath = "/mock/services/heattotosca/buildconsolidationdata/dependsonresource" +
138         "/removeInvalidDependencyFromTosca/expectedoutputfiles";
139     initTranslatorAndTranslate();
140     testTranslation();
141   }
142 }