2 * ============LICENSE_START======================================================= ONAP : SO
3 * ================================================================================ Copyright (C) 2018 TechMahindra
4 * ================================================================================ Licensed under the Apache License,
5 * Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
11 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
12 * specific language governing permissions and limitations under the License.
13 * ============LICENSE_END=========================================================
15 package org.onap.so.bpmn.core.domain;
17 import static org.junit.Assert.*;
18 import java.io.IOException;
19 import java.util.ArrayList;
20 import java.util.List;
21 import com.fasterxml.jackson.databind.ObjectMapper;
22 import org.junit.Test;
24 public class VnfResourceTest {
26 private final static String ALL_VF_MODULES_JSON =
27 "{\"ArrayList\":[{\"resourceType\":\"MODULE\",\"resourceInstance\":{},\"homingSolution\":{\"license\":{},\"rehome\":false},\"vfModuleName\":\"vfModuleName\",\"vfModuleType\":\"vfModuleType\",\"heatStackId\":\"heatStackId\",\"hasVolumeGroup\":true,\"isBase\":true,\"vfModuleLabel\":\"vfModuleLabel\",\"initialCount\":0},{\"resourceType\":\"MODULE\",\"resourceInstance\":{},\"homingSolution\":{\"license\":{},\"rehome\":false},\"vfModuleName\":\"vfModuleName\",\"vfModuleType\":\"vfModuleType\",\"heatStackId\":\"heatStackId\",\"hasVolumeGroup\":true,\"isBase\":true,\"vfModuleLabel\":\"vfModuleLabel\",\"initialCount\":0}]}";
29 private VnfResource vnf = new VnfResource();
30 List<ModuleResource> moduleResources;
33 public void testVnfResource() {
34 vnf.setModules(moduleResources);
35 vnf.setVnfHostname("vnfHostname");
36 vnf.setVnfType("vnfType");
37 vnf.setNfFunction("nfFunction");
38 vnf.setNfType("nfType");
39 vnf.setNfRole("nfRole");
40 vnf.setNfNamingCode("nfNamingCode");
41 vnf.setMultiStageDesign("multiStageDesign");
42 assertEquals(vnf.getVfModules(), moduleResources);
43 assertEquals(vnf.getVnfHostname(), "vnfHostname");
44 assertEquals(vnf.getVnfType(), "vnfType");
45 assertEquals(vnf.getNfFunction(), "nfFunction");
46 assertEquals(vnf.getNfType(), "nfType");
47 assertEquals(vnf.getNfRole(), "nfRole");
48 assertEquals(vnf.getNfNamingCode(), "nfNamingCode");
49 assertEquals(vnf.getMultiStageDesign(), "multiStageDesign");
55 public void vnfResourceMapperTest() throws IOException {
56 String jsonStr = "{\"vnfHostname\": \"home\", \"resourceInput\": \"sample\"}";
57 ObjectMapper objectMapper = new ObjectMapper();
58 VnfResource vnfResource = objectMapper.readValue(jsonStr, VnfResource.class);
60 assertTrue(vnfResource != null);
64 public void testVfModules() {
66 moduleResources = new ArrayList<>();
68 ModuleResource moduleresource = new ModuleResource();
69 moduleresource.setVfModuleName("vfModuleName");
70 moduleresource.setHeatStackId("heatStackId");
71 moduleresource.setIsBase(true);
72 moduleresource.setVfModuleLabel("vfModuleLabel");
73 moduleresource.setInitialCount(0);
74 moduleresource.setVfModuleType("vfModuleType");
75 moduleresource.setHasVolumeGroup(true);
77 moduleResources.add(moduleresource);
79 vnf.setModules(moduleResources);
80 assertEquals(vnf.getVfModules(), moduleResources);
82 List<ModuleResource> moduleResources = vnf.getAllVfModuleObjects();
83 assertEquals(1, moduleResources.size());
85 vnf.addVfModule(moduleresource);
86 moduleResources = vnf.getAllVfModuleObjects();
87 assertEquals(2, moduleResources.size());
89 assertEquals(ALL_VF_MODULES_JSON, vnf.getAllVfModulesJson());