7387ddbdfba78991ece4a5591fe6308001a9c6a1
[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.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;
30
31 public class VimManagerWrapperTest {
32
33     static {
34         MsbConfig.setMsbServerAddr("http://127.0.0.1:80");
35     }
36
37     @Test
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);
68         }
69     }
70     
71     @Test
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);
87         }
88     }
89     
90     @Test
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);
109
110         VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
111         Response response = vimManagerWrapper.queryVimListDetails();
112         if (response != null) {
113             Assert.assertTrue(response.getStatus() == 200);
114         }
115     }
116     
117     @Test
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);
158         }
159     }
160     
161     @Test
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);
179         }
180     }
181 }