2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
20 package org.onap.so.bpmn.common.resource;
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;
27 import java.util.HashMap;
28 import java.util.List;
31 import org.junit.Test;
32 import org.onap.so.BaseTest;
35 public class ResourceRequestBuilderTest extends BaseTest {
38 public void getResourceInputTest() throws Exception {
42 wireMockServer.stubFor(get(urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
43 .willReturn(ok("{ \"serviceResources\" : {\n" +
44 "\t\"modelInfo\" : {\n" +
45 "\t\t\"modelName\" : \"demoVFWCL\",\n" +
46 "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" +
47 "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" +
48 "\t\t\"modelVersion\" : \"1.0\"\n" +
50 "\t\"serviceType\" : \"\",\n" +
51 "\t\"serviceRole\" : \"\",\n" +
52 "\t\"environmentContext\" : null,\n" +
53 "\t\"resourceOrder\" : \"res1,res2\",\n" +
54 "\t\"workloadContext\" : \"Production\",\n" +
55 "\t\"serviceVnfs\": [\n" +
57 "\t\t{ \"modelInfo\" : {\n" +
58 "\t\t\t\"modelName\" : \"15968a6e-2fe5-41bf-a481\",\n" +
59 "\t\t\t\"modelUuid\" : \"808abda3-2023-4105-92d2-e62644b61d53\",\n" +
60 "\t\t\t\"modelInvariantUuid\" : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n" +
61 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
62 "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n" +
63 "\t\t\t\"modelInstanceName\" : \"15968a6e-2fe5-41bf-a481 0\"\n" +
65 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n" +
66 "\t\t\"nfFunction\" \t: null,\n" +
67 "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\"," +
68 "\t\t\"nfType\" \t\t: null,\n" +
69 "\t\t\"nfRole\" \t\t: null,\n" +
70 "\t\t\"nfNamingCode\" \t: null,\n" +
71 "\t\t\"multiStageDesign\" : \"false\",\n" +
72 "\t\t\t\"vfModules\": [\n" +
74 "\t\t\t\t\t\"modelInfo\" : { \n" +
75 "\t\t\t\t\t\t\"modelName\" : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n" +
76 "\t\t\t\t\t\t\"modelUuid\" : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n" +
77 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n" +
78 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
79 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n" +
80 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
81 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vfw\",\n" +
82 "\t\t\t\t\t\"initialCount\" : 1,\n" +
83 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
88 "\t\t{ \"modelInfo\" : {\n" +
89 "\t\t\t\"modelName\" : \"f971106a-248f-4202-9d1f\",\n" +
90 "\t\t\t\"modelUuid\" : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n" +
91 "\t\t\t\"modelInvariantUuid\" : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n" +
92 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
93 "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n" +
94 "\t\t\t\"modelInstanceName\" : \"f971106a-248f-4202-9d1f 0\"\n" +
96 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n" +
97 "\t\t\"nfFunction\" \t: null,\n" +
98 "\t\t\"nfType\" \t\t: null,\n" +
99 "\t\t\"nfRole\" \t\t: null,\n" +
100 "\"resourceInput\":\"{\\\"a\\\":\\\"key|default_value\\\"}\"," +
101 "\t\t\"nfNamingCode\" \t: null,\n" +
102 "\t\t\"multiStageDesign\" : \"false\",\n" +
103 "\t\t\t\"vfModules\": [\n" +
105 "\t\t\t\t\t\"modelInfo\" : { \n" +
106 "\t\t\t\t\t\t\"modelName\" : \"F971106a248f42029d1f..base_vpkg..module-0\",\n" +
107 "\t\t\t\t\t\t\"modelUuid\" : \"47d5273a-7456-4786-9035-b3911944cc35\",\n" +
108 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n" +
109 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
110 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n" +
111 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
112 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vpkg\",\n" +
113 "\t\t\t\t\t\"initialCount\" : 1,\n" +
114 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
119 "\t\"serviceNetworks\": [],\n" +
120 "\t\"serviceAllottedResources\": []\n" +
123 // when(UrnPropertiesReader.getVariable(anyString())).thenReturn("http://localhost:8080");
124 HashMap serviceInput = new HashMap();
125 serviceInput.put("key", "value");
126 Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest("c3954379-4efe-431c-8258-f84905b158e5",
127 "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput);
128 assertEquals(stringObjectMap.get("a"), "value");
132 public void getResourceInputDefaultValueTest() throws Exception {
134 wireMockServer.stubFor(get(urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
135 .willReturn(ok("{ \"serviceResources\" : {\n" +
136 "\t\"modelInfo\" : {\n" +
137 "\t\t\"modelName\" : \"demoVFWCL\",\n" +
138 "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" +
139 "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" +
140 "\t\t\"modelVersion\" : \"1.0\"\n" +
142 "\t\"serviceType\" : \"\",\n" +
143 "\t\"serviceRole\" : \"\",\n" +
144 "\t\"environmentContext\" : null,\n" +
145 "\t\"workloadContext\" : \"Production\",\n" +
146 "\t\"serviceVnfs\": [\n" +
148 "\t\t{ \"modelInfo\" : {\n" +
149 "\t\t\t\"modelName\" : \"15968a6e-2fe5-41bf-a481\",\n" +
150 "\t\t\t\"modelUuid\" : \"808abda3-2023-4105-92d2-e62644b61d53\",\n" +
151 "\t\t\t\"modelInvariantUuid\" : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n" +
152 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
153 "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n" +
154 "\t\t\t\"modelInstanceName\" : \"15968a6e-2fe5-41bf-a481 0\"\n" +
156 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n" +
157 "\t\t\"nfFunction\" \t: null,\n" +
158 "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\"," +
159 "\t\t\"nfType\" \t\t: null,\n" +
160 "\t\t\"nfRole\" \t\t: null,\n" +
161 "\t\t\"nfNamingCode\" \t: null,\n" +
162 "\t\t\"multiStageDesign\" : \"false\",\n" +
163 "\t\t\t\"vfModules\": [\n" +
165 "\t\t\t\t\t\"modelInfo\" : { \n" +
166 "\t\t\t\t\t\t\"modelName\" : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n" +
167 "\t\t\t\t\t\t\"modelUuid\" : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n" +
168 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n" +
169 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
170 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n" +
171 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
172 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vfw\",\n" +
173 "\t\t\t\t\t\"initialCount\" : 1,\n" +
174 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
179 "\t\t{ \"modelInfo\" : {\n" +
180 "\t\t\t\"modelName\" : \"f971106a-248f-4202-9d1f\",\n" +
181 "\t\t\t\"modelUuid\" : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n" +
182 "\t\t\t\"modelInvariantUuid\" : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n" +
183 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
184 "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n" +
185 "\t\t\t\"modelInstanceName\" : \"f971106a-248f-4202-9d1f 0\"\n" +
187 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n" +
188 "\t\t\"nfFunction\" \t: null,\n" +
189 "\t\t\"nfType\" \t\t: null,\n" +
190 "\t\t\"nfRole\" \t\t: null,\n" +
191 "\"resourceInput\":\"{\\\"a\\\":\\\"key|default_value\\\"}\"," +
192 "\t\t\"nfNamingCode\" \t: null,\n" +
193 "\t\t\"multiStageDesign\" : \"false\",\n" +
194 "\t\t\t\"vfModules\": [\n" +
196 "\t\t\t\t\t\"modelInfo\" : { \n" +
197 "\t\t\t\t\t\t\"modelName\" : \"F971106a248f42029d1f..base_vpkg..module-0\",\n" +
198 "\t\t\t\t\t\t\"modelUuid\" : \"47d5273a-7456-4786-9035-b3911944cc35\",\n" +
199 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n" +
200 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
201 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n" +
202 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
203 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vpkg\",\n" +
204 "\t\t\t\t\t\"initialCount\" : 1,\n" +
205 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
210 "\t\"serviceNetworks\": [],\n" +
211 "\t\"serviceAllottedResources\": []\n" +
214 // when(UrnPropertiesReader.getVariable(anyString())).thenReturn("http://localhost:8080");
215 HashMap serviceInput = new HashMap();
216 serviceInput.put("key1", "value");
217 Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest("c3954379-4efe-431c-8258-f84905b158e5",
218 "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput);
219 assertEquals(stringObjectMap.get("a"), "default_value");
223 public void getResourceInputValueNoDefaultTest() throws Exception {
225 wireMockServer.stubFor(get(urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
226 .willReturn(ok("{ \"serviceResources\" : {\n" +
227 "\t\"modelInfo\" : {\n" +
228 "\t\t\"modelName\" : \"demoVFWCL\",\n" +
229 "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" +
230 "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" +
231 "\t\t\"modelVersion\" : \"1.0\"\n" +
233 "\t\"serviceType\" : \"\",\n" +
234 "\t\"serviceRole\" : \"\",\n" +
235 "\t\"environmentContext\" : null,\n" +
236 "\t\"workloadContext\" : \"Production\",\n" +
237 "\t\"serviceVnfs\": [\n" +
239 "\t\t{ \"modelInfo\" : {\n" +
240 "\t\t\t\"modelName\" : \"15968a6e-2fe5-41bf-a481\",\n" +
241 "\t\t\t\"modelUuid\" : \"808abda3-2023-4105-92d2-e62644b61d53\",\n" +
242 "\t\t\t\"modelInvariantUuid\" : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n" +
243 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
244 "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n" +
245 "\t\t\t\"modelInstanceName\" : \"15968a6e-2fe5-41bf-a481 0\"\n" +
247 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n" +
248 "\t\t\"nfFunction\" \t: null,\n" +
249 "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\"," +
250 "\t\t\"nfType\" \t\t: null,\n" +
251 "\t\t\"nfRole\" \t\t: null,\n" +
252 "\t\t\"nfNamingCode\" \t: null,\n" +
253 "\t\t\"multiStageDesign\" : \"false\",\n" +
254 "\t\t\t\"vfModules\": [\n" +
256 "\t\t\t\t\t\"modelInfo\" : { \n" +
257 "\t\t\t\t\t\t\"modelName\" : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n" +
258 "\t\t\t\t\t\t\"modelUuid\" : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n" +
259 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n" +
260 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
261 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n" +
262 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
263 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vfw\",\n" +
264 "\t\t\t\t\t\"initialCount\" : 1,\n" +
265 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
270 "\t\t{ \"modelInfo\" : {\n" +
271 "\t\t\t\"modelName\" : \"f971106a-248f-4202-9d1f\",\n" +
272 "\t\t\t\"modelUuid\" : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n" +
273 "\t\t\t\"modelInvariantUuid\" : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n" +
274 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
275 "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n" +
276 "\t\t\t\"modelInstanceName\" : \"f971106a-248f-4202-9d1f 0\"\n" +
278 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n" +
279 "\t\t\"nfFunction\" \t: null,\n" +
280 "\t\t\"nfType\" \t\t: null,\n" +
281 "\t\t\"nfRole\" \t\t: null,\n" +
282 "\"resourceInput\":\"{\\\"a\\\":\\\"value\\\"}\"," +
283 "\t\t\"nfNamingCode\" \t: null,\n" +
284 "\t\t\"multiStageDesign\" : \"false\",\n" +
285 "\t\t\t\"vfModules\": [\n" +
287 "\t\t\t\t\t\"modelInfo\" : { \n" +
288 "\t\t\t\t\t\t\"modelName\" : \"F971106a248f42029d1f..base_vpkg..module-0\",\n" +
289 "\t\t\t\t\t\t\"modelUuid\" : \"47d5273a-7456-4786-9035-b3911944cc35\",\n" +
290 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n" +
291 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
292 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n" +
293 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
294 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vpkg\",\n" +
295 "\t\t\t\t\t\"initialCount\" : 1,\n" +
296 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
301 "\t\"serviceNetworks\": [],\n" +
302 "\t\"serviceAllottedResources\": []\n" +
305 // when(UrnPropertiesReader.getVariable(anyString())).thenReturn("http://localhost:8080");
306 HashMap serviceInput = new HashMap();
307 serviceInput.put("key1", "value");
308 Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest("c3954379-4efe-431c-8258-f84905b158e5",
309 "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput);
310 assertEquals(stringObjectMap.get("a"), "value");
314 public void getResourceSequenceTest() throws Exception {
316 wireMockServer.stubFor(get(urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
317 .willReturn(ok("{ \"serviceResources\" : {\n" +
318 "\t\"modelInfo\" : {\n" +
319 "\t\t\"modelName\" : \"demoVFWCL\",\n" +
320 "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" +
321 "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" +
322 "\t\t\"modelVersion\" : \"1.0\"\n" +
324 "\t\"serviceType\" : \"\",\n" +
325 "\t\"serviceRole\" : \"\",\n" +
326 "\t\"environmentContext\" : null,\n" +
327 "\t\"resourceOrder\" : \"res1,res2\",\n" +
328 "\t\"workloadContext\" : \"Production\",\n" +
329 "\t\"serviceVnfs\": [\n" +
331 "\t\t{ \"modelInfo\" : {\n" +
332 "\t\t\t\"modelName\" : \"15968a6e-2fe5-41bf-a481\",\n" +
333 "\t\t\t\"modelUuid\" : \"808abda3-2023-4105-92d2-e62644b61d53\",\n" +
334 "\t\t\t\"modelInvariantUuid\" : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n" +
335 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
336 "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n" +
337 "\t\t\t\"modelInstanceName\" : \"15968a6e-2fe5-41bf-a481 0\"\n" +
339 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n" +
340 "\t\t\"nfFunction\" \t: null,\n" +
341 "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\"," +
342 "\t\t\"nfType\" \t\t: null,\n" +
343 "\t\t\"nfRole\" \t\t: null,\n" +
344 "\t\t\"nfNamingCode\" \t: null,\n" +
345 "\t\t\"multiStageDesign\" : \"false\",\n" +
346 "\t\t\t\"vfModules\": [\n" +
348 "\t\t\t\t\t\"modelInfo\" : { \n" +
349 "\t\t\t\t\t\t\"modelName\" : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n" +
350 "\t\t\t\t\t\t\"modelUuid\" : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n" +
351 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n" +
352 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
353 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n" +
354 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
355 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vfw\",\n" +
356 "\t\t\t\t\t\"initialCount\" : 1,\n" +
357 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
362 "\t\t{ \"modelInfo\" : {\n" +
363 "\t\t\t\"modelName\" : \"f971106a-248f-4202-9d1f\",\n" +
364 "\t\t\t\"modelUuid\" : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n" +
365 "\t\t\t\"modelInvariantUuid\" : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n" +
366 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
367 "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n" +
368 "\t\t\t\"modelInstanceName\" : \"f971106a-248f-4202-9d1f 0\"\n" +
370 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n" +
371 "\t\t\"nfFunction\" \t: null,\n" +
372 "\t\t\"nfType\" \t\t: null,\n" +
373 "\t\t\"nfRole\" \t\t: null,\n" +
374 "\"resourceInput\":\"{\\\"a\\\":\\\"key|default_value\\\"}\"," +
375 "\t\t\"nfNamingCode\" \t: null,\n" +
376 "\t\t\"multiStageDesign\" : \"false\",\n" +
377 "\t\t\t\"vfModules\": [\n" +
379 "\t\t\t\t\t\"modelInfo\" : { \n" +
380 "\t\t\t\t\t\t\"modelName\" : \"F971106a248f42029d1f..base_vpkg..module-0\",\n" +
381 "\t\t\t\t\t\t\"modelUuid\" : \"47d5273a-7456-4786-9035-b3911944cc35\",\n" +
382 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n" +
383 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
384 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n" +
385 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
386 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vpkg\",\n" +
387 "\t\t\t\t\t\"initialCount\" : 1,\n" +
388 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
393 "\t\"serviceNetworks\": [],\n" +
394 "\t\"serviceAllottedResources\": []\n" +
397 List<String> resourceSequence = ResourceRequestBuilder.getResourceSequence("c3954379-4efe-431c-8258-f84905b158e5");
398 assertEquals(resourceSequence.size(), 2);
399 assertEquals(resourceSequence.get(0), "res1");
400 assertEquals(resourceSequence.get(1), "res2");
404 public void getResourceInputWithEmptyServiceResourcesTest() throws Exception {
406 wireMockServer.stubFor(get(urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
407 .willReturn(ok("{ \"serviceResources\" : {\n" +
408 "\t\"modelInfo\" : {\n" +
409 "\t\t\"modelName\" : \"demoVFWCL\",\n" +
410 "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" +
411 "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" +
412 "\t\t\"modelVersion\" : \"1.0\"\n" +
414 "\t\"serviceType\" : \"\",\n" +
415 "\t\"serviceRole\" : \"\",\n" +
416 "\t\"environmentContext\" : null,\n" +
417 "\t\"workloadContext\" : \"Production\",\n" +
418 "\t\"serviceVnfs\": [], \n" +
419 "\t\"serviceNetworks\": [],\n" +
420 "\t\"serviceAllottedResources\": []\n" +
423 HashMap serviceInput = new HashMap();
424 serviceInput.put("key1", "value");
425 Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest("c3954379-4efe-431c-8258-f84905b158e5",
426 "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput);
427 assertEquals(0, stringObjectMap.size());