2 * Copyright 2018 ZTE Corporation.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package org.onap.aai.esr.wrapper;
18 import java.util.ArrayList;
19 import java.util.List;
20 import javax.ws.rs.core.Response;
21 import org.junit.Assert;
22 import org.junit.Test;
23 import org.mockito.Mockito;
24 import org.onap.aai.esr.common.MsbConfig;
25 import org.onap.aai.esr.entity.aai.CloudRegionDetail;
26 import org.onap.aai.esr.entity.rest.VimAuthInfo;
27 import org.onap.aai.esr.entity.rest.VimRegisterInfo;
28 import org.onap.aai.esr.exception.ExtsysException;
29 import org.onap.aai.esr.externalservice.aai.CloudRegionProxy;
31 public class VimManagerWrapperTest {
34 MsbConfig.setMsbServerAddr("http://127.0.0.1:80");
38 public void test_registerVim() throws ExtsysException {
39 VimRegisterInfo vimRegisterInfo = new VimRegisterInfo();
40 List<VimAuthInfo> vimAuthInfos = new ArrayList<>();
41 vimRegisterInfo.setCloudExtraInfo("{}");
42 vimRegisterInfo.setCloudOwner("zte");
43 vimRegisterInfo.setCloudRegionId("RegionOne");
44 vimRegisterInfo.setCloudRegionVersion("mitaca");
45 vimRegisterInfo.setCloudType("openstack");
46 vimRegisterInfo.setCloudZone("default");
47 vimRegisterInfo.setComplexName("complex");
48 vimRegisterInfo.setPhysicalLocationId("complex");
49 vimRegisterInfo.setOwnerDefinedType("test");
50 vimRegisterInfo.setStatus("normal");
51 VimAuthInfo vimAuthInfo = new VimAuthInfo();
52 vimAuthInfo.setAuthUrl("http://10.11.22.33:5000/v3");
53 vimAuthInfo.setCloudDomain("default");
54 vimAuthInfo.setPassword("123456");
55 vimAuthInfo.setSslCacert("test");
56 vimAuthInfo.setSslInsecure(true);
57 vimAuthInfo.setUserName("onap");
58 vimAuthInfo.setDefaultTenant("admin");
59 vimAuthInfos.add(vimAuthInfo);
60 vimRegisterInfo.setVimAuthInfos(vimAuthInfos);
61 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
62 Mockito.doNothing().when(mockCloudRegionProxy).registerVim(Mockito.anyString(), Mockito.anyString(),
63 (CloudRegionDetail) Mockito.anyObject());
64 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
65 Response response = vimManagerWrapper.registerVim(vimRegisterInfo);
66 if (response != null) {
67 Assert.assertTrue(response.getStatus() == 200);
72 public void test_queryVimById() throws ExtsysException {
73 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
74 String vimdetail = "{\"cloud-owner\":\"zte\"," + "\"cloud-region-id\":\"RegionOne\","
75 + "\"cloud-type\":\"openstack\"," + "\"cloud-region-version\":\"mitaca\","
76 + "\"owner-defined-type\":\"test\"," + "\"cloud-zone\":\"default\"," + "\"complex-name\":\"complex\","
77 + "\"cloud-extra-info\":\"{}\"," + "\"esr-system-info-list\":{" + "\"esr-system-info\":[{"
78 + "\"esr-system-info-id\":\"123456\"," + "\"service-url\":\"http://10.11.22.33:5000/v3\","
79 + "\"user-name\":\"onap\"," + "\"password\":\"123456\"," + "\"system-type\":\"VIM\","
80 + "\"ssl-cassert\":\"test\"," + "\"ssl-insecure\":true," + "\"cloud-domain\":\"default\","
81 + "\"default-tenant\":\"admin\"," + "\"system-status\":\"normal\"}]}}";
82 Mockito.when(mockCloudRegionProxy.queryVimDetail(Mockito.anyString(),Mockito.anyString())).thenReturn(vimdetail);
83 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
84 Response response = vimManagerWrapper.queryVimById("zte", "RegionOne");
85 if (response != null) {
86 Assert.assertTrue(response.getStatus() == 200);
91 public void test_queryVimListDetails() throws ExtsysException {
92 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
93 String vimdetail = "{\"cloud-owner\":\"zte\"," + "\"cloud-region-id\":\"RegionOne\","
94 + "\"cloud-type\":\"openstack\"," + "\"cloud-region-version\":\"mitaca\","
95 + "\"owner-defined-type\":\"test\"," + "\"cloud-zone\":\"default\"," + "\"complex-name\":\"complex\","
96 + "\"cloud-extra-info\":\"{}\"," + "\"esr-system-info-list\":{" + "\"esr-system-info\":[{"
97 + "\"esr-system-info-id\":\"123456\"," + "\"service-url\":\"http://10.11.22.33:5000/v3\","
98 + "\"user-name\":\"onap\"," + "\"password\":\"123456\"," + "\"system-type\":\"VIM\","
99 + "\"ssl-cassert\":\"test\"," + "\"ssl-insecure\":true," + "\"cloud-domain\":\"default\","
100 + "\"default-tenant\":\"admin\"," + "\"system-status\":\"normal\"}]}}";
101 String vimListStr = "{\"cloud-region\": [{\"cloud-owner\": \"zte\"," + "\"cloud-region-id\": \"RegionOne\","
102 + "\"cloud-type\": \"openstack\"," + "\"owner-defined-type\": \"test\","
103 + "\"cloud-region-version\": \"mitaca\"," + "\"identity-url\": \"http://10.11.22.33:5000/v3\","
104 + "\"cloud-zone\": \"default\"," + "\"complex-name\": \"complex\"," + "\"sriov-automation\": true,"
105 + "\"cloud-extra-info\": \"{}\"," + "\"resource-version\": \"123456\"}]}";
106 Mockito.when(mockCloudRegionProxy.queryVimDetail(Mockito.anyString(), Mockito.anyString()))
107 .thenReturn(vimdetail);
108 Mockito.when(mockCloudRegionProxy.qureyVimList()).thenReturn(vimListStr);
110 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
111 Response response = vimManagerWrapper.queryVimListDetails();
112 if (response != null) {
113 Assert.assertTrue(response.getStatus() == 200);
118 public void test_updateVim() throws ExtsysException {
119 VimRegisterInfo vimRegisterInfo = new VimRegisterInfo();
120 List<VimAuthInfo> vimAuthInfos = new ArrayList<>();
121 VimAuthInfo vimAuthInfo = new VimAuthInfo();
122 vimAuthInfo.setAuthUrl("http://10.11.22.33:5000/v3");
123 vimAuthInfo.setCloudDomain("default");
124 vimAuthInfo.setPassword("123456");
125 vimAuthInfo.setSslCacert("test");
126 vimAuthInfo.setSslInsecure(true);
127 vimAuthInfo.setUserName("onap");
128 vimAuthInfo.setDefaultTenant("admin");
129 vimRegisterInfo.setCloudExtraInfo("{}");
130 vimRegisterInfo.setCloudOwner("zte");
131 vimRegisterInfo.setCloudRegionId("RegionOne");
132 vimRegisterInfo.setCloudRegionVersion("mitaca");
133 vimRegisterInfo.setCloudType("openstack");
134 vimRegisterInfo.setCloudZone("default");
135 vimRegisterInfo.setComplexName("complex");
136 vimRegisterInfo.setPhysicalLocationId("complex");
137 vimRegisterInfo.setOwnerDefinedType("test");
138 vimRegisterInfo.setStatus("normal");
139 vimAuthInfos.add(vimAuthInfo);
140 vimRegisterInfo.setVimAuthInfos(vimAuthInfos);
141 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
142 String vimdetail = "{\"cloud-owner\":\"zte\"," + "\"cloud-region-id\":\"RegionOne\","
143 + "\"cloud-type\":\"openstack\"," + "\"cloud-region-version\":\"mitaca\","
144 + "\"owner-defined-type\":\"test\"," + "\"cloud-zone\":\"default\"," + "\"complex-name\":\"complex\","
145 + "\"cloud-extra-info\":\"{}\"," + "\"esr-system-info-list\":{" + "\"esr-system-info\":[{"
146 + "\"esr-system-info-id\":\"123456\"," + "\"service-url\":\"http://10.11.22.33:5000/v3\","
147 + "\"user-name\":\"onap\"," + "\"password\":\"123456\"," + "\"system-type\":\"VIM\","
148 + "\"ssl-cassert\":\"test\"," + "\"ssl-insecure\":true," + "\"cloud-domain\":\"default\","
149 + "\"default-tenant\":\"admin\"," + "\"system-status\":\"normal\"}]}}";
150 Mockito.when(mockCloudRegionProxy.queryVimDetail(Mockito.anyString(), Mockito.anyString()))
151 .thenReturn(vimdetail);
152 Mockito.doNothing().when(mockCloudRegionProxy).registerVim(Mockito.anyString(), Mockito.anyString(),
153 (CloudRegionDetail) Mockito.anyObject());
154 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
155 Response response = vimManagerWrapper.updateVim("zte", "RegionOne", vimRegisterInfo);
156 if (response != null) {
157 Assert.assertTrue(response.getStatus() == 200);
162 public void test_delVim() throws ExtsysException {
163 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
164 String vimdetail = "{\"cloud-owner\":\"zte\"," + "\"cloud-region-id\":\"RegionOne\","
165 + "\"cloud-type\":\"openstack\"," + "\"cloud-region-version\":\"mitaca\","
166 + "\"owner-defined-type\":\"test\"," + "\"cloud-zone\":\"default\"," + "\"complex-name\":\"complex\","
167 + "\"cloud-extra-info\":\"{}\"," + "\"esr-system-info-list\":{" + "\"esr-system-info\":[{"
168 + "\"esr-system-info-id\":\"123456\"," + "\"service-url\":\"http://10.11.22.33:5000/v3\","
169 + "\"user-name\":\"onap\"," + "\"password\":\"123456\"," + "\"system-type\":\"VIM\","
170 + "\"ssl-cassert\":\"test\"," + "\"ssl-insecure\":true," + "\"cloud-domain\":\"default\","
171 + "\"default-tenant\":\"admin\"," + "\"system-status\":\"normal\"}]}}";
172 Mockito.when(mockCloudRegionProxy.queryVimDetail(Mockito.anyString(), Mockito.anyString()))
173 .thenReturn(vimdetail);
174 Mockito.doNothing().when(mockCloudRegionProxy).deleteVim(Mockito.anyString(), Mockito.anyString(), Mockito.anyString());
175 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
176 Response response = vimManagerWrapper.delVim("zte", "RegionOne");
177 if (response != null) {
178 Assert.assertTrue(response.getStatus() == 204);