UT for MSOinfra
[so.git] / mso-api-handlers / mso-api-handler-infra / src / test / java / org / openecomp / mso / apihandlerinfra / NetworkRequestHandlerTest.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 javax.ws.rs.core.Response;
32 import javax.ws.rs.core.UriInfo;
33
34 import mockit.Mock;
35 import mockit.MockUp;
36
37 import org.junit.Before;
38 import org.junit.Test;
39 import org.mockito.Mockito;
40 import org.openecomp.mso.apihandlerinfra.networkbeans.NetworkRequest;
41 import org.openecomp.mso.requestsdb.InfraActiveRequests;
42 import org.openecomp.mso.requestsdb.InfraRequests;
43 import org.openecomp.mso.requestsdb.RequestsDatabase;
44
45 public class NetworkRequestHandlerTest {
46
47         NetworkRequestHandler handler = null;
48         
49 UriInfo uriInfo = null;
50         
51         @Before
52         public void setup() throws Exception{
53                 
54                 uriInfo = Mockito.mock(UriInfo.class);
55                 Class<?> clazz = NetworkRequestHandler.class;
56                 handler = (NetworkRequestHandler)clazz.newInstance();
57                 
58                 Field f1 = handler.getClass().getDeclaredField("uriInfo");
59                 
60                 f1.setAccessible(true);
61         f1.set(handler, uriInfo);
62         }
63         
64         @Test
65         public void manageVnfRequestTest(){
66                 Response resp = handler.manageNetworkRequest("<name>Test</name>", "v2");
67                 assertTrue(null != resp);
68         }
69         @Test
70         public void manageVnfRequestTestV1(){
71                 Response resp = handler.manageNetworkRequest("<name>Test</name>", "v1");
72                 assertTrue(null != resp);
73         }
74         
75         @Test
76         public void manageVnfRequestTestV3(){
77                 Response resp = handler.manageNetworkRequest("<name>Test</name>", "v3");
78                 assertTrue(null != resp);
79         }
80         
81         @Test
82         public void manageVnfRequestTestInvalidVersion(){
83                 Response resp = handler.manageNetworkRequest("<name>Test</name>", "v249");
84                 assertTrue(null != resp);
85         }
86         
87         @Test
88         public void manageVnfRequest2Test(){
89                 Mockito.when(uriInfo.getRequestUri())
90         .thenReturn(URI.create("http://localhost:8080/test"));
91                 
92                 new MockUp<MsoPropertiesUtils>() {
93                         @Mock
94                         public synchronized final boolean getNoPropertiesState() {
95                                 return false;
96                         }
97                 };
98                 Response resp = handler.manageNetworkRequest("<name>Test</name>", "v2");
99                 assertTrue(null != resp);
100         }
101         
102         @Test
103         public void fillNetworkRequestTestV1(){
104                 NetworkRequest qr = new NetworkRequest();
105                 InfraRequests ar = new InfraRequests();
106                 ar.setVnfId("1003");
107                 ar.setVnfName("vnf");
108                 ar.setVnfType("vnt");
109                 ar.setTenantId("48889690");
110                 ar.setProvStatus("uuu");
111                 ar.setVolumeGroupName("volume");
112                 ar.setVolumeGroupId("38838");
113                 ar.setServiceType("vnf");
114                 ar.setAicNodeClli("djerfe");
115                 ar.setAaiServiceId("599499");
116                 ar.setAicCloudRegion("south");
117                 ar.setVfModuleName("m1");
118                 ar.setVfModuleId("39949");
119                 ar.setVfModuleModelName("test");
120                 ar.setAaiServiceId("37728");
121                 ar.setVnfParams("test");
122                 handler.fillNetworkRequest(qr, ar, "v1");
123                 String param = (String)qr.getNetworkParams();
124                 assertTrue(param.equals("test"));
125         }
126         @Test
127         public void fillNetworkRequestTestV2(){
128                 NetworkRequest qr = new NetworkRequest();
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.fillNetworkRequest(qr, ar, "v2");
147                 String param = (String)qr.getNetworkParams();
148                 assertTrue(param.equals("test"));
149         }
150         @Test
151         public void fillNetworkRequestTestV3(){
152                 NetworkRequest qr = new NetworkRequest();
153                 InfraRequests ar = new InfraRequests();
154                 ar.setVnfId("1003");
155                 ar.setVnfName("vnf");
156                 ar.setVnfType("vnt");
157                 ar.setTenantId("48889690");
158                 ar.setProvStatus("uuu");
159                 ar.setVolumeGroupName("volume");
160                 ar.setVolumeGroupId("38838");
161                 ar.setServiceType("vnf");
162                 ar.setAicNodeClli("djerfe");
163                 ar.setAaiServiceId("599499");
164                 ar.setAicCloudRegion("south");
165                 ar.setVfModuleName("m1");
166                 ar.setVfModuleId("39949");
167                 ar.setVfModuleModelName("test");
168                 ar.setAaiServiceId("37728");
169                 ar.setVnfParams("test");
170                 handler.fillNetworkRequest(qr, ar, "v3");
171                 String param = (String)qr.getNetworkParams();
172                 assertTrue(param.equals("test"));
173         }
174         
175         @Test
176         public void queryFiltersTest(){
177                 new MockUp<RequestsDatabase>() {
178                         @Mock
179                         public List <InfraActiveRequests> getRequestListFromInfraActive (String queryAttributeName,
180                     String queryValue,
181                     String requestType) {
182                                 List <InfraActiveRequests> list = new ArrayList<InfraActiveRequests>();
183                                 InfraActiveRequests req = new InfraActiveRequests();
184                                 req.setAaiServiceId("299392");
185                                 req.setAction("CREATE");
186                                 req.setRequestStatus("COMPLETE");
187                                 req.setProgress(10001l);
188                                 req.setSource("test");
189                                 req.setStartTime(new Timestamp(10020100));
190                                 req.setEndTime(new Timestamp(20020100));
191                                 req.setStatusMessage("message");
192                                 list.add(req);
193                                 return list;
194                         }
195                 };
196                 Response resp = handler.queryFilters("networkType", "serviceType", "aicNodeClli", "tenantId", "v1");
197                 assertTrue(resp.getEntity().toString() != null);
198         }
199         
200         @Test
201         public void getRequestTest(){
202                 new MockUp<RequestsDatabase>() {
203                         @Mock
204                         public InfraActiveRequests getRequestFromInfraActive (String requestId, String requestType) {
205                                 InfraActiveRequests req = new InfraActiveRequests();
206                                 req.setAaiServiceId("299392");
207                                 req.setAction("CREATE");
208                                 req.setRequestStatus("COMPLETE");
209                                 req.setProgress(10001l);
210                                 req.setSource("test");
211                                 req.setStartTime(new Timestamp(10020100));
212                                 req.setEndTime(new Timestamp(20020100));
213                                 req.setStatusMessage("message");
214                                 return req;
215                         }
216                 };
217                 Response resp = handler.getRequest("388293", "v1");
218                 assertTrue(resp.getEntity().toString() != null);
219         }
220         
221 }