Replaced all tabs with spaces in java and pom.xml
[so.git] / bpmn / MSOCommonBPMN / src / test / java / org / onap / so / bpmn / common / resource / ResourceRequestBuilderTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2018 Huawei 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 package org.onap.so.bpmn.common.resource;
21
22 import static com.github.tomakehurst.wiremock.client.WireMock.get;
23 import static com.github.tomakehurst.wiremock.client.WireMock.ok;
24 import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
25 import static org.junit.Assert.assertEquals;
26 import java.util.HashMap;
27 import java.util.List;
28 import java.util.Map;
29 import org.junit.Test;
30 import org.onap.so.BaseTest;
31
32
33 public class ResourceRequestBuilderTest extends BaseTest {
34
35     @Test
36     public void getResourceInputTest() throws Exception {
37
38
39
40         wireMockServer.stubFor(get(urlEqualTo(
41                 "/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
42                         .willReturn(ok("{ \"serviceResources\"    : {\n" + "\t\"modelInfo\"       : {\n"
43                                 + "\t\t\"modelName\"          : \"demoVFWCL\",\n"
44                                 + "\t\t\"modelUuid\"          : \"c3954379-4efe-431c-8258-f84905b158e5\",\n"
45                                 + "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n"
46                                 + "\t\t\"modelVersion\"       : \"1.0\"\n" + "\t},\n"
47                                 + "\t\"serviceType\"        : \"\",\n" + "\t\"serviceRole\"        : \"\",\n"
48                                 + "\t\"environmentContext\" : null,\n" + "\t\"resourceOrder\"       : \"res1,res2\",\n"
49                                 + "\t\"workloadContext\"    : \"Production\",\n" + "\t\"serviceVnfs\": [\n" + "\t\n"
50                                 + "\t\t{ \"modelInfo\"                    : {\n"
51                                 + "\t\t\t\"modelName\"              : \"15968a6e-2fe5-41bf-a481\",\n"
52                                 + "\t\t\t\"modelUuid\"              : \"808abda3-2023-4105-92d2-e62644b61d53\",\n"
53                                 + "\t\t\t\"modelInvariantUuid\"     : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n"
54                                 + "\t\t\t\"modelVersion\"           : \"1.0\",\n"
55                                 + "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n"
56                                 + "\t\t\t\"modelInstanceName\"      : \"15968a6e-2fe5-41bf-a481 0\"\n" + "\t\t\t},\n"
57                                 + "\t\t\"toscaNodeType\"            : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n"
58                                 + "\t\t\"nfFunction\"           \t: null,\n"
59                                 + "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\","
60                                 + "\t\t\"nfType\"              \t\t: null,\n"
61                                 + "\t\t\"nfRole\"              \t\t: null,\n"
62                                 + "\t\t\"nfNamingCode\"         \t: null,\n"
63                                 + "\t\t\"multiStageDesign\"         : \"false\",\n" + "\t\t\t\"vfModules\": [\n"
64                                 + "\t\t\t\t{\n" + "\t\t\t\t\t\"modelInfo\"               : { \n"
65                                 + "\t\t\t\t\t\t\"modelName\"              : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n"
66                                 + "\t\t\t\t\t\t\"modelUuid\"              : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n"
67                                 + "\t\t\t\t\t\t\"modelInvariantUuid\"     : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n"
68                                 + "\t\t\t\t\t\t\"modelVersion\"           : \"1\",\n"
69                                 + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n"
70                                 + "\t\t\t\t\t},\t\t\"isBase\"                 : true,\n"
71                                 + "\t\t\t\t\t\"vfModuleLabel\"          : \"base_vfw\",\n"
72                                 + "\t\t\t\t\t\"initialCount\"           : 1,\n"
73                                 + "\t\t\t\t\t\"hasVolumeGroup\"           : true\n" + "\t\t\t\t}\n" + "\t\t\t]\n"
74                                 + "\t\t},\n" + "\t\n" + "\t\t{ \"modelInfo\"                    : {\n"
75                                 + "\t\t\t\"modelName\"              : \"f971106a-248f-4202-9d1f\",\n"
76                                 + "\t\t\t\"modelUuid\"              : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n"
77                                 + "\t\t\t\"modelInvariantUuid\"     : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n"
78                                 + "\t\t\t\"modelVersion\"           : \"1.0\",\n"
79                                 + "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n"
80                                 + "\t\t\t\"modelInstanceName\"      : \"f971106a-248f-4202-9d1f 0\"\n" + "\t\t\t},\n"
81                                 + "\t\t\"toscaNodeType\"            : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n"
82                                 + "\t\t\"nfFunction\"           \t: null,\n"
83                                 + "\t\t\"nfType\"              \t\t: null,\n"
84                                 + "\t\t\"nfRole\"              \t\t: null,\n"
85                                 + "\"resourceInput\":\"{\\\"a\\\":\\\"key|default_value\\\"}\","
86                                 + "\t\t\"nfNamingCode\"         \t: null,\n"
87                                 + "\t\t\"multiStageDesign\"         : \"false\",\n" + "\t\t\t\"vfModules\": [\n"
88                                 + "\t\t\t\t{\n" + "\t\t\t\t\t\"modelInfo\"               : { \n"
89                                 + "\t\t\t\t\t\t\"modelName\"              : \"F971106a248f42029d1f..base_vpkg..module-0\",\n"
90                                 + "\t\t\t\t\t\t\"modelUuid\"              : \"47d5273a-7456-4786-9035-b3911944cc35\",\n"
91                                 + "\t\t\t\t\t\t\"modelInvariantUuid\"     : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n"
92                                 + "\t\t\t\t\t\t\"modelVersion\"           : \"1\",\n"
93                                 + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n"
94                                 + "\t\t\t\t\t},\t\t\"isBase\"                 : true,\n"
95                                 + "\t\t\t\t\t\"vfModuleLabel\"          : \"base_vpkg\",\n"
96                                 + "\t\t\t\t\t\"initialCount\"           : 1,\n"
97                                 + "\t\t\t\t\t\"hasVolumeGroup\"           : true\n" + "\t\t\t\t}\n" + "\t\t\t]\n"
98                                 + "\t\t}\n" + "\t],\n" + "\t\"serviceNetworks\": [],\n"
99                                 + "\t\"serviceAllottedResources\": []\n" + "\t}}")));
100
101         // when(UrnPropertiesReader.getVariable(anyString())).thenReturn("http://localhost:8080");
102         HashMap serviceInput = new HashMap();
103         serviceInput.put("key", "value");
104         Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest(
105                 "c3954379-4efe-431c-8258-f84905b158e5", "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput);
106         assertEquals(stringObjectMap.get("a"), "value");
107     }
108
109     @Test
110     public void getResourceInputDefaultValueTest() throws Exception {
111
112         wireMockServer.stubFor(get(urlEqualTo(
113                 "/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
114                         .willReturn(ok("{ \"serviceResources\"    : {\n" + "\t\"modelInfo\"       : {\n"
115                                 + "\t\t\"modelName\"          : \"demoVFWCL\",\n"
116                                 + "\t\t\"modelUuid\"          : \"c3954379-4efe-431c-8258-f84905b158e5\",\n"
117                                 + "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n"
118                                 + "\t\t\"modelVersion\"       : \"1.0\"\n" + "\t},\n"
119                                 + "\t\"serviceType\"        : \"\",\n" + "\t\"serviceRole\"        : \"\",\n"
120                                 + "\t\"environmentContext\" : null,\n" + "\t\"workloadContext\"    : \"Production\",\n"
121                                 + "\t\"serviceVnfs\": [\n" + "\t\n" + "\t\t{ \"modelInfo\"                    : {\n"
122                                 + "\t\t\t\"modelName\"              : \"15968a6e-2fe5-41bf-a481\",\n"
123                                 + "\t\t\t\"modelUuid\"              : \"808abda3-2023-4105-92d2-e62644b61d53\",\n"
124                                 + "\t\t\t\"modelInvariantUuid\"     : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n"
125                                 + "\t\t\t\"modelVersion\"           : \"1.0\",\n"
126                                 + "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n"
127                                 + "\t\t\t\"modelInstanceName\"      : \"15968a6e-2fe5-41bf-a481 0\"\n" + "\t\t\t},\n"
128                                 + "\t\t\"toscaNodeType\"            : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n"
129                                 + "\t\t\"nfFunction\"           \t: null,\n"
130                                 + "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\","
131                                 + "\t\t\"nfType\"              \t\t: null,\n"
132                                 + "\t\t\"nfRole\"              \t\t: null,\n"
133                                 + "\t\t\"nfNamingCode\"         \t: null,\n"
134                                 + "\t\t\"multiStageDesign\"         : \"false\",\n" + "\t\t\t\"vfModules\": [\n"
135                                 + "\t\t\t\t{\n" + "\t\t\t\t\t\"modelInfo\"               : { \n"
136                                 + "\t\t\t\t\t\t\"modelName\"              : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n"
137                                 + "\t\t\t\t\t\t\"modelUuid\"              : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n"
138                                 + "\t\t\t\t\t\t\"modelInvariantUuid\"     : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n"
139                                 + "\t\t\t\t\t\t\"modelVersion\"           : \"1\",\n"
140                                 + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n"
141                                 + "\t\t\t\t\t},\t\t\"isBase\"                 : true,\n"
142                                 + "\t\t\t\t\t\"vfModuleLabel\"          : \"base_vfw\",\n"
143                                 + "\t\t\t\t\t\"initialCount\"           : 1,\n"
144                                 + "\t\t\t\t\t\"hasVolumeGroup\"           : true\n" + "\t\t\t\t}\n" + "\t\t\t]\n"
145                                 + "\t\t},\n" + "\t\n" + "\t\t{ \"modelInfo\"                    : {\n"
146                                 + "\t\t\t\"modelName\"              : \"f971106a-248f-4202-9d1f\",\n"
147                                 + "\t\t\t\"modelUuid\"              : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n"
148                                 + "\t\t\t\"modelInvariantUuid\"     : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n"
149                                 + "\t\t\t\"modelVersion\"           : \"1.0\",\n"
150                                 + "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n"
151                                 + "\t\t\t\"modelInstanceName\"      : \"f971106a-248f-4202-9d1f 0\"\n" + "\t\t\t},\n"
152                                 + "\t\t\"toscaNodeType\"            : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n"
153                                 + "\t\t\"nfFunction\"           \t: null,\n"
154                                 + "\t\t\"nfType\"              \t\t: null,\n"
155                                 + "\t\t\"nfRole\"              \t\t: null,\n"
156                                 + "\"resourceInput\":\"{\\\"a\\\":\\\"key|default_value\\\"}\","
157                                 + "\t\t\"nfNamingCode\"         \t: null,\n"
158                                 + "\t\t\"multiStageDesign\"         : \"false\",\n" + "\t\t\t\"vfModules\": [\n"
159                                 + "\t\t\t\t{\n" + "\t\t\t\t\t\"modelInfo\"               : { \n"
160                                 + "\t\t\t\t\t\t\"modelName\"              : \"F971106a248f42029d1f..base_vpkg..module-0\",\n"
161                                 + "\t\t\t\t\t\t\"modelUuid\"              : \"47d5273a-7456-4786-9035-b3911944cc35\",\n"
162                                 + "\t\t\t\t\t\t\"modelInvariantUuid\"     : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n"
163                                 + "\t\t\t\t\t\t\"modelVersion\"           : \"1\",\n"
164                                 + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n"
165                                 + "\t\t\t\t\t},\t\t\"isBase\"                 : true,\n"
166                                 + "\t\t\t\t\t\"vfModuleLabel\"          : \"base_vpkg\",\n"
167                                 + "\t\t\t\t\t\"initialCount\"           : 1,\n"
168                                 + "\t\t\t\t\t\"hasVolumeGroup\"           : true\n" + "\t\t\t\t}\n" + "\t\t\t]\n"
169                                 + "\t\t}\n" + "\t],\n" + "\t\"serviceNetworks\": [],\n"
170                                 + "\t\"serviceAllottedResources\": []\n" + "\t}}")));
171
172         // when(UrnPropertiesReader.getVariable(anyString())).thenReturn("http://localhost:8080");
173         HashMap serviceInput = new HashMap();
174         serviceInput.put("key1", "value");
175         Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest(
176                 "c3954379-4efe-431c-8258-f84905b158e5", "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput);
177         assertEquals(stringObjectMap.get("a"), "default_value");
178     }
179
180     @Test
181     public void getResourceInputValueNoDefaultTest() throws Exception {
182
183         wireMockServer.stubFor(get(urlEqualTo(
184                 "/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
185                         .willReturn(ok("{ \"serviceResources\"    : {\n" + "\t\"modelInfo\"       : {\n"
186                                 + "\t\t\"modelName\"          : \"demoVFWCL\",\n"
187                                 + "\t\t\"modelUuid\"          : \"c3954379-4efe-431c-8258-f84905b158e5\",\n"
188                                 + "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n"
189                                 + "\t\t\"modelVersion\"       : \"1.0\"\n" + "\t},\n"
190                                 + "\t\"serviceType\"        : \"\",\n" + "\t\"serviceRole\"        : \"\",\n"
191                                 + "\t\"environmentContext\" : null,\n" + "\t\"workloadContext\"    : \"Production\",\n"
192                                 + "\t\"serviceVnfs\": [\n" + "\t\n" + "\t\t{ \"modelInfo\"                    : {\n"
193                                 + "\t\t\t\"modelName\"              : \"15968a6e-2fe5-41bf-a481\",\n"
194                                 + "\t\t\t\"modelUuid\"              : \"808abda3-2023-4105-92d2-e62644b61d53\",\n"
195                                 + "\t\t\t\"modelInvariantUuid\"     : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n"
196                                 + "\t\t\t\"modelVersion\"           : \"1.0\",\n"
197                                 + "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n"
198                                 + "\t\t\t\"modelInstanceName\"      : \"15968a6e-2fe5-41bf-a481 0\"\n" + "\t\t\t},\n"
199                                 + "\t\t\"toscaNodeType\"            : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n"
200                                 + "\t\t\"nfFunction\"           \t: null,\n"
201                                 + "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\","
202                                 + "\t\t\"nfType\"              \t\t: null,\n"
203                                 + "\t\t\"nfRole\"              \t\t: null,\n"
204                                 + "\t\t\"nfNamingCode\"         \t: null,\n"
205                                 + "\t\t\"multiStageDesign\"         : \"false\",\n" + "\t\t\t\"vfModules\": [\n"
206                                 + "\t\t\t\t{\n" + "\t\t\t\t\t\"modelInfo\"               : { \n"
207                                 + "\t\t\t\t\t\t\"modelName\"              : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n"
208                                 + "\t\t\t\t\t\t\"modelUuid\"              : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n"
209                                 + "\t\t\t\t\t\t\"modelInvariantUuid\"     : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n"
210                                 + "\t\t\t\t\t\t\"modelVersion\"           : \"1\",\n"
211                                 + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n"
212                                 + "\t\t\t\t\t},\t\t\"isBase\"                 : true,\n"
213                                 + "\t\t\t\t\t\"vfModuleLabel\"          : \"base_vfw\",\n"
214                                 + "\t\t\t\t\t\"initialCount\"           : 1,\n"
215                                 + "\t\t\t\t\t\"hasVolumeGroup\"           : true\n" + "\t\t\t\t}\n" + "\t\t\t]\n"
216                                 + "\t\t},\n" + "\t\n" + "\t\t{ \"modelInfo\"                    : {\n"
217                                 + "\t\t\t\"modelName\"              : \"f971106a-248f-4202-9d1f\",\n"
218                                 + "\t\t\t\"modelUuid\"              : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n"
219                                 + "\t\t\t\"modelInvariantUuid\"     : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n"
220                                 + "\t\t\t\"modelVersion\"           : \"1.0\",\n"
221                                 + "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n"
222                                 + "\t\t\t\"modelInstanceName\"      : \"f971106a-248f-4202-9d1f 0\"\n" + "\t\t\t},\n"
223                                 + "\t\t\"toscaNodeType\"            : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n"
224                                 + "\t\t\"nfFunction\"           \t: null,\n"
225                                 + "\t\t\"nfType\"              \t\t: null,\n"
226                                 + "\t\t\"nfRole\"              \t\t: null,\n"
227                                 + "\"resourceInput\":\"{\\\"a\\\":\\\"value\\\"}\","
228                                 + "\t\t\"nfNamingCode\"         \t: null,\n"
229                                 + "\t\t\"multiStageDesign\"         : \"false\",\n" + "\t\t\t\"vfModules\": [\n"
230                                 + "\t\t\t\t{\n" + "\t\t\t\t\t\"modelInfo\"               : { \n"
231                                 + "\t\t\t\t\t\t\"modelName\"              : \"F971106a248f42029d1f..base_vpkg..module-0\",\n"
232                                 + "\t\t\t\t\t\t\"modelUuid\"              : \"47d5273a-7456-4786-9035-b3911944cc35\",\n"
233                                 + "\t\t\t\t\t\t\"modelInvariantUuid\"     : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n"
234                                 + "\t\t\t\t\t\t\"modelVersion\"           : \"1\",\n"
235                                 + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n"
236                                 + "\t\t\t\t\t},\t\t\"isBase\"                 : true,\n"
237                                 + "\t\t\t\t\t\"vfModuleLabel\"          : \"base_vpkg\",\n"
238                                 + "\t\t\t\t\t\"initialCount\"           : 1,\n"
239                                 + "\t\t\t\t\t\"hasVolumeGroup\"           : true\n" + "\t\t\t\t}\n" + "\t\t\t]\n"
240                                 + "\t\t}\n" + "\t],\n" + "\t\"serviceNetworks\": [],\n"
241                                 + "\t\"serviceAllottedResources\": []\n" + "\t}}")));
242
243         // when(UrnPropertiesReader.getVariable(anyString())).thenReturn("http://localhost:8080");
244         HashMap serviceInput = new HashMap();
245         serviceInput.put("key1", "value");
246         Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest(
247                 "c3954379-4efe-431c-8258-f84905b158e5", "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput);
248         assertEquals(stringObjectMap.get("a"), "value");
249     }
250
251     @Test
252     public void getResourceSequenceTest() throws Exception {
253
254         wireMockServer.stubFor(get(urlEqualTo(
255                 "/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
256                         .willReturn(ok("{ \"serviceResources\"    : {\n" + "\t\"modelInfo\"       : {\n"
257                                 + "\t\t\"modelName\"          : \"demoVFWCL\",\n"
258                                 + "\t\t\"modelUuid\"          : \"c3954379-4efe-431c-8258-f84905b158e5\",\n"
259                                 + "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n"
260                                 + "\t\t\"modelVersion\"       : \"1.0\"\n" + "\t},\n"
261                                 + "\t\"serviceType\"        : \"\",\n" + "\t\"serviceRole\"        : \"\",\n"
262                                 + "\t\"environmentContext\" : null,\n" + "\t\"resourceOrder\"       : \"res1,res2\",\n"
263                                 + "\t\"workloadContext\"    : \"Production\",\n" + "\t\"serviceVnfs\": [\n" + "\t\n"
264                                 + "\t\t{ \"modelInfo\"                    : {\n"
265                                 + "\t\t\t\"modelName\"              : \"15968a6e-2fe5-41bf-a481\",\n"
266                                 + "\t\t\t\"modelUuid\"              : \"808abda3-2023-4105-92d2-e62644b61d53\",\n"
267                                 + "\t\t\t\"modelInvariantUuid\"     : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n"
268                                 + "\t\t\t\"modelVersion\"           : \"1.0\",\n"
269                                 + "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n"
270                                 + "\t\t\t\"modelInstanceName\"      : \"15968a6e-2fe5-41bf-a481 0\"\n" + "\t\t\t},\n"
271                                 + "\t\t\"toscaNodeType\"            : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n"
272                                 + "\t\t\"nfFunction\"           \t: null,\n"
273                                 + "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\","
274                                 + "\t\t\"nfType\"              \t\t: null,\n"
275                                 + "\t\t\"nfRole\"              \t\t: null,\n"
276                                 + "\t\t\"nfNamingCode\"         \t: null,\n"
277                                 + "\t\t\"multiStageDesign\"         : \"false\",\n" + "\t\t\t\"vfModules\": [\n"
278                                 + "\t\t\t\t{\n" + "\t\t\t\t\t\"modelInfo\"               : { \n"
279                                 + "\t\t\t\t\t\t\"modelName\"              : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n"
280                                 + "\t\t\t\t\t\t\"modelUuid\"              : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n"
281                                 + "\t\t\t\t\t\t\"modelInvariantUuid\"     : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n"
282                                 + "\t\t\t\t\t\t\"modelVersion\"           : \"1\",\n"
283                                 + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n"
284                                 + "\t\t\t\t\t},\t\t\"isBase\"                 : true,\n"
285                                 + "\t\t\t\t\t\"vfModuleLabel\"          : \"base_vfw\",\n"
286                                 + "\t\t\t\t\t\"initialCount\"           : 1,\n"
287                                 + "\t\t\t\t\t\"hasVolumeGroup\"           : true\n" + "\t\t\t\t}\n" + "\t\t\t]\n"
288                                 + "\t\t},\n" + "\t\n" + "\t\t{ \"modelInfo\"                    : {\n"
289                                 + "\t\t\t\"modelName\"              : \"f971106a-248f-4202-9d1f\",\n"
290                                 + "\t\t\t\"modelUuid\"              : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n"
291                                 + "\t\t\t\"modelInvariantUuid\"     : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n"
292                                 + "\t\t\t\"modelVersion\"           : \"1.0\",\n"
293                                 + "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n"
294                                 + "\t\t\t\"modelInstanceName\"      : \"f971106a-248f-4202-9d1f 0\"\n" + "\t\t\t},\n"
295                                 + "\t\t\"toscaNodeType\"            : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n"
296                                 + "\t\t\"nfFunction\"           \t: null,\n"
297                                 + "\t\t\"nfType\"              \t\t: null,\n"
298                                 + "\t\t\"nfRole\"              \t\t: null,\n"
299                                 + "\"resourceInput\":\"{\\\"a\\\":\\\"key|default_value\\\"}\","
300                                 + "\t\t\"nfNamingCode\"         \t: null,\n"
301                                 + "\t\t\"multiStageDesign\"         : \"false\",\n" + "\t\t\t\"vfModules\": [\n"
302                                 + "\t\t\t\t{\n" + "\t\t\t\t\t\"modelInfo\"               : { \n"
303                                 + "\t\t\t\t\t\t\"modelName\"              : \"F971106a248f42029d1f..base_vpkg..module-0\",\n"
304                                 + "\t\t\t\t\t\t\"modelUuid\"              : \"47d5273a-7456-4786-9035-b3911944cc35\",\n"
305                                 + "\t\t\t\t\t\t\"modelInvariantUuid\"     : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n"
306                                 + "\t\t\t\t\t\t\"modelVersion\"           : \"1\",\n"
307                                 + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n"
308                                 + "\t\t\t\t\t},\t\t\"isBase\"                 : true,\n"
309                                 + "\t\t\t\t\t\"vfModuleLabel\"          : \"base_vpkg\",\n"
310                                 + "\t\t\t\t\t\"initialCount\"           : 1,\n"
311                                 + "\t\t\t\t\t\"hasVolumeGroup\"           : true\n" + "\t\t\t\t}\n" + "\t\t\t]\n"
312                                 + "\t\t}\n" + "\t],\n" + "\t\"serviceNetworks\": [],\n"
313                                 + "\t\"serviceAllottedResources\": []\n" + "\t}}")));
314
315         List<String> resourceSequence =
316                 ResourceRequestBuilder.getResourceSequence("c3954379-4efe-431c-8258-f84905b158e5");
317         assertEquals(resourceSequence.size(), 2);
318         assertEquals(resourceSequence.get(0), "res1");
319         assertEquals(resourceSequence.get(1), "res2");
320     }
321
322     @Test
323     public void getResourceInputWithEmptyServiceResourcesTest() throws Exception {
324
325         wireMockServer.stubFor(get(urlEqualTo(
326                 "/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
327                         .willReturn(ok("{ \"serviceResources\"    : {\n" + "\t\"modelInfo\"       : {\n"
328                                 + "\t\t\"modelName\"          : \"demoVFWCL\",\n"
329                                 + "\t\t\"modelUuid\"          : \"c3954379-4efe-431c-8258-f84905b158e5\",\n"
330                                 + "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n"
331                                 + "\t\t\"modelVersion\"       : \"1.0\"\n" + "\t},\n"
332                                 + "\t\"serviceType\"        : \"\",\n" + "\t\"serviceRole\"        : \"\",\n"
333                                 + "\t\"environmentContext\" : null,\n" + "\t\"workloadContext\"    : \"Production\",\n"
334                                 + "\t\"serviceVnfs\": [], \n" + "\t\"serviceNetworks\": [],\n"
335                                 + "\t\"serviceAllottedResources\": []\n" + "\t}}")));
336
337         HashMap serviceInput = new HashMap();
338         serviceInput.put("key1", "value");
339         Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest(
340                 "c3954379-4efe-431c-8258-f84905b158e5", "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput);
341         assertEquals(0, stringObjectMap.size());
342     }
343
344 }