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