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 String complexStr = "{\"physical-location-id\": \"complex\", \"data-center-code\": \"test\", \"complex-name\": \"complex\"}";
62 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
63 Mockito.doNothing().when(mockCloudRegionProxy).registerVim(Mockito.anyString(), Mockito.anyString(),
64 (CloudRegionDetail) Mockito.anyObject());
65 Mockito.when(mockCloudRegionProxy.queryComplex(Mockito.anyString())).thenReturn(complexStr);
66 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
67 Response response = vimManagerWrapper.registerVim(vimRegisterInfo);
68 if (response != null) {
69 Assert.assertTrue(response.getStatus() == 200);
74 public void test_queryVimById() throws ExtsysException {
75 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
76 String vimdetail = "{\"cloud-owner\":\"zte\"," + "\"cloud-region-id\":\"RegionOne\","
77 + "\"cloud-type\":\"openstack\"," + "\"cloud-region-version\":\"mitaca\","
78 + "\"owner-defined-type\":\"test\"," + "\"cloud-zone\":\"default\"," + "\"complex-name\":\"complex\","
79 + "\"cloud-extra-info\":\"{}\"," + "\"esr-system-info-list\":{" + "\"esr-system-info\":[{"
80 + "\"esr-system-info-id\":\"123456\"," + "\"service-url\":\"http://10.11.22.33:5000/v3\","
81 + "\"user-name\":\"onap\"," + "\"password\":\"123456\"," + "\"system-type\":\"VIM\","
82 + "\"ssl-cassert\":\"test\"," + "\"ssl-insecure\":true," + "\"cloud-domain\":\"default\","
83 + "\"default-tenant\":\"admin\"," + "\"system-status\":\"normal\"}]}}";
84 Mockito.when(mockCloudRegionProxy.queryVimDetail(Mockito.anyString(),Mockito.anyString())).thenReturn(vimdetail);
85 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
86 Response response = vimManagerWrapper.queryVimById("zte", "RegionOne");
87 if (response != null) {
88 Assert.assertTrue(response.getStatus() == 200);
93 public void test_queryVimListDetails() throws ExtsysException {
94 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
95 String vimdetail = "{\"cloud-owner\":\"zte\"," + "\"cloud-region-id\":\"RegionOne\","
96 + "\"cloud-type\":\"openstack\"," + "\"cloud-region-version\":\"mitaca\","
97 + "\"owner-defined-type\":\"test\"," + "\"cloud-zone\":\"default\"," + "\"complex-name\":\"complex\","
98 + "\"cloud-extra-info\":\"{}\"," + "\"esr-system-info-list\":{" + "\"esr-system-info\":[{"
99 + "\"esr-system-info-id\":\"123456\"," + "\"service-url\":\"http://10.11.22.33:5000/v3\","
100 + "\"user-name\":\"onap\"," + "\"password\":\"123456\"," + "\"system-type\":\"VIM\","
101 + "\"ssl-cassert\":\"test\"," + "\"ssl-insecure\":true," + "\"cloud-domain\":\"default\","
102 + "\"default-tenant\":\"admin\"," + "\"system-status\":\"normal\"}]}}";
103 String vimListStr = "{\"cloud-region\": [{\"cloud-owner\": \"zte\"," + "\"cloud-region-id\": \"RegionOne\","
104 + "\"cloud-type\": \"openstack\"," + "\"owner-defined-type\": \"test\","
105 + "\"cloud-region-version\": \"mitaca\"," + "\"identity-url\": \"http://10.11.22.33:5000/v3\","
106 + "\"cloud-zone\": \"default\"," + "\"complex-name\": \"complex\"," + "\"sriov-automation\": true,"
107 + "\"cloud-extra-info\": \"{}\"," + "\"resource-version\": \"123456\"}]}";
108 Mockito.when(mockCloudRegionProxy.queryVimDetail(Mockito.anyString(), Mockito.anyString()))
109 .thenReturn(vimdetail);
110 Mockito.when(mockCloudRegionProxy.qureyVimList()).thenReturn(vimListStr);
112 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
113 Response response = vimManagerWrapper.queryVimListDetails();
114 if (response != null) {
115 Assert.assertTrue(response.getStatus() == 200);
120 public void test_updateVim() throws ExtsysException {
121 VimRegisterInfo vimRegisterInfo = new VimRegisterInfo();
122 List<VimAuthInfo> vimAuthInfos = new ArrayList<>();
123 VimAuthInfo vimAuthInfo = new VimAuthInfo();
124 vimAuthInfo.setAuthUrl("http://10.11.22.33:5000/v3");
125 vimAuthInfo.setCloudDomain("default");
126 vimAuthInfo.setPassword("123456");
127 vimAuthInfo.setSslCacert("test");
128 vimAuthInfo.setSslInsecure(true);
129 vimAuthInfo.setUserName("onap");
130 vimAuthInfo.setDefaultTenant("admin");
131 vimRegisterInfo.setCloudExtraInfo("{}");
132 vimRegisterInfo.setCloudOwner("zte");
133 vimRegisterInfo.setCloudRegionId("RegionOne");
134 vimRegisterInfo.setCloudRegionVersion("mitaca");
135 vimRegisterInfo.setCloudType("openstack");
136 vimRegisterInfo.setCloudZone("default");
137 vimRegisterInfo.setComplexName("complex");
138 vimRegisterInfo.setPhysicalLocationId("complex");
139 vimRegisterInfo.setOwnerDefinedType("test");
140 vimRegisterInfo.setStatus("normal");
141 vimAuthInfos.add(vimAuthInfo);
142 vimRegisterInfo.setVimAuthInfos(vimAuthInfos);
143 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
144 String vimdetail = "{\"cloud-owner\":\"zte\"," + "\"cloud-region-id\":\"RegionOne\","
145 + "\"cloud-type\":\"openstack\"," + "\"cloud-region-version\":\"mitaca\","
146 + "\"owner-defined-type\":\"test\"," + "\"cloud-zone\":\"default\"," + "\"complex-name\":\"complex\","
147 + "\"cloud-extra-info\":\"{}\"," + "\"esr-system-info-list\":{" + "\"esr-system-info\":[{"
148 + "\"esr-system-info-id\":\"123456\"," + "\"service-url\":\"http://10.11.22.33:5000/v3\","
149 + "\"user-name\":\"onap\"," + "\"password\":\"123456\"," + "\"system-type\":\"VIM\","
150 + "\"ssl-cassert\":\"test\"," + "\"ssl-insecure\":true," + "\"cloud-domain\":\"default\","
151 + "\"default-tenant\":\"admin\"," + "\"system-status\":\"normal\"}]}}";
152 Mockito.when(mockCloudRegionProxy.queryVimDetail(Mockito.anyString(), Mockito.anyString()))
153 .thenReturn(vimdetail);
154 Mockito.doNothing().when(mockCloudRegionProxy).registerVim(Mockito.anyString(), Mockito.anyString(),
155 (CloudRegionDetail) Mockito.anyObject());
156 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
157 Response response = vimManagerWrapper.updateVim("zte", "RegionOne", vimRegisterInfo);
158 if (response != null) {
159 Assert.assertTrue(response.getStatus() == 200);
164 public void test_delVim() throws ExtsysException {
165 CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
166 String vimdetail = "{\"cloud-owner\":\"zte\"," + "\"cloud-region-id\":\"RegionOne\","
167 + "\"cloud-type\":\"openstack\"," + "\"cloud-region-version\":\"mitaca\","
168 + "\"owner-defined-type\":\"test\"," + "\"cloud-zone\":\"default\"," + "\"complex-name\":\"complex\","
169 + "\"cloud-extra-info\":\"{}\"," + "\"esr-system-info-list\":{" + "\"esr-system-info\":[{"
170 + "\"esr-system-info-id\":\"123456\"," + "\"service-url\":\"http://10.11.22.33:5000/v3\","
171 + "\"user-name\":\"onap\"," + "\"password\":\"123456\"," + "\"system-type\":\"VIM\","
172 + "\"ssl-cassert\":\"test\"," + "\"ssl-insecure\":true," + "\"cloud-domain\":\"default\","
173 + "\"default-tenant\":\"admin\"," + "\"system-status\":\"normal\"}]}}";
174 Mockito.when(mockCloudRegionProxy.queryVimDetail(Mockito.anyString(), Mockito.anyString()))
175 .thenReturn(vimdetail);
176 Mockito.doNothing().when(mockCloudRegionProxy).deleteVim(Mockito.anyString(), Mockito.anyString(), Mockito.anyString());
177 VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
178 Response response = vimManagerWrapper.delVim("zte", "RegionOne");
179 if (response != null) {
180 Assert.assertTrue(response.getStatus() == 204);