AT&T 1712 and 1802 release code
[so.git] / mso-api-handlers / mso-api-handler-infra / src / test / java / org / openecomp / mso / apihandlerinfra / VnfRequestHandlerTest.java
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                 Mockito.when(uriInfo.getRequestUri()).thenReturn(URI.create("http://localhost:8080/test"));
65                 Response resp = handler.manageVnfRequest("<name>Test</name>", "v2");
66                 assertTrue(null != resp);
67         }
68
69         @Test
70         public void manageVnfRequestTestv1(){
71                 Mockito.when(uriInfo.getRequestUri()).thenReturn(URI.create("http://localhost:8080/test"));
72                 Response resp = handler.manageVnfRequest("<name>Test</name>", "v1");
73                 assertTrue(null != resp);
74         }
75
76         @Test
77         public void manageVnfRequestTestv3(){
78                 Mockito.when(uriInfo.getRequestUri()).thenReturn(URI.create("http://localhost:8080/test"));
79                 Response resp = handler.manageVnfRequest("<name>Test</name>", "v3");
80                 assertTrue(null != resp);
81         }
82         @Test
83         public void manageVnfRequestTestInvalidVersion(){
84                 Response resp = handler.manageVnfRequest("<name>Test</name>", "v30");
85                 assertTrue(null != resp);
86         }
87         
88         @Test
89         public void manageVnfRequest2Test(){
90                 Mockito.when(uriInfo.getRequestUri())
91         .thenReturn(URI.create("http://localhost:8080/test"));
92                 
93                 new MockUp<MsoPropertiesUtils>() {
94                         @Mock
95                         public synchronized final boolean getNoPropertiesState() {
96                                 return false;
97                         }
98                 };
99                 Response resp = handler.manageVnfRequest("<name>Test</name>", "v2");
100                 assertTrue(null != resp);
101         }
102         
103         @Test
104         public void fillVnfRequestTest(){
105                 VnfRequest qr = new VnfRequest();
106                 InfraRequests ar = new InfraRequests();
107                 ar.setVnfId("1003");
108                 ar.setVnfName("vnf");
109                 ar.setVnfType("vnt");
110                 ar.setTenantId("48889690");
111                 ar.setProvStatus("uuu");
112                 ar.setVolumeGroupName("volume");
113                 ar.setVolumeGroupId("38838");
114                 ar.setServiceType("vnf");
115                 ar.setAicNodeClli("djerfe");
116                 ar.setAaiServiceId("599499");
117                 ar.setAicCloudRegion("south");
118                 ar.setVfModuleName("m1");
119                 ar.setVfModuleId("39949");
120                 ar.setVfModuleModelName("test");
121                 ar.setAaiServiceId("37728");
122                 ar.setVnfParams("test");
123                 handler.fillVnfRequest(qr, ar, "v1");
124                 String param = (String)qr.getVnfParams();
125                 assertTrue(param.equals("test"));
126         }
127         
128         @Test
129         public void fillVnfRequestTestV2(){
130                 VnfRequest qr = new VnfRequest();
131                 InfraRequests ar = new InfraRequests();
132                 ar.setVnfId("1003");
133                 ar.setVnfName("vnf");
134                 ar.setVnfType("vnt");
135                 ar.setTenantId("48889690");
136                 ar.setProvStatus("uuu");
137                 ar.setVolumeGroupName("volume");
138                 ar.setVolumeGroupId("38838");
139                 ar.setServiceType("vnf");
140                 ar.setAicNodeClli("djerfe");
141                 ar.setAaiServiceId("599499");
142                 ar.setAicCloudRegion("south");
143                 ar.setVfModuleName("m1");
144                 ar.setVfModuleId("39949");
145                 ar.setVfModuleModelName("test");
146                 ar.setAaiServiceId("37728");
147                 ar.setVnfParams("test");
148                 handler.fillVnfRequest(qr, ar, "v2");
149                 String param = (String)qr.getVnfParams();
150                 assertTrue(param.equals("test"));
151         }
152         @Test
153         public void fillVnfRequestTestV3(){
154                 VnfRequest qr = new VnfRequest();
155                 InfraRequests ar = new InfraRequests();
156                 ar.setVnfId("1003");
157                 ar.setVnfName("vnf");
158                 ar.setVnfType("vnt");
159                 ar.setTenantId("48889690");
160                 ar.setProvStatus("uuu");
161                 ar.setVolumeGroupName("volume");
162                 ar.setVolumeGroupId("38838");
163                 ar.setServiceType("vnf");
164                 ar.setAicNodeClli("djerfe");
165                 ar.setAaiServiceId("599499");
166                 ar.setAicCloudRegion("south");
167                 ar.setVfModuleName("m1");
168                 ar.setVfModuleId("39949");
169                 ar.setVfModuleModelName("test");
170                 ar.setAaiServiceId("37728");
171                 ar.setVnfParams("test");
172                 ar.setServiceInstanceId("38829");
173                 handler.fillVnfRequest(qr, ar, "v3");
174                 String param = (String)qr.getVnfParams();
175                 assertTrue(param.equals("test"));
176         }
177         
178         @Test
179         public void queryFiltersTest(){
180                 new MockUp<RequestsDatabase>() {
181                         @Mock
182                         public List <InfraActiveRequests> getRequestListFromInfraActive (String queryAttributeName,
183                     String queryValue,
184                     String requestType) {
185                                 List <InfraActiveRequests> list = new ArrayList<>();
186                                 InfraActiveRequests req = new InfraActiveRequests();
187                                 req.setAaiServiceId("299392");
188                                 req.setAction("CREATE");
189                                 req.setRequestStatus("COMPLETE");
190                                 req.setProgress(10001L);
191                                 req.setSource("test");
192                                 req.setStartTime(new Timestamp(10020100));
193                                 req.setEndTime(new Timestamp(20020100));
194                                 req.setStatusMessage("message");
195                                 list.add(req);
196                                 return list;
197                         }
198                 };
199                 Response resp = handler.queryFilters("vnfType", "serviceType", "aicNodeClli", "tenantId", "volumeGroupId", "volumeGroupName", "vnfName", "v1");
200                 assertTrue(resp.getEntity().toString() != null);
201         }
202         
203         @Test
204         public void queryFiltersTestNullVnfType(){
205                 new MockUp<RequestsDatabase>() {
206                         @Mock
207                         public List <InfraActiveRequests> getRequestListFromInfraActive (String queryAttributeName,
208                     String queryValue,
209                     String requestType) {
210                                 List <InfraActiveRequests> list = new ArrayList<>();
211                                 InfraActiveRequests req = new InfraActiveRequests();
212                                 req.setAaiServiceId("299392");
213                                 req.setAction("CREATE");
214                                 req.setRequestStatus("COMPLETE");
215                                 req.setProgress(10001L);
216                                 req.setSource("test");
217                                 req.setStartTime(new Timestamp(10020100));
218                                 req.setEndTime(new Timestamp(20020100));
219                                 req.setStatusMessage("message");
220                                 list.add(req);
221                                 return list;
222                         }
223                 };
224                 Response resp = handler.queryFilters(null, null, null, null, null, null, null, "v1");
225                 assertTrue(resp.getEntity().toString() != null);
226         }
227         
228         @Test
229         public void getRequestTest(){
230                 new MockUp<RequestsDatabase>() {
231                         @Mock
232                         public InfraActiveRequests getRequestFromInfraActive (String requestId, String requestType) {
233                                 InfraActiveRequests req = new InfraActiveRequests();
234                                 req.setAaiServiceId("299392");
235                                 req.setAction("CREATE");
236                                 req.setRequestStatus("COMPLETE");
237                                 req.setProgress(10001L);
238                                 req.setSource("test");
239                                 req.setStartTime(new Timestamp(10020100));
240                                 req.setEndTime(new Timestamp(20020100));
241                                 req.setStatusMessage("message");
242                                 return req;
243                         }
244                 };
245                 Response resp = handler.getRequest("388293", "v1");
246                 assertTrue(resp.getEntity().toString() != null);
247         }
248
249 }