UT for MSOinfra
[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                 Response resp = handler.manageVolumeRequest("<name>Test</name>", "v2");
66                 assertTrue(null != resp);
67         }
68         
69         @Test
70         public void manageVnfRequest2TestV1InvalidRequestData(){
71                 Mockito.when(uriInfo.getRequestUri())
72         .thenReturn(URI.create("http://localhost:8080/test"));
73                 
74                 new MockUp<MsoPropertiesUtils>() {
75                         @Mock
76                         public synchronized final boolean getNoPropertiesState() {
77                                 return false;
78                         }
79                 };
80                 String request = "{\"result\":\"success\"}";
81                 Response resp = handler.manageVolumeRequest(request, "v1");
82                 assertTrue(null != resp);
83         }
84         
85         @Test
86         public void manageVnfRequest2TestV1(){
87                 Mockito.when(uriInfo.getRequestUri())
88         .thenReturn(URI.create("http://localhost:8080/test"));
89                 
90                 new MockUp<MsoPropertiesUtils>() {
91                         @Mock
92                         public synchronized final boolean getNoPropertiesState() {
93                                 return false;
94                         }
95                 };
96                 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>";
97                 Response resp = handler.manageVolumeRequest(request, "v1");
98                 assertTrue(null != resp);
99         }
100         
101         @Test
102         public void manageVnfRequest2TestV2(){
103                 Mockito.when(uriInfo.getRequestUri())
104         .thenReturn(URI.create("http://localhost:8080/test"));
105                 
106                 new MockUp<MsoPropertiesUtils>() {
107                         @Mock
108                         public synchronized final boolean getNoPropertiesState() {
109                                 return false;
110                         }
111                 };
112                 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>";
113                 Response resp = handler.manageVolumeRequest(request, "v2");
114                 assertTrue(null != resp);
115         }
116         @Test
117         public void manageVnfRequest2TestV3(){
118                 Mockito.when(uriInfo.getRequestUri())
119         .thenReturn(URI.create("http://localhost:8080/test"));
120                 
121                 new MockUp<MsoPropertiesUtils>() {
122                         @Mock
123                         public synchronized final boolean getNoPropertiesState() {
124                                 return false;
125                         }
126                 };
127                 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>";
128                 Response resp = handler.manageVolumeRequest(request, "v3");
129                 assertTrue(null != resp);
130         }
131         @Test
132         public void manageVnfRequest2TestInvalidVersion(){
133                 Mockito.when(uriInfo.getRequestUri())
134         .thenReturn(URI.create("http://localhost:8080/test"));
135                 
136                 new MockUp<MsoPropertiesUtils>() {
137                         @Mock
138                         public synchronized final boolean getNoPropertiesState() {
139                                 return false;
140                         }
141                 };
142                 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>";
143                 Response resp = handler.manageVolumeRequest(request, "v33");
144                 assertTrue(null != resp);
145         }
146         
147         @Test
148         public void queryFiltersTest(){
149                 new MockUp<RequestsDatabase>() {
150                         @Mock
151                         public List <InfraActiveRequests> getRequestListFromInfraActive (String queryAttributeName,
152                     String queryValue,
153                     String requestType) {
154                                 List <InfraActiveRequests> list = new ArrayList<InfraActiveRequests>();
155                                 InfraActiveRequests req = new InfraActiveRequests();
156                                 req.setAaiServiceId("299392");
157                                 req.setAction("CREATE");
158                                 req.setRequestStatus("COMPLETE");
159                                 req.setProgress(10001l);
160                                 req.setSource("test");
161                                 req.setStartTime(new Timestamp(10020100));
162                                 req.setEndTime(new Timestamp(20020100));
163                                 req.setStatusMessage("message");
164                                 list.add(req);
165                                 return list;
166                         }
167                 };
168                 Response resp = handler.queryFilters("vnfType", "serviceType", "aic", "19929293", "288393923", "test", "v1");
169                 assertTrue(resp.getEntity().toString() != null);
170         }
171         @Test
172         public void getRequestTestV3(){
173                 new MockUp<RequestsDatabase>() {
174                         @Mock
175                         public InfraActiveRequests getRequestFromInfraActive (String requestId, String requestType) {
176                                 InfraActiveRequests req = new InfraActiveRequests();
177                                 req.setAaiServiceId("299392");
178                                 req.setAction("CREATE");
179                                 req.setRequestStatus("COMPLETE");
180                                 req.setProgress(10001l);
181                                 req.setSource("test");
182                                 req.setStartTime(new Timestamp(10020100));
183                                 req.setEndTime(new Timestamp(20020100));
184                                 req.setStatusMessage("message");
185                                 return req;
186                         }
187                 };
188                 Response resp = handler.getRequest("399293", "v3");
189                 assertTrue(resp.getEntity().toString() != null);
190         }
191         @Test
192         public void getRequestTestV2(){
193                 new MockUp<RequestsDatabase>() {
194                         @Mock
195                         public InfraActiveRequests getRequestFromInfraActive (String requestId, String requestType) {
196                                 InfraActiveRequests req = new InfraActiveRequests();
197                                 req.setAaiServiceId("299392");
198                                 req.setAction("CREATE");
199                                 req.setRequestStatus("COMPLETE");
200                                 req.setProgress(10001l);
201                                 req.setSource("test");
202                                 req.setStartTime(new Timestamp(10020100));
203                                 req.setEndTime(new Timestamp(20020100));
204                                 req.setStatusMessage("message");
205                                 return req;
206                         }
207                 };
208                 Response resp = handler.getRequest("399293", "v2");
209                 assertTrue(resp.getEntity().toString() != null);
210         }
211 }