Change the unit test about VNFM with mock.
[aai/esr-server.git] / esr-mgr / src / test / java / org / onap / aai / esr / wrapper / VnfmManagerWrapperTest.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.EsrVnfmDetail;
27 import org.onap.aai.esr.entity.rest.VnfmRegisterInfo;
28 import org.onap.aai.esr.exception.ExtsysException;
29 import org.onap.aai.esr.externalservice.aai.ExternalSystemProxy;
30 import org.onap.aai.esr.util.ExtsysUtil;
31
32 public class VnfmManagerWrapperTest {
33
34     static {
35         MsbConfig.setMsbServerAddr("http://127.0.0.1:80");
36     }
37
38     @Test
39     public void test_registerVnfm() throws ExtsysException {
40         VnfmRegisterInfo vnfmRegisterInfo = new VnfmRegisterInfo();
41         vnfmRegisterInfo.setVimId("987654");
42         vnfmRegisterInfo.setVersion("v1");
43         vnfmRegisterInfo.setVendor("zte");
44         vnfmRegisterInfo.setUserName("onap");
45         vnfmRegisterInfo.setUrl("http://ip:8000");
46         vnfmRegisterInfo.setType("vnfm");
47         vnfmRegisterInfo.setPassword("987654");
48         vnfmRegisterInfo.setName("ONAP VNFM");
49         vnfmRegisterInfo.setCertificateUrl("http://ip:5000/v3");
50         ExternalSystemProxy mockExternalSystemProxy = Mockito.mock(ExternalSystemProxy.class);
51         Mockito.doNothing().when(mockExternalSystemProxy).registerVnfm(Mockito.anyString(), (EsrVnfmDetail)Mockito.anyObject());
52         VnfmManagerWrapper vnfmManagerWrapper = new VnfmManagerWrapper(mockExternalSystemProxy);
53         Response response = vnfmManagerWrapper.registerVnfm(vnfmRegisterInfo);
54         if (response != null) {
55             Assert.assertTrue(response.getStatus() == 200);
56         }
57     }
58
59     @Test
60     public void test_queryVnfmById() throws ExtsysException {
61         ExtsysUtil extsysUtil = new ExtsysUtil();
62         VnfmRegisterInfo vnfmRegisterInfo = new VnfmRegisterInfo();
63         vnfmRegisterInfo.setVimId("987654");
64         vnfmRegisterInfo.setVersion("v1");
65         vnfmRegisterInfo.setVendor("zte");
66         vnfmRegisterInfo.setUserName("onap");
67         vnfmRegisterInfo.setUrl("http://ip:8000");
68         vnfmRegisterInfo.setType("vnfm");
69         vnfmRegisterInfo.setPassword("987654");
70         vnfmRegisterInfo.setName("ONAP VNFM");
71         vnfmRegisterInfo.setCertificateUrl("http://ip:5000/v3");
72         vnfmRegisterInfo.setVnfmId("123456");
73         String esrVnfmDetailStr = "{\"vnfm-id\":\"123456\",\"vim-id\":\"987654\","
74                 + "\"certificate-url\":\"http://ip:5000/v3\",\"esr-system-info-list\":{"
75                 + "\"esr-system-info\":[{\"esr-system-info-id\":\"qwerty\",\"system-name\":\"ONAP VNFM\","
76                 + "\"type\":\"vnfm\",\"vendor\":\"zte\",\"version\":\"v1\","
77                 + "\"service-url\":\"http://ip:8000\",\"user-name\":\"onap\","
78                 + "\"password\":\"987654\",\"system-type\":\"VNFM\"}]}}";
79         ExternalSystemProxy mockExternalSystemProxy = Mockito.mock(ExternalSystemProxy.class);
80         Mockito.when(mockExternalSystemProxy.queryVnfmDetail(Mockito.anyString())).thenReturn(esrVnfmDetailStr);
81         VnfmManagerWrapper vnfmManagerWrapper = new VnfmManagerWrapper(mockExternalSystemProxy);
82         Response response = vnfmManagerWrapper.queryVnfmById("123456");
83         if (response != null) {
84             Assert.assertTrue(response.getStatus() == 200);
85             assertEquals(extsysUtil.objectToString(vnfmRegisterInfo), extsysUtil.objectToString(response.getEntity()));
86         }
87     }
88
89     @Test
90     public void test_queryVnfmList() throws ExtsysException {
91         ExtsysUtil extsysUtil = new ExtsysUtil();
92         List<VnfmRegisterInfo> vnfmList = new ArrayList<>();
93         VnfmRegisterInfo vnfmRegisterInfo = new VnfmRegisterInfo();
94         vnfmRegisterInfo.setVimId("987654");
95         vnfmRegisterInfo.setVersion("v1");
96         vnfmRegisterInfo.setVendor("zte");
97         vnfmRegisterInfo.setUserName("onap");
98         vnfmRegisterInfo.setUrl("http://ip:8000");
99         vnfmRegisterInfo.setType("vnfm");
100         vnfmRegisterInfo.setPassword("987654");
101         vnfmRegisterInfo.setName("ONAP VNFM");
102         vnfmRegisterInfo.setCertificateUrl("http://ip:5000/v3");
103         vnfmRegisterInfo.setVnfmId("123456");
104         vnfmList.add(vnfmRegisterInfo);
105         String vnfmListStr = "{\"esr-vnfm\": [{\"vnfm-id\": \"123456\",\"vim-id\": \"987654\","
106                 + "\"certificate-url\": \"http://ip:5000/v3\",\"resource-version\": \"1\"}]}";
107         String esrVnfmDetailStr = "{\"vnfm-id\":\"123456\",\"vim-id\":\"987654\","
108                 + "\"certificate-url\":\"http://ip:5000/v3\",\"esr-system-info-list\":{"
109                 + "\"esr-system-info\":[{\"esr-system-info-id\":\"qwerty\",\"system-name\":\"ONAP VNFM\","
110                 + "\"type\":\"vnfm\",\"vendor\":\"zte\",\"version\":\"v1\","
111                 + "\"service-url\":\"http://ip:8000\",\"user-name\":\"onap\","
112                 + "\"password\":\"987654\",\"system-type\":\"VNFM\"}]}}";
113         ExternalSystemProxy mockExternalSystemProxy = Mockito.mock(ExternalSystemProxy.class);
114         Mockito.when(mockExternalSystemProxy.queryVnfmList()).thenReturn(vnfmListStr);
115         Mockito.when(mockExternalSystemProxy.queryVnfmDetail(Mockito.anyString())).thenReturn(esrVnfmDetailStr);
116         VnfmManagerWrapper vnfmManagerWrapper = new VnfmManagerWrapper(mockExternalSystemProxy);
117         Response response = vnfmManagerWrapper.queryVnfmList();
118         if (response != null) {
119             Assert.assertTrue(response.getStatus() == 200);
120             assertEquals(extsysUtil.objectToString(vnfmList), extsysUtil.objectToString(response.getEntity()));
121         }
122     }
123
124     @Test
125     public void test_delVnfm() throws ExtsysException {
126         ExternalSystemProxy mockExternalSystemProxy = Mockito.mock(ExternalSystemProxy.class);
127         Mockito.doNothing().when(mockExternalSystemProxy).deleteVnfm(Mockito.anyString(), Mockito.anyString());
128         VnfmManagerWrapper vnfmManagerWrapper = new VnfmManagerWrapper(mockExternalSystemProxy);
129         Response response = vnfmManagerWrapper.delVnfm("123456");
130         if (response != null) {
131             Assert.assertTrue(response.getStatus() == 204);
132         }
133     }
134
135     @Test
136     public void test_updateVnfm() throws ExtsysException {
137         VnfmRegisterInfo vnfmRegisterInfo = new VnfmRegisterInfo();
138         vnfmRegisterInfo.setVimId("987654");
139         vnfmRegisterInfo.setVersion("v1");
140         vnfmRegisterInfo.setVendor("zte");
141         vnfmRegisterInfo.setUserName("onap");
142         vnfmRegisterInfo.setUrl("http://ip:8000");
143         vnfmRegisterInfo.setType("vnfm");
144         vnfmRegisterInfo.setPassword("987654");
145         vnfmRegisterInfo.setName("ONAP VNFM");
146         vnfmRegisterInfo.setCertificateUrl("http://ip:5000/v3");
147         vnfmRegisterInfo.setVnfmId("123456");
148         String esrVnfmDetailStr = "{\"vnfm-id\":\"123456\",\"vim-id\":\"987654\","
149                 + "\"certificate-url\":\"http://ip:5000/v3\",\"esr-system-info-list\":{"
150                 + "\"esr-system-info\":[{\"esr-system-info-id\":\"qwerty\",\"system-name\":\"ONAP VNFM\","
151                 + "\"type\":\"vnfm\",\"vendor\":\"zte\",\"version\":\"v1\","
152                 + "\"service-url\":\"http://ip:8000\",\"user-name\":\"onap\","
153                 + "\"password\":\"987654\",\"system-type\":\"VNFM\"}]}}";
154         ExternalSystemProxy mockExternalSystemProxy = Mockito.mock(ExternalSystemProxy.class);
155         Mockito.doNothing().when(mockExternalSystemProxy).registerVnfm(Mockito.anyString(), (EsrVnfmDetail)Mockito.anyObject());
156         Mockito.when(mockExternalSystemProxy.queryVnfmDetail(Mockito.anyString())).thenReturn(esrVnfmDetailStr);
157         VnfmManagerWrapper vnfmManagerWrapper = new VnfmManagerWrapper(mockExternalSystemProxy);
158         Response response = vnfmManagerWrapper.updateVnfm(vnfmRegisterInfo, "123456");
159         if (response != null) {
160             Assert.assertTrue(response.getStatus() == 200);
161         }
162     }
163 }