020c5667b732dc4abb8103c9008bdeee1b408ceb
[so.git] /
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
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
133     @Test
134     public void manageVnfRequest2TestInvalidVersion() {
135         Mockito.when(uriInfo.getRequestUri())
136                 .thenReturn(URI.create("http://localhost:8080/test"));
137
138         new MockUp<MsoPropertiesUtils>() {
139             @Mock
140             public synchronized final boolean getNoPropertiesState() {
141                 return false;
142             }
143         };
144         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>";
145         Response resp = handler.manageVolumeRequest(request, "v33");
146         assertTrue(null != resp);
147     }
148
149     @Test
150     public void queryFiltersTest() {
151         new MockUp<RequestsDatabase>() {
152             @Mock
153             public List<InfraActiveRequests> getRequestListFromInfraActive(String queryAttributeName,
154                                                                            String queryValue,
155                                                                            String requestType) {
156                 List<InfraActiveRequests> list = new ArrayList<>();
157                 InfraActiveRequests req = new InfraActiveRequests();
158                 req.setAaiServiceId("299392");
159                 req.setAction("CREATE");
160                 req.setRequestStatus("COMPLETE");
161                 req.setProgress(10001L);
162                 req.setSource("test");
163                 req.setStartTime(new Timestamp(10020100));
164                 req.setEndTime(new Timestamp(20020100));
165                 req.setStatusMessage("message");
166                 list.add(req);
167                 return list;
168             }
169         };
170         Response resp = handler.queryFilters("vnfType", "serviceType", "aic", "19929293", "288393923", "test", "v1");
171         assertTrue(resp.getEntity().toString() != null);
172     }
173
174     @Test
175     public void getRequestTestV3() {
176         new MockUp<RequestsDatabase>() {
177             @Mock
178             public InfraActiveRequests getRequestFromInfraActive(String requestId, String requestType) {
179                 InfraActiveRequests req = new InfraActiveRequests();
180                 req.setAaiServiceId("299392");
181                 req.setAction("CREATE");
182                 req.setRequestStatus("COMPLETE");
183                 req.setProgress(10001L);
184                 req.setSource("test");
185                 req.setStartTime(new Timestamp(10020100));
186                 req.setEndTime(new Timestamp(20020100));
187                 req.setStatusMessage("message");
188                 return req;
189             }
190         };
191         Response resp = handler.getRequest("399293", "v3");
192         assertTrue(resp.getEntity().toString() != null);
193     }
194
195     @Test
196     public void getRequestTestV2() {
197         new MockUp<RequestsDatabase>() {
198             @Mock
199             public InfraActiveRequests getRequestFromInfraActive(String requestId, String requestType) {
200                 InfraActiveRequests req = new InfraActiveRequests();
201                 req.setAaiServiceId("299392");
202                 req.setAction("CREATE");
203                 req.setRequestStatus("COMPLETE");
204                 req.setProgress(10001L);
205                 req.setSource("test");
206                 req.setStartTime(new Timestamp(10020100));
207                 req.setEndTime(new Timestamp(20020100));
208                 req.setStatusMessage("message");
209                 return req;
210             }
211         };
212         Response resp = handler.getRequest("399293", "v2");
213         assertTrue(resp.getEntity().toString() != null);
214     }
215 }