4c821470489533194321cb239b955e573fab0616
[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         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);
70         }
71     }
72     
73     @Test
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);
89         }
90     }
91     
92     @Test
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);
111
112         VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
113         Response response = vimManagerWrapper.queryVimListDetails();
114         if (response != null) {
115             Assert.assertTrue(response.getStatus() == 200);
116         }
117     }
118     
119     @Test
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);
160         }
161     }
162     
163     @Test
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);
181         }
182     }
183 }