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 com.github.tomakehurst.wiremock.client.WireMock;
23 import com.github.tomakehurst.wiremock.junit.WireMockRule;
24 import org.junit.Rule;
25 import org.junit.Test;
26 import org.mockito.Mock;
27 import org.onap.so.bpmn.core.UrnPropertiesReader;
28 import org.springframework.core.env.Environment;
30 import java.util.HashMap;
31 import java.util.List;
34 import static org.junit.Assert.assertEquals;
35 import static org.mockito.Matchers.eq;
36 import static org.mockito.Mockito.mock;
37 import static org.mockito.Mockito.when;
39 public class ResourceRequestBuilderTest {
42 public WireMockRule wireMockRule = new WireMockRule();
45 UrnPropertiesReader urnPropertiesReader;
48 public void getResourceInputTest() throws Exception {
50 UrnPropertiesReader reader = new UrnPropertiesReader();
51 Environment env = mock(Environment.class);
53 when(env.getProperty(eq("mso.catalog.db.endpoint"))).thenReturn("http://localhost:8080/ecomp/mso/catalog");
54 reader.setEnvironment(env);
56 WireMock.stubFor(WireMock.get(WireMock.urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
57 .willReturn(WireMock.ok("{ \"serviceResources\" : {\n" +
58 "\t\"modelInfo\" : {\n" +
59 "\t\t\"modelName\" : \"demoVFWCL\",\n" +
60 "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" +
61 "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" +
62 "\t\t\"modelVersion\" : \"1.0\"\n" +
64 "\t\"serviceType\" : \"\",\n" +
65 "\t\"serviceRole\" : \"\",\n" +
66 "\t\"environmentContext\" : null,\n" +
67 "\t\"resourceOrder\" : \"res1,res2\",\n" +
68 "\t\"workloadContext\" : \"Production\",\n" +
69 "\t\"serviceVnfs\": [\n" +
71 "\t\t{ \"modelInfo\" : {\n" +
72 "\t\t\t\"modelName\" : \"15968a6e-2fe5-41bf-a481\",\n" +
73 "\t\t\t\"modelUuid\" : \"808abda3-2023-4105-92d2-e62644b61d53\",\n" +
74 "\t\t\t\"modelInvariantUuid\" : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n" +
75 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
76 "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n" +
77 "\t\t\t\"modelInstanceName\" : \"15968a6e-2fe5-41bf-a481 0\"\n" +
79 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n" +
80 "\t\t\"nfFunction\" \t: null,\n" +
81 "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\"," +
82 "\t\t\"nfType\" \t\t: null,\n" +
83 "\t\t\"nfRole\" \t\t: null,\n" +
84 "\t\t\"nfNamingCode\" \t: null,\n" +
85 "\t\t\"multiStageDesign\" : \"false\",\n" +
86 "\t\t\t\"vfModules\": [\n" +
88 "\t\t\t\t\t\"modelInfo\" : { \n" +
89 "\t\t\t\t\t\t\"modelName\" : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n" +
90 "\t\t\t\t\t\t\"modelUuid\" : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n" +
91 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n" +
92 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
93 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n" +
94 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
95 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vfw\",\n" +
96 "\t\t\t\t\t\"initialCount\" : 1,\n" +
97 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
102 "\t\t{ \"modelInfo\" : {\n" +
103 "\t\t\t\"modelName\" : \"f971106a-248f-4202-9d1f\",\n" +
104 "\t\t\t\"modelUuid\" : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n" +
105 "\t\t\t\"modelInvariantUuid\" : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n" +
106 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
107 "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n" +
108 "\t\t\t\"modelInstanceName\" : \"f971106a-248f-4202-9d1f 0\"\n" +
110 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n" +
111 "\t\t\"nfFunction\" \t: null,\n" +
112 "\t\t\"nfType\" \t\t: null,\n" +
113 "\t\t\"nfRole\" \t\t: null,\n" +
114 "\"resourceInput\":\"{\\\"a\\\":\\\"key|default_value\\\"}\"," +
115 "\t\t\"nfNamingCode\" \t: null,\n" +
116 "\t\t\"multiStageDesign\" : \"false\",\n" +
117 "\t\t\t\"vfModules\": [\n" +
119 "\t\t\t\t\t\"modelInfo\" : { \n" +
120 "\t\t\t\t\t\t\"modelName\" : \"F971106a248f42029d1f..base_vpkg..module-0\",\n" +
121 "\t\t\t\t\t\t\"modelUuid\" : \"47d5273a-7456-4786-9035-b3911944cc35\",\n" +
122 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n" +
123 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
124 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n" +
125 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
126 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vpkg\",\n" +
127 "\t\t\t\t\t\"initialCount\" : 1,\n" +
128 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
133 "\t\"serviceNetworks\": [],\n" +
134 "\t\"serviceAllottedResources\": []\n" +
137 // when(UrnPropertiesReader.getVariable(anyString())).thenReturn("http://localhost:8080");
138 HashMap serviceInput = new HashMap();
139 serviceInput.put("key", "value");
140 Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest("c3954379-4efe-431c-8258-f84905b158e5",
141 "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput);
142 assertEquals(stringObjectMap.get("a"), "value");
146 public void getResourceInputDefaultValueTest() throws Exception {
148 UrnPropertiesReader reader = new UrnPropertiesReader();
149 Environment env = mock(Environment.class);
151 when(env.getProperty(eq("mso.catalog.db.endpoint"))).thenReturn("http://localhost:8080/ecomp/mso/catalog");
152 reader.setEnvironment(env);
154 WireMock.stubFor(WireMock.get(WireMock.urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
155 .willReturn(WireMock.ok("{ \"serviceResources\" : {\n" +
156 "\t\"modelInfo\" : {\n" +
157 "\t\t\"modelName\" : \"demoVFWCL\",\n" +
158 "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" +
159 "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" +
160 "\t\t\"modelVersion\" : \"1.0\"\n" +
162 "\t\"serviceType\" : \"\",\n" +
163 "\t\"serviceRole\" : \"\",\n" +
164 "\t\"environmentContext\" : null,\n" +
165 "\t\"workloadContext\" : \"Production\",\n" +
166 "\t\"serviceVnfs\": [\n" +
168 "\t\t{ \"modelInfo\" : {\n" +
169 "\t\t\t\"modelName\" : \"15968a6e-2fe5-41bf-a481\",\n" +
170 "\t\t\t\"modelUuid\" : \"808abda3-2023-4105-92d2-e62644b61d53\",\n" +
171 "\t\t\t\"modelInvariantUuid\" : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n" +
172 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
173 "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n" +
174 "\t\t\t\"modelInstanceName\" : \"15968a6e-2fe5-41bf-a481 0\"\n" +
176 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n" +
177 "\t\t\"nfFunction\" \t: null,\n" +
178 "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\"," +
179 "\t\t\"nfType\" \t\t: null,\n" +
180 "\t\t\"nfRole\" \t\t: null,\n" +
181 "\t\t\"nfNamingCode\" \t: null,\n" +
182 "\t\t\"multiStageDesign\" : \"false\",\n" +
183 "\t\t\t\"vfModules\": [\n" +
185 "\t\t\t\t\t\"modelInfo\" : { \n" +
186 "\t\t\t\t\t\t\"modelName\" : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n" +
187 "\t\t\t\t\t\t\"modelUuid\" : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n" +
188 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n" +
189 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
190 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n" +
191 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
192 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vfw\",\n" +
193 "\t\t\t\t\t\"initialCount\" : 1,\n" +
194 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
199 "\t\t{ \"modelInfo\" : {\n" +
200 "\t\t\t\"modelName\" : \"f971106a-248f-4202-9d1f\",\n" +
201 "\t\t\t\"modelUuid\" : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n" +
202 "\t\t\t\"modelInvariantUuid\" : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n" +
203 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
204 "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n" +
205 "\t\t\t\"modelInstanceName\" : \"f971106a-248f-4202-9d1f 0\"\n" +
207 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n" +
208 "\t\t\"nfFunction\" \t: null,\n" +
209 "\t\t\"nfType\" \t\t: null,\n" +
210 "\t\t\"nfRole\" \t\t: null,\n" +
211 "\"resourceInput\":\"{\\\"a\\\":\\\"key|default_value\\\"}\"," +
212 "\t\t\"nfNamingCode\" \t: null,\n" +
213 "\t\t\"multiStageDesign\" : \"false\",\n" +
214 "\t\t\t\"vfModules\": [\n" +
216 "\t\t\t\t\t\"modelInfo\" : { \n" +
217 "\t\t\t\t\t\t\"modelName\" : \"F971106a248f42029d1f..base_vpkg..module-0\",\n" +
218 "\t\t\t\t\t\t\"modelUuid\" : \"47d5273a-7456-4786-9035-b3911944cc35\",\n" +
219 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n" +
220 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
221 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n" +
222 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
223 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vpkg\",\n" +
224 "\t\t\t\t\t\"initialCount\" : 1,\n" +
225 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
230 "\t\"serviceNetworks\": [],\n" +
231 "\t\"serviceAllottedResources\": []\n" +
234 // when(UrnPropertiesReader.getVariable(anyString())).thenReturn("http://localhost:8080");
235 HashMap serviceInput = new HashMap();
236 serviceInput.put("key1", "value");
237 Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest("c3954379-4efe-431c-8258-f84905b158e5",
238 "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput);
239 assertEquals(stringObjectMap.get("a"), "default_value");
243 public void getResourceInputValueNoDefaultTest() throws Exception {
245 UrnPropertiesReader reader = new UrnPropertiesReader();
246 Environment env = mock(Environment.class);
248 when(env.getProperty(eq("mso.catalog.db.endpoint"))).thenReturn("http://localhost:8080/ecomp/mso/catalog");
249 reader.setEnvironment(env);
251 WireMock.stubFor(WireMock.get(WireMock.urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
252 .willReturn(WireMock.ok("{ \"serviceResources\" : {\n" +
253 "\t\"modelInfo\" : {\n" +
254 "\t\t\"modelName\" : \"demoVFWCL\",\n" +
255 "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" +
256 "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" +
257 "\t\t\"modelVersion\" : \"1.0\"\n" +
259 "\t\"serviceType\" : \"\",\n" +
260 "\t\"serviceRole\" : \"\",\n" +
261 "\t\"environmentContext\" : null,\n" +
262 "\t\"workloadContext\" : \"Production\",\n" +
263 "\t\"serviceVnfs\": [\n" +
265 "\t\t{ \"modelInfo\" : {\n" +
266 "\t\t\t\"modelName\" : \"15968a6e-2fe5-41bf-a481\",\n" +
267 "\t\t\t\"modelUuid\" : \"808abda3-2023-4105-92d2-e62644b61d53\",\n" +
268 "\t\t\t\"modelInvariantUuid\" : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n" +
269 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
270 "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n" +
271 "\t\t\t\"modelInstanceName\" : \"15968a6e-2fe5-41bf-a481 0\"\n" +
273 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n" +
274 "\t\t\"nfFunction\" \t: null,\n" +
275 "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\"," +
276 "\t\t\"nfType\" \t\t: null,\n" +
277 "\t\t\"nfRole\" \t\t: null,\n" +
278 "\t\t\"nfNamingCode\" \t: null,\n" +
279 "\t\t\"multiStageDesign\" : \"false\",\n" +
280 "\t\t\t\"vfModules\": [\n" +
282 "\t\t\t\t\t\"modelInfo\" : { \n" +
283 "\t\t\t\t\t\t\"modelName\" : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n" +
284 "\t\t\t\t\t\t\"modelUuid\" : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n" +
285 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n" +
286 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
287 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n" +
288 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
289 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vfw\",\n" +
290 "\t\t\t\t\t\"initialCount\" : 1,\n" +
291 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
296 "\t\t{ \"modelInfo\" : {\n" +
297 "\t\t\t\"modelName\" : \"f971106a-248f-4202-9d1f\",\n" +
298 "\t\t\t\"modelUuid\" : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n" +
299 "\t\t\t\"modelInvariantUuid\" : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n" +
300 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
301 "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n" +
302 "\t\t\t\"modelInstanceName\" : \"f971106a-248f-4202-9d1f 0\"\n" +
304 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n" +
305 "\t\t\"nfFunction\" \t: null,\n" +
306 "\t\t\"nfType\" \t\t: null,\n" +
307 "\t\t\"nfRole\" \t\t: null,\n" +
308 "\"resourceInput\":\"{\\\"a\\\":\\\"value\\\"}\"," +
309 "\t\t\"nfNamingCode\" \t: null,\n" +
310 "\t\t\"multiStageDesign\" : \"false\",\n" +
311 "\t\t\t\"vfModules\": [\n" +
313 "\t\t\t\t\t\"modelInfo\" : { \n" +
314 "\t\t\t\t\t\t\"modelName\" : \"F971106a248f42029d1f..base_vpkg..module-0\",\n" +
315 "\t\t\t\t\t\t\"modelUuid\" : \"47d5273a-7456-4786-9035-b3911944cc35\",\n" +
316 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n" +
317 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
318 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n" +
319 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
320 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vpkg\",\n" +
321 "\t\t\t\t\t\"initialCount\" : 1,\n" +
322 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
327 "\t\"serviceNetworks\": [],\n" +
328 "\t\"serviceAllottedResources\": []\n" +
331 // when(UrnPropertiesReader.getVariable(anyString())).thenReturn("http://localhost:8080");
332 HashMap serviceInput = new HashMap();
333 serviceInput.put("key1", "value");
334 Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest("c3954379-4efe-431c-8258-f84905b158e5",
335 "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput);
336 assertEquals(stringObjectMap.get("a"), "value");
340 public void getResourceSequenceTest() throws Exception {
342 UrnPropertiesReader reader = new UrnPropertiesReader();
343 Environment env = mock(Environment.class);
345 when(env.getProperty(eq("mso.catalog.db.endpoint"))).thenReturn("http://localhost:8080/ecomp/mso/catalog");
346 reader.setEnvironment(env);
348 WireMock.stubFor(WireMock.get(WireMock.urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5"))
349 .willReturn(WireMock.ok("{ \"serviceResources\" : {\n" +
350 "\t\"modelInfo\" : {\n" +
351 "\t\t\"modelName\" : \"demoVFWCL\",\n" +
352 "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" +
353 "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" +
354 "\t\t\"modelVersion\" : \"1.0\"\n" +
356 "\t\"serviceType\" : \"\",\n" +
357 "\t\"serviceRole\" : \"\",\n" +
358 "\t\"environmentContext\" : null,\n" +
359 "\t\"resourceOrder\" : \"res1,res2\",\n" +
360 "\t\"workloadContext\" : \"Production\",\n" +
361 "\t\"serviceVnfs\": [\n" +
363 "\t\t{ \"modelInfo\" : {\n" +
364 "\t\t\t\"modelName\" : \"15968a6e-2fe5-41bf-a481\",\n" +
365 "\t\t\t\"modelUuid\" : \"808abda3-2023-4105-92d2-e62644b61d53\",\n" +
366 "\t\t\t\"modelInvariantUuid\" : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n" +
367 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
368 "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n" +
369 "\t\t\t\"modelInstanceName\" : \"15968a6e-2fe5-41bf-a481 0\"\n" +
371 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n" +
372 "\t\t\"nfFunction\" \t: null,\n" +
373 "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\"," +
374 "\t\t\"nfType\" \t\t: null,\n" +
375 "\t\t\"nfRole\" \t\t: null,\n" +
376 "\t\t\"nfNamingCode\" \t: null,\n" +
377 "\t\t\"multiStageDesign\" : \"false\",\n" +
378 "\t\t\t\"vfModules\": [\n" +
380 "\t\t\t\t\t\"modelInfo\" : { \n" +
381 "\t\t\t\t\t\t\"modelName\" : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n" +
382 "\t\t\t\t\t\t\"modelUuid\" : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n" +
383 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n" +
384 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
385 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n" +
386 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
387 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vfw\",\n" +
388 "\t\t\t\t\t\"initialCount\" : 1,\n" +
389 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
394 "\t\t{ \"modelInfo\" : {\n" +
395 "\t\t\t\"modelName\" : \"f971106a-248f-4202-9d1f\",\n" +
396 "\t\t\t\"modelUuid\" : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n" +
397 "\t\t\t\"modelInvariantUuid\" : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n" +
398 "\t\t\t\"modelVersion\" : \"1.0\",\n" +
399 "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n" +
400 "\t\t\t\"modelInstanceName\" : \"f971106a-248f-4202-9d1f 0\"\n" +
402 "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n" +
403 "\t\t\"nfFunction\" \t: null,\n" +
404 "\t\t\"nfType\" \t\t: null,\n" +
405 "\t\t\"nfRole\" \t\t: null,\n" +
406 "\"resourceInput\":\"{\\\"a\\\":\\\"key|default_value\\\"}\"," +
407 "\t\t\"nfNamingCode\" \t: null,\n" +
408 "\t\t\"multiStageDesign\" : \"false\",\n" +
409 "\t\t\t\"vfModules\": [\n" +
411 "\t\t\t\t\t\"modelInfo\" : { \n" +
412 "\t\t\t\t\t\t\"modelName\" : \"F971106a248f42029d1f..base_vpkg..module-0\",\n" +
413 "\t\t\t\t\t\t\"modelUuid\" : \"47d5273a-7456-4786-9035-b3911944cc35\",\n" +
414 "\t\t\t\t\t\t\"modelInvariantUuid\" : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n" +
415 "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" +
416 "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n" +
417 "\t\t\t\t\t},\t\t\"isBase\" : true,\n" +
418 "\t\t\t\t\t\"vfModuleLabel\" : \"base_vpkg\",\n" +
419 "\t\t\t\t\t\"initialCount\" : 1,\n" +
420 "\t\t\t\t\t\"hasVolumeGroup\" : true\n" +
425 "\t\"serviceNetworks\": [],\n" +
426 "\t\"serviceAllottedResources\": []\n" +
429 List<String> resourceSequence = ResourceRequestBuilder.getResourceSequence("c3954379-4efe-431c-8258-f84905b158e5");
430 assertEquals(resourceSequence.size(), 2);
431 assertEquals(resourceSequence.get(0), "res1");
432 assertEquals(resourceSequence.get(1), "res2");