ac0fec076a0fa01b011f3665205481f7ca77b046
[so.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.mso.apihandlerinfra;
22
23 import static org.junit.Assert.assertTrue;
24
25 import java.lang.reflect.Field;
26 import java.net.URI;
27 import java.sql.Timestamp;
28 import java.util.ArrayList;
29 import java.util.List;
30
31 import mockit.Mock;
32 import mockit.MockUp;
33
34 import org.junit.Before;
35 import org.junit.Test;
36 import org.mockito.Mockito;
37 import org.openecomp.mso.apihandlerinfra.vnfbeans.VnfRequest;
38 import org.openecomp.mso.requestsdb.InfraActiveRequests;
39 import org.openecomp.mso.requestsdb.InfraRequests;
40 import org.openecomp.mso.requestsdb.RequestsDatabase;
41
42 import javax.ws.rs.core.Response;
43 import javax.ws.rs.core.UriInfo;
44
45 public class VnfRequestHandlerTest {
46     VnfRequestHandler handler = null;
47     UriInfo uriInfo = null;
48
49     @Before
50     public void setup() throws Exception {
51
52         uriInfo = Mockito.mock(UriInfo.class);
53         Class<?> clazz = VnfRequestHandler.class;
54         handler = (VnfRequestHandler) clazz.newInstance();
55
56         Field f1 = handler.getClass().getDeclaredField("uriInfo");
57
58         f1.setAccessible(true);
59         f1.set(handler, uriInfo);
60     }
61
62     @Test
63     public void manageVnfRequestTestV2() {
64         Response resp = handler.manageVnfRequest("<name>Test</name>", "v2");
65         assertTrue(null != resp);
66     }
67
68     @Test
69     public void manageVnfRequestTestv1() {
70         Response resp = handler.manageVnfRequest("<name>Test</name>", "v1");
71         assertTrue(null != resp);
72     }
73
74     @Test
75     public void manageVnfRequestTestv3() {
76         Response resp = handler.manageVnfRequest("<name>Test</name>", "v3");
77         assertTrue(null != resp);
78     }
79
80     @Test
81     public void manageVnfRequestTestInvalidVersion() {
82         Response resp = handler.manageVnfRequest("<name>Test</name>", "v30");
83         assertTrue(null != resp);
84     }
85
86     @Test
87     public void manageVnfRequest2Test() {
88         Mockito.when(uriInfo.getRequestUri())
89                 .thenReturn(URI.create("http://localhost:8080/test"));
90
91         new MockUp<MsoPropertiesUtils>() {
92             @Mock
93             public synchronized final boolean getNoPropertiesState() {
94                 return false;
95             }
96         };
97         Response resp = handler.manageVnfRequest("<name>Test</name>", "v2");
98         assertTrue(null != resp);
99     }
100
101     @Test
102     public void fillVnfRequestTest() {
103         VnfRequest qr = new VnfRequest();
104         InfraRequests ar = new InfraRequests();
105         ar.setVnfId("1003");
106         ar.setVnfName("vnf");
107         ar.setVnfType("vnt");
108         ar.setTenantId("48889690");
109         ar.setProvStatus("uuu");
110         ar.setVolumeGroupName("volume");
111         ar.setVolumeGroupId("38838");
112         ar.setServiceType("vnf");
113         ar.setAicNodeClli("djerfe");
114         ar.setAaiServiceId("599499");
115         ar.setAicCloudRegion("south");
116         ar.setVfModuleName("m1");
117         ar.setVfModuleId("39949");
118         ar.setVfModuleModelName("test");
119         ar.setAaiServiceId("37728");
120         ar.setVnfParams("test");
121         handler.fillVnfRequest(qr, ar, "v1");
122         String param = (String) qr.getVnfParams();
123         assertTrue(param.equals("test"));
124     }
125
126     @Test
127     public void fillVnfRequestTestV2() {
128         VnfRequest qr = new VnfRequest();
129         InfraRequests ar = new InfraRequests();
130         ar.setVnfId("1003");
131         ar.setVnfName("vnf");
132         ar.setVnfType("vnt");
133         ar.setTenantId("48889690");
134         ar.setProvStatus("uuu");
135         ar.setVolumeGroupName("volume");
136         ar.setVolumeGroupId("38838");
137         ar.setServiceType("vnf");
138         ar.setAicNodeClli("djerfe");
139         ar.setAaiServiceId("599499");
140         ar.setAicCloudRegion("south");
141         ar.setVfModuleName("m1");
142         ar.setVfModuleId("39949");
143         ar.setVfModuleModelName("test");
144         ar.setAaiServiceId("37728");
145         ar.setVnfParams("test");
146         handler.fillVnfRequest(qr, ar, "v2");
147         String param = (String) qr.getVnfParams();
148         assertTrue(param.equals("test"));
149     }
150
151     @Test
152     public void fillVnfRequestTestV3() {
153         VnfRequest qr = new VnfRequest();
154         InfraRequests ar = new InfraRequests();
155         ar.setVnfId("1003");
156         ar.setVnfName("vnf");
157         ar.setVnfType("vnt");
158         ar.setTenantId("48889690");
159         ar.setProvStatus("uuu");
160         ar.setVolumeGroupName("volume");
161         ar.setVolumeGroupId("38838");
162         ar.setServiceType("vnf");
163         ar.setAicNodeClli("djerfe");
164         ar.setAaiServiceId("599499");
165         ar.setAicCloudRegion("south");
166         ar.setVfModuleName("m1");
167         ar.setVfModuleId("39949");
168         ar.setVfModuleModelName("test");
169         ar.setAaiServiceId("37728");
170         ar.setVnfParams("test");
171         ar.setServiceInstanceId("38829");
172         handler.fillVnfRequest(qr, ar, "v3");
173         String param = (String) qr.getVnfParams();
174         assertTrue(param.equals("test"));
175     }
176
177     @Test
178     public void queryFiltersTest() {
179         new MockUp<RequestsDatabase>() {
180             @Mock
181             public List<InfraActiveRequests> getRequestListFromInfraActive(String queryAttributeName,
182                                                                            String queryValue,
183                                                                            String requestType) {
184                 List<InfraActiveRequests> list = new ArrayList<>();
185                 InfraActiveRequests req = new InfraActiveRequests();
186                 req.setAaiServiceId("299392");
187                 req.setAction("CREATE");
188                 req.setRequestStatus("COMPLETE");
189                 req.setProgress(10001L);
190                 req.setSource("test");
191                 req.setStartTime(new Timestamp(10020100));
192                 req.setEndTime(new Timestamp(20020100));
193                 req.setStatusMessage("message");
194                 list.add(req);
195                 return list;
196             }
197         };
198         Response resp = handler.queryFilters("vnfType", "serviceType", "aicNodeClli", "tenantId", "volumeGroupId", "volumeGroupName", "vnfName", "v1");
199         assertTrue(resp.getEntity().toString() != null);
200     }
201
202     @Test
203     public void queryFiltersTestNullVnfType() {
204         new MockUp<RequestsDatabase>() {
205             @Mock
206             public List<InfraActiveRequests> getRequestListFromInfraActive(String queryAttributeName,
207                                                                            String queryValue,
208                                                                            String requestType) {
209                 List<InfraActiveRequests> list = new ArrayList<>();
210                 InfraActiveRequests req = new InfraActiveRequests();
211                 req.setAaiServiceId("299392");
212                 req.setAction("CREATE");
213                 req.setRequestStatus("COMPLETE");
214                 req.setProgress(10001L);
215                 req.setSource("test");
216                 req.setStartTime(new Timestamp(10020100));
217                 req.setEndTime(new Timestamp(20020100));
218                 req.setStatusMessage("message");
219                 list.add(req);
220                 return list;
221             }
222         };
223         Response resp = handler.queryFilters(null, null, null, null, null, null, null, "v1");
224         assertTrue(resp.getEntity().toString() != null);
225     }
226
227     @Test
228     public void getRequestTest() {
229         new MockUp<RequestsDatabase>() {
230             @Mock
231             public InfraActiveRequests getRequestFromInfraActive(String requestId, String requestType) {
232                 InfraActiveRequests req = new InfraActiveRequests();
233                 req.setAaiServiceId("299392");
234                 req.setAction("CREATE");
235                 req.setRequestStatus("COMPLETE");
236                 req.setProgress(10001L);
237                 req.setSource("test");
238                 req.setStartTime(new Timestamp(10020100));
239                 req.setEndTime(new Timestamp(20020100));
240                 req.setStatusMessage("message");
241                 return req;
242             }
243         };
244         Response resp = handler.getRequest("388293", "v1");
245         assertTrue(resp.getEntity().toString() != null);
246     }
247
248 }