AT&T 1712 and 1802 release code
[so.git] / mso-api-handlers / mso-api-handler-infra / src / test / java / org / openecomp / mso / apihandlerinfra / VolumeRequestHandlerTest.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.apihandler.common.ValidationException;
41 import org.openecomp.mso.properties.MsoJavaProperties;
42 import org.openecomp.mso.requestsdb.InfraActiveRequests;
43 import org.openecomp.mso.requestsdb.RequestsDatabase;
44
45 public class VolumeRequestHandlerTest {
46         VolumeRequestHandler handler = null;
47         
48     UriInfo uriInfo = null;
49         
50         @Before
51         public void setup() throws Exception{
52                 
53                 uriInfo = Mockito.mock(UriInfo.class);
54                 Class<?> clazz = VolumeRequestHandler.class;
55                 handler = (VolumeRequestHandler)clazz.newInstance();
56                 
57                 Field f1 = handler.getClass().getDeclaredField("uriInfo");
58                 
59                 f1.setAccessible(true);
60         f1.set(handler, uriInfo);
61         }
62         
63         @Test
64         public void manageVnfRequestTest(){
65                 Mockito.when(uriInfo.getRequestUri()).thenReturn(URI.create("http://localhost:8080/test"));
66                 Response resp = handler.manageVolumeRequest("<name>Test</name>", "v2");
67                 assertTrue(null != resp);
68         }
69         
70         @Test
71         public void manageVnfRequest2TestV1InvalidRequestData(){
72                 Mockito.when(uriInfo.getRequestUri())
73         .thenReturn(URI.create("http://localhost:8080/test"));
74                 
75                 new MockUp<MsoPropertiesUtils>() {
76                         @Mock
77                         public synchronized final boolean getNoPropertiesState() {
78                                 return false;
79                         }
80                 };
81                 String request = "{\"result\":\"success\"}";
82                 Response resp = handler.manageVolumeRequest(request, "v1");
83                 assertTrue(null != resp);
84         }
85         
86         @Test
87         public void manageVnfRequest2TestV1(){
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                 String request = "<volume-request xmlns=\"http://org.openecomp/mso/infra/volume-request/v1\"><request-info><action>CREATE</action><request-status>COMPLETE</request-status><status-message>message</status-message><progress>10001</progress><start-time>1970-01-01 02:47:00.1</start-time><end-time>1970-01-01 05:33:40.1</end-time><source>test</source></request-info><volume-inputs><service-id>299392</service-id></volume-inputs></volume-request>";
98                 Response resp = handler.manageVolumeRequest(request, "v1");
99                 assertTrue(null != resp);
100         }
101         
102         @Test
103         public void manageVnfRequest2TestV2(){
104                 Mockito.when(uriInfo.getRequestUri())
105         .thenReturn(URI.create("http://localhost:8080/test"));
106                 
107                 new MockUp<MsoPropertiesUtils>() {
108                         @Mock
109                         public synchronized final boolean getNoPropertiesState() {
110                                 return false;
111                         }
112                 };
113                 String request = "<volume-request xmlns=\"http://org.openecomp/mso/infra/volume-request/v2\"><request-info><action>CREATE</action><request-status>COMPLETE</request-status><status-message>message</status-message><progress>10001</progress><start-time>1970-01-01 02:47:00.1</start-time><end-time>1970-01-01 05:33:40.1</end-time><source>test</source></request-info><volume-inputs><service-id>299392</service-id></volume-inputs></volume-request>";
114                 Response resp = handler.manageVolumeRequest(request, "v2");
115                 assertTrue(null != resp);
116         }
117         @Test
118         public void manageVnfRequest2TestV3(){
119                 Mockito.when(uriInfo.getRequestUri())
120         .thenReturn(URI.create("http://localhost:8080/test"));
121                 
122                 new MockUp<MsoPropertiesUtils>() {
123                         @Mock
124                         public synchronized final boolean getNoPropertiesState() {
125                                 return false;
126                         }
127                 };
128                 String request = "<volume-request xmlns=\"http://org.openecomp/mso/infra/volume-request/v3\"><request-info><action>CREATE</action><request-status>COMPLETE</request-status><status-message>message</status-message><progress>10001</progress><start-time>1970-01-01 02:47:00.1</start-time><end-time>1970-01-01 05:33:40.1</end-time><source>test</source></request-info><volume-inputs><service-id>299392</service-id></volume-inputs></volume-request>";
129                 Response resp = handler.manageVolumeRequest(request, "v3");
130                 assertTrue(null != resp);
131         }
132         @Test
133         public void manageVnfRequest2TestInvalidVersion(){
134                 Mockito.when(uriInfo.getRequestUri())
135         .thenReturn(URI.create("http://localhost:8080/test"));
136                 
137                 new MockUp<MsoPropertiesUtils>() {
138                         @Mock
139                         public synchronized final boolean getNoPropertiesState() {
140                                 return false;
141                         }
142                 };
143                 String request = "<volume-request xmlns=\"http://org.openecomp/mso/infra/volume-request/v1\"><request-info><action>CREATE</action><request-status>COMPLETE</request-status><status-message>message</status-message><progress>10001</progress><start-time>1970-01-01 02:47:00.1</start-time><end-time>1970-01-01 05:33:40.1</end-time><source>test</source></request-info><volume-inputs><service-id>299392</service-id></volume-inputs></volume-request>";
144                 Response resp = handler.manageVolumeRequest(request, "v33");
145                 assertTrue(null != resp);
146         }
147         
148         @Test
149         public void queryFiltersTest(){
150                 new MockUp<RequestsDatabase>() {
151                         @Mock
152                         public List <InfraActiveRequests> getRequestListFromInfraActive (String queryAttributeName,
153                     String queryValue,
154                     String requestType) {
155                                 List <InfraActiveRequests> list = new ArrayList<>();
156                                 InfraActiveRequests req = new InfraActiveRequests();
157                                 req.setAaiServiceId("299392");
158                                 req.setAction("CREATE");
159                                 req.setRequestStatus("COMPLETE");
160                                 req.setProgress(10001L);
161                                 req.setSource("test");
162                                 req.setStartTime(new Timestamp(10020100));
163                                 req.setEndTime(new Timestamp(20020100));
164                                 req.setStatusMessage("message");
165                                 list.add(req);
166                                 return list;
167                         }
168                 };
169                 Response resp = handler.queryFilters("vnfType", "serviceType", "aic", "19929293", "288393923", "test", "v1");
170                 assertTrue(resp.getEntity().toString() != null);
171         }
172         @Test
173         public void getRequestTestV3(){
174                 new MockUp<RequestsDatabase>() {
175                         @Mock
176                         public InfraActiveRequests getRequestFromInfraActive (String requestId, String requestType) {
177                                 InfraActiveRequests req = new InfraActiveRequests();
178                                 req.setAaiServiceId("299392");
179                                 req.setAction("CREATE");
180                                 req.setRequestStatus("COMPLETE");
181                                 req.setProgress(10001L);
182                                 req.setSource("test");
183                                 req.setStartTime(new Timestamp(10020100));
184                                 req.setEndTime(new Timestamp(20020100));
185                                 req.setStatusMessage("message");
186                                 return req;
187                         }
188                 };
189                 Response resp = handler.getRequest("399293", "v3");
190                 assertTrue(resp.getEntity().toString() != null);
191         }
192         @Test
193         public void getRequestTestV2(){
194                 new MockUp<RequestsDatabase>() {
195                         @Mock
196                         public InfraActiveRequests getRequestFromInfraActive (String requestId, String requestType) {
197                                 InfraActiveRequests req = new InfraActiveRequests();
198                                 req.setAaiServiceId("299392");
199                                 req.setAction("CREATE");
200                                 req.setRequestStatus("COMPLETE");
201                                 req.setProgress(10001L);
202                                 req.setSource("test");
203                                 req.setStartTime(new Timestamp(10020100));
204                                 req.setEndTime(new Timestamp(20020100));
205                                 req.setStatusMessage("message");
206                                 return req;
207                         }
208                 };
209                 Response resp = handler.getRequest("399293", "v2");
210                 assertTrue(resp.getEntity().toString() != null);
211         }
212 }