2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2018 TechMahindra
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.core.domain;
22 import static org.junit.Assert.*;
24 import java.io.IOException;
25 import java.util.ArrayList;
26 import java.util.List;
28 import com.fasterxml.jackson.databind.ObjectMapper;
29 import org.junit.Test;
31 public class VnfResourceTest {
33 private final static String ALL_VF_MODULES_JSON =
34 "{\"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}]}";
36 private VnfResource vnf= new VnfResource();
37 List<ModuleResource> moduleResources;
40 public void testVnfResource() {
41 vnf.setModules(moduleResources);
42 vnf.setVnfHostname("vnfHostname");
43 vnf.setVnfType("vnfType");
44 vnf.setNfFunction("nfFunction");
45 vnf.setNfType("nfType");
46 vnf.setNfRole("nfRole");
47 vnf.setNfNamingCode("nfNamingCode");
48 vnf.setMultiStageDesign("multiStageDesign");
49 assertEquals(vnf.getVfModules(), moduleResources);
50 assertEquals(vnf.getVnfHostname(), "vnfHostname");
51 assertEquals(vnf.getVnfType(), "vnfType");
52 assertEquals(vnf.getNfFunction(), "nfFunction");
53 assertEquals(vnf.getNfType(), "nfType");
54 assertEquals(vnf.getNfRole(), "nfRole");
55 assertEquals(vnf.getNfNamingCode(), "nfNamingCode");
56 assertEquals(vnf.getMultiStageDesign(), "multiStageDesign");
62 public void vnfResourceMapperTest() throws IOException {
63 String jsonStr = "{\"vnfHostname\": \"home\", \"resourceInput\": \"sample\"}";
64 ObjectMapper objectMapper = new ObjectMapper();
65 VnfResource vnfResource = objectMapper.readValue(jsonStr, VnfResource.class);
67 assertTrue(vnfResource != null);
71 public void testVfModules() {
73 moduleResources = new ArrayList<>();
75 ModuleResource moduleresource = new ModuleResource();
76 moduleresource.setVfModuleName("vfModuleName");
77 moduleresource.setHeatStackId("heatStackId");
78 moduleresource.setIsBase(true);
79 moduleresource.setVfModuleLabel("vfModuleLabel");
80 moduleresource.setInitialCount(0);
81 moduleresource.setVfModuleType("vfModuleType");
82 moduleresource.setHasVolumeGroup(true);
84 moduleResources.add(moduleresource);
86 vnf.setModules(moduleResources);
87 assertEquals(vnf.getVfModules(), moduleResources);
89 List<ModuleResource> moduleResources = vnf.getAllVfModuleObjects();
90 assertEquals(1, moduleResources.size());
92 vnf.addVfModule(moduleresource);
93 moduleResources = vnf.getAllVfModuleObjects();
94 assertEquals(2, moduleResources.size());
96 assertEquals(ALL_VF_MODULES_JSON, vnf.getAllVfModulesJson());