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