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.aai.Relationship;
27 import org.onap.aai.esr.entity.rest.VimAuthInfo;
28 import org.onap.aai.esr.entity.rest.VimRegisterInfo;
29 import org.onap.aai.esr.exception.ExtsysException;
30 import org.onap.aai.esr.externalservice.aai.CloudRegionProxy;
31 import org.onap.aai.esr.externalservice.cloud.Tenant;
32 import org.onap.aai.esr.externalservice.cloud.VimManagerProxy;
34 public class VimManagerWrapperTest {
37 MsbConfig.setMsbServerAddr("http://127.0.0.1:80");
41 public void test_registerVim() throws ExtsysException {
42 VimRegisterInfo vimRegisterInfo = new VimRegisterInfo();
43 List<VimAuthInfo> vimAuthInfos = new ArrayList<>();
44 vimRegisterInfo.setCloudExtraInfo("{}");
45 vimRegisterInfo.setCloudOwner("zte");
46 vimRegisterInfo.setCloudRegionId("RegionOne");
47 vimRegisterInfo.setCloudRegionVersion("mitaca");
48 vimRegisterInfo.setCloudType("openstack");
49 vimRegisterInfo.setCloudZone("default");
50 vimRegisterInfo.setComplexName("complex");
51 vimRegisterInfo.setPhysicalLocationId("complex");
52 vimRegisterInfo.setOwnerDefinedType("test");
53 vimRegisterInfo.setStatus("normal");
54 VimAuthInfo vimAuthInfo = new VimAuthInfo();
55 vimAuthInfo.setAuthUrl("http://10.11.22.33:5000/v3");
56 vimAuthInfo.setCloudDomain("default");
57 vimAuthInfo.setPassword("123456");
58 vimAuthInfo.setSslCacert("test");
59 vimAuthInfo.setSslInsecure(true);
60 vimAuthInfo.setUserName("onap");
61 vimAuthInfo.setDefaultTenant("admin");
62 vimAuthInfos.add(vimAuthInfo);
63 vimRegisterInfo.setVimAuthInfos(vimAuthInfos);
64 String complexStr = "{\"physical-location-id\": \"complex\", \"data-center-code\": \"test\", \"complex-name\": \"complex\"}";
65 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
66 VimManagerProxy mockVimManagerProxy = Mockito.mock(VimManagerProxy.class);
67 Mockito.doNothing().when(mockCloudRegionProxy).registerVim(Mockito.anyString(), Mockito.anyString(),
68 (CloudRegionDetail) Mockito.anyObject());
69 Mockito.doNothing().when(mockCloudRegionProxy).createCloudRegionRelationShip(Mockito.anyString(), Mockito.anyString(),
70 (Relationship) Mockito.anyObject());
71 Mockito.when(mockCloudRegionProxy.queryComplex(Mockito.anyString())).thenReturn(complexStr);
72 Mockito.doNothing().when(mockVimManagerProxy).updateVim(Mockito.anyString(), Mockito.anyString(), (Tenant) Mockito.anyObject());
73 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy, mockVimManagerProxy);
74 Response response = vimManagerWrapper.registerVim(vimRegisterInfo);
75 if (response != null) {
76 Assert.assertTrue(response.getStatus() == 200);
81 public void test_queryVimById() throws ExtsysException {
82 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
83 VimManagerProxy mockVimManagerProxy = Mockito.mock(VimManagerProxy.class);
84 String vimdetail = "{\"cloud-owner\":\"zte\"," + "\"cloud-region-id\":\"RegionOne\","
85 + "\"cloud-type\":\"openstack\"," + "\"cloud-region-version\":\"mitaca\","
86 + "\"owner-defined-type\":\"test\"," + "\"cloud-zone\":\"default\"," + "\"complex-name\":\"complex\","
87 + "\"cloud-extra-info\":\"{}\"," + "\"esr-system-info-list\":{" + "\"esr-system-info\":[{"
88 + "\"esr-system-info-id\":\"123456\"," + "\"service-url\":\"http://10.11.22.33:5000/v3\","
89 + "\"user-name\":\"onap\"," + "\"password\":\"123456\"," + "\"system-type\":\"VIM\","
90 + "\"ssl-cassert\":\"test\"," + "\"ssl-insecure\":true," + "\"cloud-domain\":\"default\","
91 + "\"default-tenant\":\"admin\"," + "\"system-status\":\"normal\"}]}}";
92 Mockito.when(mockCloudRegionProxy.queryVimDetail(Mockito.anyString(),Mockito.anyString())).thenReturn(vimdetail);
93 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy, mockVimManagerProxy);
94 Response response = vimManagerWrapper.queryVimById("zte", "RegionOne");
95 if (response != null) {
96 Assert.assertTrue(response.getStatus() == 200);
101 public void test_queryVimListDetails() throws ExtsysException {
102 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
103 VimManagerProxy mockVimManagerProxy = Mockito.mock(VimManagerProxy.class);
104 String vimdetail = "{\"cloud-owner\":\"zte\"," + "\"cloud-region-id\":\"RegionOne\","
105 + "\"cloud-type\":\"openstack\"," + "\"cloud-region-version\":\"mitaca\","
106 + "\"owner-defined-type\":\"test\"," + "\"cloud-zone\":\"default\"," + "\"complex-name\":\"complex\","
107 + "\"cloud-extra-info\":\"{}\"," + "\"esr-system-info-list\":{" + "\"esr-system-info\":[{"
108 + "\"esr-system-info-id\":\"123456\"," + "\"service-url\":\"http://10.11.22.33:5000/v3\","
109 + "\"user-name\":\"onap\"," + "\"password\":\"123456\"," + "\"system-type\":\"VIM\","
110 + "\"ssl-cassert\":\"test\"," + "\"ssl-insecure\":true," + "\"cloud-domain\":\"default\","
111 + "\"default-tenant\":\"admin\"," + "\"system-status\":\"normal\"}]}}";
112 String vimListStr = "{\"cloud-region\": [{\"cloud-owner\": \"zte\"," + "\"cloud-region-id\": \"RegionOne\","
113 + "\"cloud-type\": \"openstack\"," + "\"owner-defined-type\": \"test\","
114 + "\"cloud-region-version\": \"mitaca\"," + "\"identity-url\": \"http://10.11.22.33:5000/v3\","
115 + "\"cloud-zone\": \"default\"," + "\"complex-name\": \"complex\"," + "\"sriov-automation\": true,"
116 + "\"cloud-extra-info\": \"{}\"," + "\"resource-version\": \"123456\"}]}";
117 Mockito.when(mockCloudRegionProxy.queryVimDetail(Mockito.anyString(), Mockito.anyString()))
118 .thenReturn(vimdetail);
119 Mockito.when(mockCloudRegionProxy.qureyVimList()).thenReturn(vimListStr);
120 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy, mockVimManagerProxy);
121 Response response = vimManagerWrapper.queryVimListDetails();
122 if (response != null) {
123 Assert.assertTrue(response.getStatus() == 200);
128 public void test_updateVim() throws ExtsysException {
129 VimRegisterInfo vimRegisterInfo = new VimRegisterInfo();
130 List<VimAuthInfo> vimAuthInfos = new ArrayList<>();
131 VimAuthInfo vimAuthInfo = new VimAuthInfo();
132 vimAuthInfo.setAuthUrl("http://10.11.22.33:5000/v3");
133 vimAuthInfo.setCloudDomain("default");
134 vimAuthInfo.setPassword("123456");
135 vimAuthInfo.setSslCacert("test");
136 vimAuthInfo.setSslInsecure(true);
137 vimAuthInfo.setUserName("onap");
138 vimAuthInfo.setDefaultTenant("admin");
139 vimRegisterInfo.setCloudExtraInfo("{}");
140 vimRegisterInfo.setCloudOwner("zte");
141 vimRegisterInfo.setCloudRegionId("RegionOne");
142 vimRegisterInfo.setCloudRegionVersion("mitaca");
143 vimRegisterInfo.setCloudType("openstack");
144 vimRegisterInfo.setCloudZone("default");
145 vimRegisterInfo.setComplexName("complex");
146 vimRegisterInfo.setPhysicalLocationId("complex");
147 vimRegisterInfo.setOwnerDefinedType("test");
148 vimRegisterInfo.setStatus("normal");
149 vimAuthInfos.add(vimAuthInfo);
150 vimRegisterInfo.setVimAuthInfos(vimAuthInfos);
151 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
152 VimManagerProxy mockVimManagerProxy = Mockito.mock(VimManagerProxy.class);
153 String vimdetail = "{\"cloud-owner\":\"zte\"," + "\"cloud-region-id\":\"RegionOne\","
154 + "\"cloud-type\":\"openstack\"," + "\"cloud-region-version\":\"mitaca\","
155 + "\"owner-defined-type\":\"test\"," + "\"cloud-zone\":\"default\"," + "\"complex-name\":\"complex\","
156 + "\"cloud-extra-info\":\"{}\"," + "\"esr-system-info-list\":{" + "\"esr-system-info\":[{"
157 + "\"esr-system-info-id\":\"123456\"," + "\"service-url\":\"http://10.11.22.33:5000/v3\","
158 + "\"user-name\":\"onap\"," + "\"password\":\"123456\"," + "\"system-type\":\"VIM\","
159 + "\"ssl-cassert\":\"test\"," + "\"ssl-insecure\":true," + "\"cloud-domain\":\"default\","
160 + "\"default-tenant\":\"admin\"," + "\"system-status\":\"normal\"}]}}";
161 Mockito.when(mockCloudRegionProxy.queryVimDetail(Mockito.anyString(), Mockito.anyString()))
162 .thenReturn(vimdetail);
163 Mockito.doNothing().when(mockCloudRegionProxy).registerVim(Mockito.anyString(), Mockito.anyString(),
164 (CloudRegionDetail) Mockito.anyObject());
165 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy, mockVimManagerProxy);
166 Response response = vimManagerWrapper.updateVim("zte", "RegionOne", vimRegisterInfo);
167 if (response != null) {
168 Assert.assertTrue(response.getStatus() == 200);
173 public void test_delVim() throws ExtsysException {
174 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
175 VimManagerProxy mockVimManagerProxy = Mockito.mock(VimManagerProxy.class);
176 String vimdetail = "{\"cloud-owner\":\"zte\"," + "\"cloud-region-id\":\"RegionOne\","
177 + "\"cloud-type\":\"openstack\"," + "\"cloud-region-version\":\"mitaca\","
178 + "\"owner-defined-type\":\"test\"," + "\"cloud-zone\":\"default\"," + "\"complex-name\":\"complex\","
179 + "\"cloud-extra-info\":\"{}\"," + "\"esr-system-info-list\":{" + "\"esr-system-info\":[{"
180 + "\"esr-system-info-id\":\"123456\"," + "\"service-url\":\"http://10.11.22.33:5000/v3\","
181 + "\"user-name\":\"onap\"," + "\"password\":\"123456\"," + "\"system-type\":\"VIM\","
182 + "\"ssl-cassert\":\"test\"," + "\"ssl-insecure\":true," + "\"cloud-domain\":\"default\","
183 + "\"default-tenant\":\"admin\"," + "\"system-status\":\"normal\"}]}}";
184 Mockito.when(mockCloudRegionProxy.queryVimDetail(Mockito.anyString(), Mockito.anyString()))
185 .thenReturn(vimdetail);
186 Mockito.doNothing().when(mockCloudRegionProxy).deleteVim(Mockito.anyString(), Mockito.anyString(), Mockito.anyString());
187 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy, mockVimManagerProxy);
188 Response response = vimManagerWrapper.delVim("zte", "RegionOne");
189 if (response != null) {
190 Assert.assertTrue(response.getStatus() == 204);
195 public void test_queryComplexes() throws ExtsysException {
196 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
197 VimManagerProxy mockVimManagerProxy = Mockito.mock(VimManagerProxy.class);
198 String complexListStr =
199 "{\"complex\": [{\"physical-location-id\": \"123\",\"complex-name\": \"complex1\"},"
200 + "{\"physical-location-id\": \"test\",\"complex-name\": \"complex\"}]}";
201 Mockito.when(mockCloudRegionProxy.qureyComplexes()).thenReturn(complexListStr);
202 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy, mockVimManagerProxy);
203 Response response = vimManagerWrapper.queryComplexes();
204 if (response != null) {
205 Assert.assertTrue(response.getStatus() == 200);