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