AT&T 1712 and 1802 release code
[so.git] / asdc-controller / src / test / java / org / openecomp / mso / asdc / installer / heat / tests / ToscaResourceInstallerTest.java
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * ONAP - SO\r
4  * ================================================================================\r
5  * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  *\r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  *\r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END=========================================================\r
19  */\r
20 \r
21 package org.openecomp.mso.asdc.installer.heat.tests;\r
22 \r
23 import java.io.IOException;\r
24 import java.io.UnsupportedEncodingException;\r
25 import java.net.URISyntaxException;\r
26 import java.nio.file.Files;\r
27 import java.nio.file.Paths;\r
28 import java.security.MessageDigest;\r
29 import java.security.NoSuchAlgorithmException;\r
30 import java.util.ArrayList;\r
31 import java.util.List;\r
32 import java.util.Map;\r
33 \r
34 import org.apache.commons.codec.binary.Base64;\r
35 import org.apache.commons.lang3.tuple.Pair;\r
36 import org.junit.AfterClass;\r
37 import org.junit.Before;\r
38 import org.junit.BeforeClass;\r
39 import org.junit.Ignore;\r
40 import org.junit.Test;\r
41 import org.mockito.Mockito;\r
42 import org.openecomp.mso.asdc.client.ASDCConfiguration;\r
43 import org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException;\r
44 import org.openecomp.mso.asdc.client.tests.ASDCControllerTest;\r
45 import org.openecomp.mso.asdc.installer.ToscaResourceStructure;\r
46 import org.openecomp.mso.asdc.installer.VfResourceStructure;\r
47 import org.openecomp.mso.asdc.installer.heat.ToscaResourceInstaller;\r
48 import org.openecomp.mso.db.catalog.CatalogDatabase;\r
49 import org.openecomp.mso.db.catalog.beans.AllottedResource;\r
50 import org.openecomp.mso.db.catalog.beans.AllottedResourceCustomization;\r
51 import org.openecomp.mso.db.catalog.beans.NetworkResource;\r
52 import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization;\r
53 import org.openecomp.mso.db.catalog.beans.Service;\r
54 import org.openecomp.mso.db.catalog.beans.ServiceToAllottedResources;\r
55 import org.openecomp.mso.db.catalog.beans.ServiceToNetworks;\r
56 import org.openecomp.mso.db.catalog.beans.ServiceToResourceCustomization;\r
57 import org.openecomp.mso.db.catalog.beans.TempNetworkHeatTemplateLookup;\r
58 import org.openecomp.mso.db.catalog.beans.ToscaCsar;\r
59 import org.openecomp.mso.db.catalog.beans.VfModule;\r
60 import org.openecomp.mso.db.catalog.beans.VfModuleCustomization;\r
61 import org.openecomp.mso.db.catalog.beans.VfModuleToHeatFiles;\r
62 import org.openecomp.mso.db.catalog.beans.VnfResCustomToVfModuleCustom;\r
63 import org.openecomp.mso.db.catalog.beans.VnfResource;\r
64 import org.openecomp.mso.db.catalog.beans.VnfResourceCustomization;\r
65 import org.openecomp.mso.properties.MsoJavaProperties;\r
66 import org.openecomp.mso.properties.MsoPropertiesException;\r
67 import org.openecomp.mso.properties.MsoPropertiesFactory;\r
68 import org.openecomp.sdc.api.IDistributionClient;\r
69 import org.openecomp.sdc.api.notification.IArtifactInfo;\r
70 import org.openecomp.sdc.api.notification.INotificationData;\r
71 import org.openecomp.sdc.api.notification.IResourceInstance;\r
72 import org.openecomp.sdc.api.results.IDistributionClientDownloadResult;\r
73 import org.openecomp.sdc.api.results.IDistributionClientResult;\r
74 import org.openecomp.sdc.tosca.parser.api.ISdcCsarHelper;\r
75 import org.openecomp.sdc.tosca.parser.impl.FilterType;\r
76 import org.openecomp.sdc.tosca.parser.impl.SdcTypes;\r
77 import org.openecomp.sdc.toscaparser.api.CapabilityAssignment;\r
78 import org.openecomp.sdc.toscaparser.api.CapabilityAssignments;\r
79 import org.openecomp.sdc.toscaparser.api.Group;\r
80 import org.openecomp.sdc.toscaparser.api.NodeTemplate;\r
81 import org.openecomp.sdc.toscaparser.api.RequirementAssignments;\r
82 import org.openecomp.sdc.toscaparser.api.elements.Metadata;\r
83 import org.openecomp.sdc.toscaparser.api.parameters.Input;\r
84 import org.openecomp.sdc.utils.DistributionActionResultEnum;\r
85 \r
86 import mockit.Mock;\r
87 import mockit.MockUp;\r
88 \r
89 public class ToscaResourceInstallerTest {\r
90 \r
91         private static MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();\r
92 \r
93         private static String heatExample;\r
94         private static String heatExampleMD5HashBase64;\r
95 \r
96         private static INotificationData iNotif;\r
97 \r
98         private static IDistributionClientDownloadResult downloadResult;\r
99         private static IDistributionClientDownloadResult downloadCorruptedResult;\r
100 \r
101         private static IDistributionClientResult successfulClientInitResult;\r
102         private static IDistributionClientResult unsuccessfulClientInitResult;\r
103 \r
104         private static IDistributionClient distributionClient;\r
105 \r
106         private static IArtifactInfo artifactInfo1;\r
107 \r
108         private static IResourceInstance resource1;\r
109 \r
110         private static VfResourceStructure vrs;\r
111 \r
112         public static final String ASDC_PROP = MsoJavaProperties.class.getClassLoader().getResource("mso.json").toString()\r
113                         .substring(5);\r
114         public static final String ASDC_PROP2 = MsoJavaProperties.class.getClassLoader().getResource("mso2.json").toString()\r
115                         .substring(5);\r
116         public static final String ASDC_PROP3 = MsoJavaProperties.class.getClassLoader().getResource("mso3.json").toString()\r
117                         .substring(5);\r
118         public static final String ASDC_PROP_BAD = MsoJavaProperties.class.getClassLoader().getResource("mso-bad.json")\r
119                         .toString().substring(5);\r
120         public static final String ASDC_PROP_WITH_NULL = MsoJavaProperties.class.getClassLoader()\r
121                         .getResource("mso-with-NULL.json").toString().substring(5);\r
122 \r
123         @BeforeClass\r
124         public static final void prepareMockNotification() throws MsoPropertiesException, IOException, URISyntaxException,\r
125                         NoSuchAlgorithmException, ArtifactInstallerException {\r
126 \r
127                 heatExample = new String(Files.readAllBytes(Paths.get(\r
128                                 ASDCControllerTest.class.getClassLoader().getResource("resource-examples/autoscaling.yaml").toURI())));\r
129                 MessageDigest md = MessageDigest.getInstance("MD5");\r
130                 byte[] md5Hash = md.digest(heatExample.getBytes());\r
131                 heatExampleMD5HashBase64 = Base64.encodeBase64String(md5Hash);\r
132 \r
133                 iNotif = Mockito.mock(INotificationData.class);\r
134 \r
135                 // Create fake ArtifactInfo\r
136                 artifactInfo1 = Mockito.mock(IArtifactInfo.class);\r
137                 Mockito.when(artifactInfo1.getArtifactChecksum())\r
138                                 .thenReturn(ToscaResourceInstallerTest.heatExampleMD5HashBase64);\r
139 \r
140                 Mockito.when(artifactInfo1.getArtifactName()).thenReturn("artifact1");\r
141                 Mockito.when(artifactInfo1.getArtifactType()).thenReturn(ASDCConfiguration.HEAT);\r
142                 Mockito.when(artifactInfo1.getArtifactURL())\r
143                                 .thenReturn("https://localhost:8080/v1/catalog/services/srv1/2.0/resources/aaa/1.0/artifacts/aaa.yml");\r
144                 Mockito.when(artifactInfo1.getArtifactUUID()).thenReturn("UUID1");\r
145                 Mockito.when(artifactInfo1.getArtifactDescription()).thenReturn("testos artifact1");\r
146 \r
147                 distributionClient = Mockito.mock(IDistributionClient.class);\r
148 \r
149                 // Now provision the NotificationData mock\r
150                 List<IArtifactInfo> listArtifact = new ArrayList<>();\r
151                 listArtifact.add(artifactInfo1);\r
152 \r
153                 // Create fake resource Instance\r
154                 resource1 = Mockito.mock(IResourceInstance.class);\r
155                 // Mockito.when(resource1.getResourceType()).thenReturn("VF");\r
156                 Mockito.when(resource1.getResourceName()).thenReturn("resourceName");\r
157                 Mockito.when(resource1.getArtifacts()).thenReturn(listArtifact);\r
158 \r
159                 List<IResourceInstance> resources = new ArrayList<>();\r
160                 resources.add(resource1);\r
161 \r
162                 Mockito.when(iNotif.getResources()).thenReturn(resources);\r
163                 Mockito.when(iNotif.getDistributionID()).thenReturn("distributionID1");\r
164                 Mockito.when(iNotif.getServiceName()).thenReturn("serviceName1");\r
165                 Mockito.when(iNotif.getServiceUUID()).thenReturn("serviceNameUUID1");\r
166                 Mockito.when(iNotif.getServiceVersion()).thenReturn("1.0");\r
167 \r
168                 downloadResult = Mockito.mock(IDistributionClientDownloadResult.class);\r
169                 Mockito.when(downloadResult.getArtifactPayload()).thenReturn(heatExample.getBytes());\r
170                 Mockito.when(downloadResult.getDistributionActionResult()).thenReturn(DistributionActionResultEnum.SUCCESS);\r
171                 Mockito.when(downloadResult.getDistributionMessageResult()).thenReturn("Success");\r
172 \r
173                 downloadCorruptedResult = Mockito.mock(IDistributionClientDownloadResult.class);\r
174                 Mockito.when(downloadCorruptedResult.getArtifactPayload()).thenReturn((heatExample + "badone").getBytes());\r
175                 Mockito.when(downloadCorruptedResult.getDistributionActionResult())\r
176                                 .thenReturn(DistributionActionResultEnum.SUCCESS);\r
177                 Mockito.when(downloadCorruptedResult.getDistributionMessageResult()).thenReturn("Success");\r
178 \r
179                 vrs = new VfResourceStructure(iNotif, resource1);\r
180                 try {\r
181                         vrs.addArtifactToStructure(distributionClient, artifactInfo1, downloadResult);\r
182                 } catch (UnsupportedEncodingException e) {\r
183                         e.printStackTrace();\r
184                 }\r
185                 try {\r
186                         vrs.createVfModuleStructures();\r
187                 } catch (ArtifactInstallerException e) {\r
188                         e.printStackTrace();\r
189                 }\r
190                 vrs.getNotification();\r
191                 vrs.getArtifactsMapByUUID();\r
192                 vrs.getCatalogNetworkResourceCustomization();\r
193                 vrs.getCatalogResourceCustomization();\r
194                 vrs.getCatalogService();\r
195                 vrs.getCatalogServiceToAllottedResources();\r
196                 vrs.getCatalogServiceToNetworks();\r
197                 vrs.getCatalogVnfResource();\r
198                 vrs.getResourceInstance();\r
199                 vrs.getVfModulesStructureList();\r
200                 vrs.getVfModuleStructure();\r
201                 vrs.setCatalogNetworkResourceCustomization(new NetworkResourceCustomization());\r
202                 vrs.setCatalogResourceCustomization(new AllottedResourceCustomization());\r
203                 vrs.setCatalogService(new Service());\r
204                 vrs.setCatalogServiceToAllottedResources(new ServiceToAllottedResources());\r
205                 vrs.setCatalogServiceToNetworks(new ServiceToNetworks());\r
206                 vrs.setCatalogVnfResource(new VnfResource());\r
207                 vrs.setSuccessfulDeployment();\r
208 \r
209                 AllottedResourceCustomization arc = new AllottedResourceCustomization();\r
210                 arc.setModelCustomizationUuid("modelCustomizationUuid");\r
211                 List<AllottedResourceCustomization> allottedResources = new ArrayList<>();\r
212                 allottedResources.add(arc);\r
213 \r
214                 NetworkResourceCustomization nrc = new NetworkResourceCustomization();\r
215                 nrc.setModelCustomizationUuid("modelCustomizationUuid");\r
216                 List<NetworkResourceCustomization> networkResources = new ArrayList<>();\r
217                 networkResources.add(nrc);\r
218 \r
219                 new MockUp<CatalogDatabase>() {\r
220                         @Mock\r
221                         public List<AllottedResourceCustomization> getAllAllottedResourcesByServiceModelUuid(\r
222                                         String serviceModelUuid) {\r
223                                 return allottedResources;\r
224                         }\r
225                 };\r
226                 new MockUp<CatalogDatabase>() {\r
227                         @Mock\r
228                         public List<NetworkResourceCustomization> getAllNetworksByServiceModelUuid(String serviceModelUuid) {\r
229                                 return networkResources;\r
230                         }\r
231                 };\r
232 \r
233                 // Mock now the ASDC distribution client behavior\r
234                 successfulClientInitResult = Mockito.mock(IDistributionClientResult.class);\r
235                 Mockito.when(successfulClientInitResult.getDistributionActionResult())\r
236                                 .thenReturn(DistributionActionResultEnum.SUCCESS);\r
237 \r
238                 unsuccessfulClientInitResult = Mockito.mock(IDistributionClientResult.class);\r
239                 Mockito.when(unsuccessfulClientInitResult.getDistributionActionResult())\r
240                                 .thenReturn(DistributionActionResultEnum.GENERAL_ERROR);\r
241 \r
242         }\r
243 \r
244         @Before\r
245         public final void initBeforeEachTest() throws MsoPropertiesException {\r
246                 // load the config\r
247                 msoPropertiesFactory.removeAllMsoProperties();\r
248                 msoPropertiesFactory.initializeMsoProperties(ASDCConfiguration.MSO_PROP_ASDC, ASDC_PROP);\r
249         }\r
250 \r
251         @AfterClass\r
252         public static final void kill() throws MsoPropertiesException {\r
253 \r
254                 msoPropertiesFactory.removeMsoProperties(ASDCConfiguration.MSO_PROP_ASDC);\r
255 \r
256         }\r
257 \r
258         @Test\r
259         public void isResourceAlreadyDeployedAllotedResourceTest() {\r
260                 Mockito.when(resource1.getResourceType()).thenReturn("VF");\r
261                 Mockito.when(resource1.getCategory()).thenReturn("Allotted Resource");\r
262                 ToscaResourceInstaller tri = new ToscaResourceInstaller();\r
263 \r
264                 try {\r
265                         tri.isResourceAlreadyDeployed(vrs);\r
266                 } catch (ArtifactInstallerException e) {\r
267                 }\r
268         }\r
269 \r
270         @Test(expected=Exception.class)\r
271         @Ignore // 1802 merge\r
272         public void installTheResourceTest() {\r
273 \r
274                 /*\r
275                  * COMMENTED OUT BECAUSE IT DOES NOT COMPILE IN ONAP JENKINS BUILD\r
276                  * \r
277                 ToscaResourceStructure trs = new ToscaResourceStructure();\r
278                 trs.getAllottedResource();\r
279                 trs.getAllottedList();\r
280                 trs.getCatalogAllottedResourceCustomization();\r
281                 trs.getCatalogAllottedServiceToResourceCustomization();\r
282                 trs.getCatalogNetworkResource();\r
283                 trs.getCatalogNetworkResourceCustomization();\r
284                 trs.getCatalogResourceCustomization();\r
285                 trs.getCatalogService();\r
286                 trs.getCatalogTempNetworkHeatTemplateLookup();\r
287                 trs.getCatalogToscaCsar();\r
288                 trs.getCatalogVfModule();\r
289                 trs.getCatalogVfModuleCustomization();\r
290                 trs.getCatalogVfModuleToHeatFiles();\r
291                 trs.getCatalogVfServiceToResourceCustomization();\r
292                 trs.getCatalogVlServiceToResourceCustomization();\r
293                 trs.getCatalogVnfResCustomToVfModuleCustom();\r
294                 trs.getCatalogVnfResource();\r
295                 trs.getCatalogVnfResourceCustomization();\r
296                 trs.getEnvHeatTemplateUUID();\r
297                 trs.getHeatFilesUUID();\r
298                 trs.getHeatTemplateUUID();\r
299                 trs.getNetworkTypes();\r
300                 trs.getSdcCsarHelper();\r
301                 trs.getServiceMetadata();\r
302                 trs.getServiceToResourceCustomization();\r
303                 trs.getServiceVersion();\r
304                 trs.getToscaArtifact();\r
305                 trs.getVfTypes();\r
306                 trs.getVolHeatEnvTemplateUUID();\r
307                 trs.getVolHeatTemplateUUID();\r
308 \r
309                 NodeTemplate nodeTemplate = Mockito.mock(NodeTemplate.class);\r
310                 List<NodeTemplate> alnt = new ArrayList<>();\r
311                 trs.setAllottedList(alnt);\r
312                 trs.setAllottedResource(new AllottedResource());\r
313                 trs.setCatalogAllottedResourceCustomization(new AllottedResourceCustomization());\r
314                 trs.setCatalogAllottedServiceToResourceCustomization(new ServiceToResourceCustomization());\r
315                 trs.setCatalogNetworkResource(new NetworkResource());\r
316                 trs.setCatalogNetworkResourceCustomization(new NetworkResourceCustomization());\r
317                 trs.setCatalogResourceCustomization(new AllottedResourceCustomization());\r
318                 trs.setCatalogService(new Service());\r
319                 trs.setCatalogTempNetworkHeatTemplateLookup(new TempNetworkHeatTemplateLookup());\r
320                 trs.setCatalogToscaCsar(new ToscaCsar());\r
321                 trs.setCatalogVfModule(new VfModule());\r
322                 trs.setCatalogVfModuleCustomization(new VfModuleCustomization());\r
323                 trs.setCatalogVfModuleToHeatFiles(new VfModuleToHeatFiles());\r
324                 trs.setCatalogVfServiceToResourceCustomization(new ServiceToResourceCustomization());\r
325                 trs.setCatalogVlServiceToResourceCustomization(new ServiceToResourceCustomization());\r
326                 trs.setCatalogVnfResCustomToVfModuleCustom(new VnfResCustomToVfModuleCustom());\r
327                 trs.setCatalogVnfResource(new VnfResource());\r
328                 trs.setCatalogVnfResourceCustomization(new VnfResourceCustomization());\r
329                 trs.setEnvHeatTemplateUUID("envHeatTemplateUUID");\r
330                 trs.setHeatFilesUUID("heatFilesUUID");\r
331                 trs.setHeatTemplateUUID("heatTemplateUUID");\r
332                 trs.setNetworkTypes(alnt);\r
333                 trs.setVolHeatTemplateUUID("volHeatTemplateUUID");\r
334                 trs.setSdcCsarHelper(new ISdcCsarHelper() {\r
335 \r
336                         @Override\r
337                         public List<NodeTemplate> getGroupMembersFromTopologyTemplate(String arg0) {\r
338                             return null;\r
339                         }\r
340 \r
341                         @Override\r
342                         public List<Map<String, Object>> getGroupsOfOriginOfNodeTemplate(NodeTemplate arg0) {\r
343                             return null;\r
344                         }\r
345 \r
346                         @Override\r
347                         public List<Map<String,Map<String,Object>>> getGroupsOfTopologyTemplateByToscaGroupType(String arg0) {\r
348                             return null;\r
349                         }\r
350 \r
351                         @Override\r
352                         public List<Map<String,Map<String,Object>>> getGroupsOfTopologyTemplate() {\r
353                             return null;\r
354                         }\r
355 \r
356                         @Override\r
357                         public List<Map<String,Map<String,Object>>> getPoliciesOfTargetByToscaPolicyType(NodeTemplate arg0, String arg1) {\r
358                             return null;\r
359                         }\r
360 \r
361                         @Override\r
362                         public List<Map<String,Map<String,Object>>> getPoliciesOfTarget(NodeTemplate arg0) {\r
363                             return null;\r
364                         }\r
365 \r
366                         @Override\r
367                         public NodeTemplate getNodeTemplateByName(String arg0) {\r
368                             return null;\r
369                         }\r
370 \r
371                         @Override\r
372                         public List<Map<String,Object>> getPolicyTargetsFromOrigin(NodeTemplate arg0, String arg1) {\r
373                             return null;\r
374                         }\r
375 \r
376                         @Override\r
377                         public List<NodeTemplate> getPolicyTargetsFromTopologyTemplate(String arg0) {\r
378                             return null;\r
379                         }\r
380 \r
381                         @Override\r
382                         public List<Map<String,Object>> getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(NodeTemplate arg0, String arg1) {\r
383                             return null;\r
384                         }\r
385 \r
386                         @Override\r
387                         public List<Map<String,Object>> getPoliciesOfOriginOfNodeTemplate(NodeTemplate arg0) {\r
388                             return null;\r
389                         }\r
390 \r
391                         @Override\r
392                         public List<Map<String,Map<String,Object>>>  getPoliciesOfTopologyTemplateByToscaPolicyType(String arg0) {\r
393                             return null;\r
394                         }\r
395 \r
396                         @Override\r
397                         public List<Map<String,Map<String,Object>>> getPoliciesOfTopologyTemplate() {\r
398                             return null;\r
399                         }\r
400 \r
401                         ////////////////////////////////\r
402 \r
403                         @Override\r
404                         public boolean hasTopology(NodeTemplate arg0) {\r
405                                 return false;\r
406                         }\r
407 \r
408                         @Override\r
409                         public NodeTemplate getVnfConfig(String arg0) {\r
410                                 return null;\r
411                         }\r
412 \r
413                         @Override\r
414                         public List<NodeTemplate> getVfcListByVf(String arg0) {\r
415                                 return null;\r
416                         }\r
417 \r
418                         @Override\r
419                         public List<Group> getVfModulesByVf(String arg0) {\r
420                                 return null;\r
421                         }\r
422 \r
423                         @Override\r
424                         public String getTypeOfNodeTemplate(NodeTemplate arg0) {\r
425                                 return null;\r
426                         }\r
427 \r
428                         @Override\r
429                         public List<NodeTemplate> getServiceVlList() {\r
430                                 return null;\r
431                         }\r
432 \r
433                         @Override\r
434                         public List<NodeTemplate> getServiceVfList() {\r
435                                 return null;\r
436                         }\r
437 \r
438                         @Override\r
439                         public String getServiceSubstitutionMappingsTypeName() {\r
440                                 return null;\r
441                         }\r
442 \r
443                         @Override\r
444                         public List<NodeTemplate> getServiceNodeTemplatesByType(String arg0) {\r
445                                 return null;\r
446                         }\r
447 \r
448                         @Override\r
449                         public List<NodeTemplate> getServiceNodeTemplates() {\r
450                                 return null;\r
451                         }\r
452 \r
453                         @Override\r
454                         public List<NodeTemplate> getServiceNodeTemplateBySdcType(SdcTypes arg0) {\r
455                                 return null;\r
456                         }\r
457 \r
458                         @Override\r
459                         public Map<String, Object> getServiceMetadataProperties() {\r
460                                 return null;\r
461                         }\r
462 \r
463                         @Override\r
464                         public Metadata getServiceMetadata() {\r
465                                 return null;\r
466                         }\r
467 \r
468                         @Override\r
469                         public List<Input> getServiceInputs() {\r
470                                 return null;\r
471                         }\r
472 \r
473                         @Override\r
474                         public Object getServiceInputLeafValueOfDefaultAsObject(String arg0) {\r
475                                 return null;\r
476                         }\r
477 \r
478                         @Override\r
479                         public String getServiceInputLeafValueOfDefault(String arg0) {\r
480                                 return null;\r
481                         }\r
482 \r
483                         @Override\r
484                         public String getNodeTemplatePropertyLeafValue(NodeTemplate arg0, String arg1) {\r
485                                 return null;\r
486                         }\r
487 \r
488                         @Override\r
489                         public Object getNodeTemplatePropertyAsObject(NodeTemplate arg0, String arg1) {\r
490                                 return null;\r
491                         }\r
492 \r
493                         @Override\r
494                         public List<Pair<NodeTemplate, NodeTemplate>> getNodeTemplatePairsByReqName(List<NodeTemplate> arg0,\r
495                                         List<NodeTemplate> arg1, String arg2) {\r
496                                 return null;\r
497                         }\r
498 \r
499                         @Override\r
500                         public String getNodeTemplateCustomizationUuid(NodeTemplate arg0) {\r
501                                 return null;\r
502                         }\r
503 \r
504                         @Override\r
505                         public List<NodeTemplate> getNodeTemplateChildren(NodeTemplate arg0) {\r
506                                 return null;\r
507                         }\r
508 \r
509                         @Override\r
510                         public List<NodeTemplate> getNodeTemplateBySdcType(NodeTemplate arg0, SdcTypes arg1) {\r
511                                 return null;\r
512                         }\r
513 \r
514                         @Override\r
515                         public String getMetadataPropertyValue(Metadata arg0, String arg1) {\r
516                                 return null;\r
517                         }\r
518 \r
519                         @Override\r
520                         public List<NodeTemplate> getMembersOfVfModule(NodeTemplate arg0, Group arg1) {\r
521                                 return null;\r
522                         }\r
523 \r
524                         @Override\r
525                         public String getGroupPropertyLeafValue(Group arg0, String arg1) {\r
526                                 return null;\r
527                         }\r
528 \r
529                         @Override\r
530                         public Object getGroupPropertyAsObject(Group arg0, String arg1) {\r
531                                 return null;\r
532                         }\r
533 \r
534                         @Override\r
535                         public Map<String, Map<String, Object>> getCpPropertiesFromVfcAsObject(NodeTemplate arg0) {\r
536                                 return null;\r
537                         }\r
538 \r
539                         @Override\r
540                         public Map<String, Map<String, Object>> getCpPropertiesFromVfc(NodeTemplate arg0) {\r
541                                 return null;\r
542                         }\r
543 \r
544                         @Override\r
545                         public List<NodeTemplate> getCpListByVf(String arg0) {\r
546                                 return null;\r
547                         }\r
548 \r
549                         @Override\r
550                         public String getConformanceLevel() {\r
551                                 return null;\r
552                         }\r
553 \r
554                         @Override\r
555                         public List<NodeTemplate> getAllottedResources() {\r
556                                 return null;\r
557                         }\r
558 \r
559                         @Override\r
560                         public Map<String, String> filterNodeTemplatePropertiesByValue(NodeTemplate arg0, FilterType arg1,\r
561                                         String arg2) {\r
562                                 return null;\r
563                         }\r
564 \r
565                         @Override\r
566                         public CapabilityAssignments getCapabilitiesOf(NodeTemplate arg0) {\r
567                                 // TODO Auto-generated method stub\r
568                                 return null;\r
569                         }\r
570 \r
571                         @Override\r
572                         public String getCapabilityPropertyLeafValue(CapabilityAssignment arg0, String arg1) {\r
573                                 // TODO Auto-generated method stub\r
574                                 return null;\r
575                         }\r
576 \r
577                         @Override\r
578                         public Metadata getNodeTemplateMetadata(NodeTemplate arg0) {\r
579                                 // TODO Auto-generated method stub\r
580                                 return null;\r
581                         }\r
582 \r
583                         @Override\r
584                         public RequirementAssignments getRequirementsOf(NodeTemplate arg0) {\r
585                                 // TODO Auto-generated method stub\r
586                                 return null;\r
587                         }\r
588 \r
589                         @Override\r
590                         public Map<String, String> getServiceMetadataAllProperties() {\r
591                                 // TODO Auto-generated method stub\r
592                                 return null;\r
593                         }\r
594 \r
595                         @Override\r
596                         public NodeTemplate getServiceNodeTemplateByNodeName(String arg0) {\r
597                                 // TODO Auto-generated method stub\r
598                                 return null;\r
599                         }\r
600                 });\r
601                 // trs.setServiceMetadata(new Metadata(new HashMap<>()));\r
602                 trs.setServiceToResourceCustomization(new ServiceToResourceCustomization());\r
603                 trs.setServiceVersion("1.0");\r
604                 trs.setToscaArtifact(new IArtifactInfo() {\r
605 \r
606                         @Override\r
607                         public List<IArtifactInfo> getRelatedArtifacts() {\r
608                                 return null;\r
609                         }\r
610 \r
611                         @Override\r
612                         public IArtifactInfo getGeneratedArtifact() {\r
613                                 return null;\r
614                         }\r
615 \r
616                         @Override\r
617                         public String getArtifactVersion() {\r
618                                 return null;\r
619                         }\r
620 \r
621                         @Override\r
622                         public String getArtifactUUID() {\r
623                                 return null;\r
624                         }\r
625 \r
626                         @Override\r
627                         public String getArtifactURL() {\r
628                                 return null;\r
629                         }\r
630 \r
631                         @Override\r
632                         public String getArtifactType() {\r
633                                 return null;\r
634                         }\r
635 \r
636                         @Override\r
637                         public Integer getArtifactTimeout() {\r
638                                 return null;\r
639                         }\r
640 \r
641                         @Override\r
642                         public String getArtifactName() {\r
643                                 return null;\r
644                         }\r
645 \r
646                         @Override\r
647                         public String getArtifactDescription() {\r
648                                 return null;\r
649                         }\r
650 \r
651                         @Override\r
652                         public String getArtifactChecksum() {\r
653                                 return null;\r
654                         }\r
655                 });\r
656                 trs.setVfTypes(alnt);\r
657                 trs.setVnfAlreadyInstalled(true);\r
658                 trs.setVolHeatEnvTemplateUUID("volHeatEnvTemplateUUID");\r
659                 trs.isVnfAlreadyInstalled();\r
660 \r
661                 try{\r
662                 trs.updateResourceStructure(artifactInfo1);\r
663                 \r
664                 }catch(Exception e){}\r
665                 \r
666                 ToscaResourceInstaller tri = new ToscaResourceInstaller();\r
667 \r
668                 try {\r
669                         tri.installTheResource(trs, vrs);\r
670                 } catch (ArtifactInstallerException e) {\r
671                 }\r
672                 */\r
673         }\r
674 }\r