74fbde03658da6f1a500b421a02306359fd01073
[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.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);
67         }
68     }
69     
70     @Test
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);
86         }
87     }
88     
89     @Test
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);
108
109         VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
110         Response response = vimManagerWrapper.queryVimById("zte", "RegionOne");
111         if (response != null) {
112             Assert.assertTrue(response.getStatus() == 200);
113         }
114     }
115     
116     @Test
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);
156         }
157     }
158     
159     @Test
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);
177         }
178     }
179 }