Controller Blueprints MS
[ccsdk/cds.git] / ms / controllerblueprints / modules / core / src / test / kotlin / org / onap / ccsdk / apps / controllerblueprints / core / service / BluePrintExpressionServiceTest.kt
1 /*\r
2  * Copyright © 2017-2018 AT&T Intellectual Property.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 package org.onap.ccsdk.apps.controllerblueprints.core.service\r
18 \r
19 import com.fasterxml.jackson.databind.JsonNode\r
20 import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper\r
21 import org.junit.Test\r
22 import org.onap.ccsdk.apps.controllerblueprints.core.data.ExpressionData\r
23 import kotlin.test.assertEquals\r
24 import kotlin.test.assertNotNull\r
25 /**\r
26  *\r
27  *\r
28  * @author Brinda Santh\r
29  */\r
30 class BluePrintExpressionServiceTest {\r
31     @Test\r
32     fun testInputExpression() {\r
33         val node : JsonNode = jacksonObjectMapper().readTree("{ \"get_input\" : \"input-name\" }")\r
34         val expressionData : ExpressionData = BluePrintExpressionService.getExpressionData(node)\r
35         assertNotNull(expressionData, " Failed to populate expression data")\r
36         assertEquals(expressionData.isExpression, true, "Failed to identify as expression")\r
37         assertNotNull(expressionData.inputExpression, " Failed to populate input expression data")\r
38         assertEquals("input-name", expressionData.inputExpression?.propertyName, "Failed to get propertyName from expression data")\r
39     }\r
40 \r
41     @Test\r
42     fun testPropertyExpression() {\r
43         val node : JsonNode = jacksonObjectMapper().readTree("{ \"get_property\" : [\"SELF\", \"property-name\"] }")\r
44         val expressionData : ExpressionData = BluePrintExpressionService.getExpressionData(node)\r
45         assertNotNull(expressionData, " Failed to populate expression data")\r
46         assertEquals(expressionData.isExpression, true, "Failed to identify as expression")\r
47         assertNotNull(expressionData.propertyExpression, " Failed to populate property expression data")\r
48         assertEquals("SELF", expressionData.propertyExpression?.modelableEntityName, " Failed to get expected modelableEntityName")\r
49         assertEquals("property-name", expressionData.propertyExpression?.propertyName, " Failed to get expected propertyName")\r
50 \r
51         val node1 : JsonNode = jacksonObjectMapper().readTree("{ \"get_property\" : [\"SELF\", \"\",\"property-name\", \"resource\", \"name\"] }")\r
52         val expressionData1  : ExpressionData  = BluePrintExpressionService.getExpressionData(node1)\r
53         assertNotNull(expressionData1, " Failed to populate expression data")\r
54         assertEquals(expressionData1.isExpression, true, "Failed to identify as nested property expression")\r
55         assertNotNull(expressionData1.propertyExpression, " Failed to populate nested property expression data")\r
56         assertEquals("SELF", expressionData1.propertyExpression?.modelableEntityName, " Failed to get expected modelableEntityName")\r
57         assertEquals("property-name", expressionData1.propertyExpression?.propertyName, " Failed to get expected propertyName")\r
58         assertEquals("resource/name",expressionData1.propertyExpression?.subPropertyName, " Failed to populate nested subPropertyName expression data")\r
59     }\r
60 \r
61     @Test\r
62     fun testAttributeExpression() {\r
63         val node : JsonNode = jacksonObjectMapper().readTree("{ \"get_attribute\" : [\"SELF\", \"\",\"attribute-name\", \"resource\", \"name\"] }")\r
64         val expressionData : ExpressionData = BluePrintExpressionService.getExpressionData(node)\r
65         assertNotNull(expressionData, " Failed to populate expression data")\r
66         assertEquals(expressionData.isExpression, true, "Failed to identify as expression")\r
67         assertNotNull(expressionData.attributeExpression, " Failed to populate attribute expression data")\r
68         assertEquals("SELF", expressionData.attributeExpression?.modelableEntityName, " Failed to get expected modelableEntityName")\r
69         assertEquals("attribute-name", expressionData.attributeExpression?.attributeName, " Failed to get expected attributeName")\r
70         assertEquals("resource/name",expressionData.attributeExpression?.subAttributeName, " Failed to populate nested subAttributeName expression data")\r
71     }\r
72 \r
73 \r
74     @Test\r
75     fun testOutputOperationExpression() {\r
76         val node : JsonNode = jacksonObjectMapper().readTree("{ \"get_operation_output\": [\"SELF\", \"interface-name\", \"operation-name\", \"output-property-name\"] }")\r
77         val expressionData : ExpressionData = BluePrintExpressionService.getExpressionData(node)\r
78         assertNotNull(expressionData, " Failed to populate expression data")\r
79         assertEquals(expressionData.isExpression, true, "Failed to identify as expression")\r
80         assertNotNull(expressionData.operationOutputExpression, " Failed to populate output expression data")\r
81         assertEquals("SELF", expressionData.operationOutputExpression?.modelableEntityName, " Failed to get expected modelableEntityName")\r
82         assertEquals("interface-name", expressionData.operationOutputExpression?.interfaceName, " Failed to get expected interfaceName")\r
83         assertEquals("operation-name", expressionData.operationOutputExpression?.operationName, " Failed to get expected operationName")\r
84         assertEquals("output-property-name", expressionData.operationOutputExpression?.propertyName, " Failed to get expected propertyName")\r
85     }\r
86 \r
87 \r
88     @Test\r
89     fun testArtifactExpression() {\r
90         val node : JsonNode = jacksonObjectMapper().readTree("{ \"get_artifact\" : [\"SELF\", \"artifact-template\"] }")\r
91         val expressionData : ExpressionData = BluePrintExpressionService.getExpressionData(node)\r
92         assertNotNull(expressionData, " Failed to populate expression data")\r
93         assertEquals(expressionData.isExpression, true, "Failed to identify as expression")\r
94         assertNotNull(expressionData.artifactExpression, " Failed to populate Artifact expression data")\r
95         assertEquals("SELF", expressionData.artifactExpression?.modelableEntityName, " Failed to get expected modelableEntityName")\r
96         assertEquals("artifact-template", expressionData.artifactExpression?.artifactName, " Failed to get expected artifactName")\r
97 \r
98 \r
99         val node1 : JsonNode = jacksonObjectMapper().readTree("{ \"get_artifact\" : [\"SELF\", \"artifact-template\", \"location\", true] }")\r
100         val expressionData1 : ExpressionData = BluePrintExpressionService.getExpressionData(node1)\r
101         assertNotNull(expressionData1, " Failed to populate expression data")\r
102         assertEquals(expressionData1.isExpression, true, "Failed to identify as expression")\r
103         assertNotNull(expressionData1.artifactExpression, " Failed to populate Artifact expression data")\r
104         assertEquals("SELF", expressionData1.artifactExpression?.modelableEntityName, " Failed to get expected modelableEntityName")\r
105         assertEquals("artifact-template", expressionData1.artifactExpression?.artifactName, " Failed to get expected artifactName")\r
106         assertEquals("location", expressionData1.artifactExpression?.location, " Failed to get expected location")\r
107         assertEquals(true, expressionData1.artifactExpression?.remove, " Failed to get expected remove")\r
108     }\r
109 }