Change the unit test about EMS with mock.
[aai/esr-server.git] / esr-mgr / src / test / java / org / onap / aai / esr / wrapper / EmsManagerWrapperTest.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 static org.junit.Assert.assertEquals;
19 import java.util.ArrayList;
20 import java.util.List;
21 import javax.ws.rs.core.Response;
22 import org.junit.Assert;
23 import org.junit.Test;
24 import org.mockito.Mockito;
25 import org.onap.aai.esr.common.MsbConfig;
26 import org.onap.aai.esr.entity.aai.EsrEmsDetail;
27 import org.onap.aai.esr.entity.rest.AlarmAddr;
28 import org.onap.aai.esr.entity.rest.EmsRegisterInfo;
29 import org.onap.aai.esr.entity.rest.FtpAddr;
30 import org.onap.aai.esr.exception.ExtsysException;
31 import org.onap.aai.esr.externalservice.aai.ExternalSystemProxy;
32 import org.onap.aai.esr.util.ExtsysUtil;
33
34 public class EmsManagerWrapperTest {
35
36     static {
37         MsbConfig.setMsbServerAddr("http://127.0.0.1:80");
38     }
39
40     @Test
41     public void test_registerEms() throws ExtsysException {
42         
43         EmsRegisterInfo emsRegisterInfo = new EmsRegisterInfo();
44         AlarmAddr alarmAddr = new AlarmAddr();
45         FtpAddr resourceAddr = new FtpAddr();
46         FtpAddr performanceAddr = new FtpAddr();
47         alarmAddr.setIp("ip");
48         alarmAddr.setPassword("987654");
49         alarmAddr.setPort("5000");
50         alarmAddr.setUser("nancy");
51         resourceAddr.setFtptype("sftp");
52         resourceAddr.setIp("ip");
53         resourceAddr.setPassive(true);
54         resourceAddr.setPassword("asdf");
55         resourceAddr.setPort("5000");
56         resourceAddr.setRemotepath("/home/per");
57         resourceAddr.setUser("nancy");
58         performanceAddr.setFtptype("sftp");
59         performanceAddr.setIp("ip");
60         performanceAddr.setPassive(true);
61         performanceAddr.setPassword("asdf");
62         performanceAddr.setPort("5000");
63         performanceAddr.setRemotepath("/home/per");
64         performanceAddr.setUser("nancy");
65         emsRegisterInfo.setName("EMS_TEST");
66         emsRegisterInfo.setVendor("ZTE");
67         emsRegisterInfo.setVersion("V1");
68         emsRegisterInfo.setAlarmAddr(alarmAddr);
69         emsRegisterInfo.setResourceAddr(resourceAddr);
70         emsRegisterInfo.setPerformanceAddr(performanceAddr);
71         ExternalSystemProxy mockExternalSystemProxy = Mockito.mock(ExternalSystemProxy.class);
72         Mockito.doNothing().when(mockExternalSystemProxy).registerEms(Mockito.anyString(), (EsrEmsDetail)Mockito.anyObject());
73         EmsManagerWrapper emsManagerWrapper = new EmsManagerWrapper(mockExternalSystemProxy);
74         Response response = emsManagerWrapper.registerEms(emsRegisterInfo);
75         if (response != null) {
76             Assert.assertTrue(response.getStatus() == 200);
77         }
78     }
79     
80     @Test
81     public void test_queryEmsById() throws ExtsysException {
82         ExtsysUtil extsysUtil = new ExtsysUtil();
83         EmsRegisterInfo emsRegisterInfo = new EmsRegisterInfo();
84         AlarmAddr alarmAddr = new AlarmAddr();
85         FtpAddr resourceAddr = new FtpAddr();
86         FtpAddr performanceAddr = new FtpAddr();
87         alarmAddr.setIp("ip");
88         alarmAddr.setPassword("987654");
89         alarmAddr.setPort("5000");
90         alarmAddr.setUser("nancy");
91         resourceAddr.setFtptype("sftp");
92         resourceAddr.setIp("ip");
93         resourceAddr.setPassive(true);
94         resourceAddr.setPassword("asdf");
95         resourceAddr.setPort("5000");
96         resourceAddr.setRemotepath("/home/per");
97         resourceAddr.setUser("nancy");
98         performanceAddr.setFtptype("sftp");
99         performanceAddr.setIp("ip");
100         performanceAddr.setPassive(true);
101         performanceAddr.setPassword("asdf");
102         performanceAddr.setPort("5000");
103         performanceAddr.setRemotepath("/home/per");
104         performanceAddr.setUser("nancy");
105         emsRegisterInfo.setName("EMS_TEST");
106         emsRegisterInfo.setVendor("ZTE");
107         emsRegisterInfo.setVersion("V1");
108         emsRegisterInfo.setAlarmAddr(alarmAddr);
109         emsRegisterInfo.setResourceAddr(resourceAddr);
110         emsRegisterInfo.setPerformanceAddr(performanceAddr);
111         emsRegisterInfo.setEmsId("123456");
112         String emsDetailStr = "{\"ems-id\":\"123456\",\"esr-system-info-list\":{\"esr-system-info\":"
113                 + "[{\"esr-system-info-id\":\"234567\",\"system-name\":\"EMS_TEST\",\"type\":\"sftp\","
114                 + "\"vendor\":\"ZTE\",\"version\":\"V1\",\"user-name\":\"nancy\",\"password\":\"asdf\","
115                 + "\"system-type\":\"EMS_RESOUCE\",\"ip-address\":\"ip\",\"port\":\"5000\","
116                 + "\"passive\":true,\"remote-path\":\"/home/per\"},{\"esr-system-info-id\":\"345678\","
117                 + "\"system-name\":\"EMS_TEST\",\"type\":\"sftp\",\"vendor\":\"ZTE\",\"version\":\"V1\","
118                 + "\"user-name\":\"nancy\",\"password\":\"asdf\",\"system-type\":\"EMS_PERFORMANCE\","
119                 + "\"ip-address\":\"ip\",\"port\":\"5000\",\"passive\":true,"
120                 + "\"remote-path\":\"/home/per\"},{\"esr-system-info-id\":\"456789\","
121                 + "\"system-name\":\"EMS_TEST\",\"vendor\":\"ZTE\",\"version\":\"V1\","
122                 + "\"user-name\":\"nancy\",\"password\":\"987654\",\"system-type\":\"EMS_ALARM\","
123                 + "\"ip-address\":\"ip\",\"port\":\"5000\"}]}}";
124         ExternalSystemProxy mockExternalSystemProxy = Mockito.mock(ExternalSystemProxy.class);
125         Mockito.when(mockExternalSystemProxy.queryEmsDetail(Mockito.anyString())).thenReturn(emsDetailStr);
126         EmsManagerWrapper emsManagerWrapper = new EmsManagerWrapper(mockExternalSystemProxy);
127         
128         Response response = emsManagerWrapper.queryEmsById("123456");
129         if (response != null) {
130             Assert.assertTrue(response.getStatus() == 200);
131             assertEquals(extsysUtil.objectToString(emsRegisterInfo), extsysUtil.objectToString(response.getEntity()));
132         }
133     }
134     
135     @Test
136     public void test_queryEmsList() throws ExtsysException {
137         ExtsysUtil extsysUtil = new ExtsysUtil();
138         List<EmsRegisterInfo> emsList = new ArrayList<>();
139         EmsRegisterInfo emsRegisterInfo = new EmsRegisterInfo();
140         AlarmAddr alarmAddr = new AlarmAddr();
141         FtpAddr resourceAddr = new FtpAddr();
142         FtpAddr performanceAddr = new FtpAddr();
143         alarmAddr.setIp("ip");
144         alarmAddr.setPassword("987654");
145         alarmAddr.setPort("5000");
146         alarmAddr.setUser("nancy");
147         resourceAddr.setFtptype("sftp");
148         resourceAddr.setIp("ip");
149         resourceAddr.setPassive(true);
150         resourceAddr.setPassword("asdf");
151         resourceAddr.setPort("5000");
152         resourceAddr.setRemotepath("/home/per");
153         resourceAddr.setUser("nancy");
154         performanceAddr.setFtptype("sftp");
155         performanceAddr.setIp("ip");
156         performanceAddr.setPassive(true);
157         performanceAddr.setPassword("asdf");
158         performanceAddr.setPort("5000");
159         performanceAddr.setRemotepath("/home/per");
160         performanceAddr.setUser("nancy");
161         emsRegisterInfo.setName("EMS_TEST");
162         emsRegisterInfo.setVendor("ZTE");
163         emsRegisterInfo.setVersion("V1");
164         emsRegisterInfo.setAlarmAddr(alarmAddr);
165         emsRegisterInfo.setResourceAddr(resourceAddr);
166         emsRegisterInfo.setPerformanceAddr(performanceAddr);
167         emsRegisterInfo.setEmsId("123456");
168         emsList.add(emsRegisterInfo);
169         String emsDetailStr = "{\"ems-id\":\"123456\",\"esr-system-info-list\":{\"esr-system-info\":"
170                 + "[{\"esr-system-info-id\":\"234567\",\"system-name\":\"EMS_TEST\",\"type\":\"sftp\","
171                 + "\"vendor\":\"ZTE\",\"version\":\"V1\",\"user-name\":\"nancy\",\"password\":\"asdf\","
172                 + "\"system-type\":\"EMS_RESOUCE\",\"ip-address\":\"ip\",\"port\":\"5000\","
173                 + "\"passive\":true,\"remote-path\":\"/home/per\"},{\"esr-system-info-id\":\"345678\","
174                 + "\"system-name\":\"EMS_TEST\",\"type\":\"sftp\",\"vendor\":\"ZTE\",\"version\":\"V1\","
175                 + "\"user-name\":\"nancy\",\"password\":\"asdf\",\"system-type\":\"EMS_PERFORMANCE\","
176                 + "\"ip-address\":\"ip\",\"port\":\"5000\",\"passive\":true,"
177                 + "\"remote-path\":\"/home/per\"},{\"esr-system-info-id\":\"456789\","
178                 + "\"system-name\":\"EMS_TEST\",\"vendor\":\"ZTE\",\"version\":\"V1\","
179                 + "\"user-name\":\"nancy\",\"password\":\"987654\",\"system-type\":\"EMS_ALARM\","
180                 + "\"ip-address\":\"ip\",\"port\":\"5000\"}]}}";
181         String emsListStr = "{\"esr-ems\": [ {\"ems-id\": \"123456\",\"resource-version\": \"1\"}]}";
182         ExternalSystemProxy mockExternalSystemProxy = Mockito.mock(ExternalSystemProxy.class);
183         Mockito.when(mockExternalSystemProxy.queryEmsDetail(Mockito.anyString())).thenReturn(emsDetailStr);
184         Mockito.when(mockExternalSystemProxy.queryEmsList()).thenReturn(emsListStr);
185         EmsManagerWrapper emsManagerWrapper = new EmsManagerWrapper(mockExternalSystemProxy);
186         Response response = emsManagerWrapper.queryEmsList();
187         if (response != null) {
188             Assert.assertTrue(response.getStatus() == 200);
189             assertEquals(extsysUtil.objectToString(emsList), extsysUtil.objectToString(response.getEntity()));
190         }
191     }
192     
193     @Test
194     public void test_updateEms() throws ExtsysException {
195         EmsRegisterInfo emsRegisterInfo = new EmsRegisterInfo();
196         AlarmAddr alarmAddr = new AlarmAddr();
197         FtpAddr resourceAddr = new FtpAddr();
198         FtpAddr performanceAddr = new FtpAddr();
199         alarmAddr.setIp("ip");
200         alarmAddr.setPassword("987654");
201         alarmAddr.setPort("5000");
202         alarmAddr.setUser("nancy");
203         resourceAddr.setFtptype("sftp");
204         resourceAddr.setIp("ip");
205         resourceAddr.setPassive(true);
206         resourceAddr.setPassword("asdf");
207         resourceAddr.setPort("5000");
208         resourceAddr.setRemotepath("/home/per");
209         resourceAddr.setUser("nancy");
210         performanceAddr.setFtptype("sftp");
211         performanceAddr.setIp("ip");
212         performanceAddr.setPassive(true);
213         performanceAddr.setPassword("asdf");
214         performanceAddr.setPort("5000");
215         performanceAddr.setRemotepath("/home/per");
216         performanceAddr.setUser("nancy");
217         emsRegisterInfo.setName("EMS_TEST");
218         emsRegisterInfo.setVendor("ZTE");
219         emsRegisterInfo.setVersion("V1");
220         emsRegisterInfo.setAlarmAddr(alarmAddr);
221         emsRegisterInfo.setResourceAddr(resourceAddr);
222         emsRegisterInfo.setPerformanceAddr(performanceAddr);
223         emsRegisterInfo.setEmsId("123456");
224         String emsDetailStr = "{\"ems-id\":\"123456\",\"esr-system-info-list\":{\"esr-system-info\":"
225                 + "[{\"esr-system-info-id\":\"234567\",\"system-name\":\"EMS_TEST\",\"type\":\"sftp\","
226                 + "\"vendor\":\"ZTE\",\"version\":\"V1\",\"user-name\":\"nancy\",\"password\":\"asdf\","
227                 + "\"system-type\":\"EMS_RESOUCE\",\"ip-address\":\"ip\",\"port\":\"5000\","
228                 + "\"passive\":true,\"remote-path\":\"/home/per\"},{\"esr-system-info-id\":\"345678\","
229                 + "\"system-name\":\"EMS_TEST\",\"type\":\"sftp\",\"vendor\":\"ZTE\",\"version\":\"V1\","
230                 + "\"user-name\":\"nancy\",\"password\":\"asdf\",\"system-type\":\"EMS_PERFORMANCE\","
231                 + "\"ip-address\":\"ip\",\"port\":\"5000\",\"passive\":true,"
232                 + "\"remote-path\":\"/home/per\"},{\"esr-system-info-id\":\"456789\","
233                 + "\"system-name\":\"EMS_TEST\",\"vendor\":\"ZTE\",\"version\":\"V1\","
234                 + "\"user-name\":\"nancy\",\"password\":\"987654\",\"system-type\":\"EMS_ALARM\","
235                 + "\"ip-address\":\"ip\",\"port\":\"5000\"}]}}";
236         ExternalSystemProxy mockExternalSystemProxy = Mockito.mock(ExternalSystemProxy.class);
237         Mockito.when(mockExternalSystemProxy.queryEmsDetail(Mockito.anyString())).thenReturn(emsDetailStr);
238         Mockito.doNothing().when(mockExternalSystemProxy).registerEms(Mockito.anyString(), (EsrEmsDetail)Mockito.anyObject());
239         EmsManagerWrapper emsManagerWrapper = new EmsManagerWrapper(mockExternalSystemProxy);
240         Response response = emsManagerWrapper.updateEms(emsRegisterInfo, "123456");
241         if (response != null) {
242             Assert.assertTrue(response.getStatus() == 200);
243         }
244     }
245     
246     @Test
247     public void test_delEms() throws ExtsysException {
248         String emsDetailStr = "{\"ems-id\":\"123456\",\"esr-system-info-list\":{\"esr-system-info\":"
249                 + "[{\"esr-system-info-id\":\"234567\",\"system-name\":\"EMS_TEST\",\"type\":\"sftp\","
250                 + "\"vendor\":\"ZTE\",\"version\":\"V1\",\"user-name\":\"nancy\",\"password\":\"asdf\","
251                 + "\"system-type\":\"EMS_RESOUCE\",\"ip-address\":\"ip\",\"port\":\"5000\","
252                 + "\"passive\":true,\"remote-path\":\"/home/per\"},{\"esr-system-info-id\":\"345678\","
253                 + "\"system-name\":\"EMS_TEST\",\"type\":\"sftp\",\"vendor\":\"ZTE\",\"version\":\"V1\","
254                 + "\"user-name\":\"nancy\",\"password\":\"asdf\",\"system-type\":\"EMS_PERFORMANCE\","
255                 + "\"ip-address\":\"ip\",\"port\":\"5000\",\"passive\":true,"
256                 + "\"remote-path\":\"/home/per\"},{\"esr-system-info-id\":\"456789\","
257                 + "\"system-name\":\"EMS_TEST\",\"vendor\":\"ZTE\",\"version\":\"V1\","
258                 + "\"user-name\":\"nancy\",\"password\":\"987654\",\"system-type\":\"EMS_ALARM\","
259                 + "\"ip-address\":\"ip\",\"port\":\"5000\"}]}}";
260         ExternalSystemProxy mockExternalSystemProxy = Mockito.mock(ExternalSystemProxy.class);
261         Mockito.when(mockExternalSystemProxy.queryEmsDetail(Mockito.anyString())).thenReturn(emsDetailStr);
262         Mockito.doNothing().when(mockExternalSystemProxy).deleteEms(Mockito.anyString(), Mockito.anyString());
263         EmsManagerWrapper emsManagerWrapper = new EmsManagerWrapper(mockExternalSystemProxy);
264         Response response = emsManagerWrapper.delEms("123456");
265         if (response != null) {
266             Assert.assertTrue(response.getStatus() == 204);
267         }
268     }
269 }