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;
26 import java.util.HashMap;
27 import java.util.List;
29 import org.junit.Test;
30 import org.onap.so.BaseTest;
33 public class ResourceRequestBuilderTest extends BaseTest {
36 public void getResourceInputTest() throws Exception {
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}}")));
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");
110 public void getResourceInputDefaultValueTest() throws Exception {
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}}")));
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");
181 public void getResourceInputValueNoDefaultTest() throws Exception {
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}}")));
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");
252 public void getResourceSequenceTest() throws Exception {
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}}")));
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");
323 public void getResourceInputWithEmptyServiceResourcesTest() throws Exception {
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}}")));
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());