Merge "Modify JAVA Env Setting"
[aai/esr-server.git] / esr-mgr / src / test / java / org / onap / aai / esr / wrapper / VimManagerWrapperTest.java
1 /**
2  * Copyright 2018 ZTE Corporation.
3  *
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
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16 package org.onap.aai.esr.wrapper;
17
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;
33
34 public class VimManagerWrapperTest {
35
36     static {
37         MsbConfig.setMsbServerAddr("http://127.0.0.1:80");
38     }
39
40     @Test
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);
77         }
78     }
79     
80     @Test
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);
97         }
98     }
99     
100     @Test
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);
124         }
125     }
126     
127     @Test
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);
169         }
170     }
171     
172     @Test
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);
191         }
192     }
193     
194     @Test
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);
206         }
207     }
208 }