2 * ============LICENSE_START=======================================================
\r
4 * ================================================================================
\r
5 * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
\r
6 * ================================================================================
\r
7 * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * you may not use this file except in compliance with the License.
\r
9 * You may obtain a copy of the License at
\r
11 * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * Unless required by applicable law or agreed to in writing, software
\r
14 * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * See the License for the specific language governing permissions and
\r
17 * limitations under the License.
\r
18 * ============LICENSE_END=========================================================
\r
21 package org.openecomp.mso.apihandlerinfra;
\r
23 import static org.junit.Assert.assertNotNull;
\r
24 import static org.junit.Assert.assertTrue;
\r
26 import java.io.ByteArrayInputStream;
\r
27 import java.io.IOException;
\r
28 import java.io.InputStream;
\r
29 import java.sql.Timestamp;
\r
30 import java.util.ArrayList;
\r
31 import java.util.Collections;
\r
32 import java.util.List;
\r
34 import javax.ws.rs.core.Response;
\r
36 import org.apache.http.HttpResponse;
\r
37 import org.apache.http.ProtocolVersion;
\r
38 import org.apache.http.client.ClientProtocolException;
\r
39 import org.apache.http.entity.BasicHttpEntity;
\r
40 import org.apache.http.message.BasicHttpResponse;
\r
41 import org.hibernate.HibernateException;
\r
42 import org.hibernate.Session;
\r
43 import org.hibernate.criterion.Criterion;
\r
44 import org.hibernate.criterion.Order;
\r
45 import org.hibernate.internal.SessionFactoryImpl;
\r
46 import org.junit.BeforeClass;
\r
47 import org.junit.Test;
\r
48 import org.junit.Ignore;
\r
49 import org.mockito.Mockito;
\r
50 import org.openecomp.mso.apihandler.common.CamundaClient;
\r
51 import org.openecomp.mso.apihandler.common.RequestClient;
\r
52 import org.openecomp.mso.apihandler.common.RequestClientFactory;
\r
53 import org.openecomp.mso.db.catalog.CatalogDatabase;
\r
54 import org.openecomp.mso.db.catalog.beans.Service;
\r
55 import org.openecomp.mso.db.catalog.beans.ServiceRecipe;
\r
56 import org.openecomp.mso.properties.MsoDatabaseException;
\r
57 import org.openecomp.mso.properties.MsoJavaProperties;
\r
58 import org.openecomp.mso.properties.MsoPropertiesFactory;
\r
59 import org.openecomp.mso.requestsdb.InfraActiveRequests;
\r
60 import org.openecomp.mso.requestsdb.OperationStatus;
\r
61 import org.openecomp.mso.requestsdb.RequestsDatabase;
\r
64 import mockit.MockUp;
\r
66 public class E2EServiceInstancesTest {
\r
68 String jsonBody = "{" +
\r
70 "\"name\": \"so_test4\"," +
\r
71 "\"description\": \"so_test2\"," +
\r
72 "\"serviceInvariantUuid\": \"60c3e96e-0970-4871-b6e0-3b6de7561519\"," +
\r
73 "\"serviceUuid\": \"592f9437-a9c0-4303-b9f6-c445bb7e9814\"," +
\r
74 "\"globalSubscriberId\": \"123457\"," +
\r
75 "\"serviceType\": \"voLTE\"," +
\r
76 "\"parameters\": {" +
\r
77 "\"resources\": [" +
\r
79 "\"resourceName\": \"vIMS\"," +
\r
80 "\"resourceInvariantUuid\": \"60c3e96e-0970-4871-b6e0-3b6de7561516\"," +
\r
81 "\"resourceUuid\": \"60c3e96e-0970-4871-b6e0-3b6de7561512\"," +
\r
82 "\"parameters\": {" +
\r
83 "\"locationConstraints\": [" +
\r
85 "\"vnfProfileId\": \"zte-vBAS-1.0\"," +
\r
86 "\"locationConstraints\": {" +
\r
87 "\"vimId\": \"4050083f-465f-4838-af1e-47a545222ad0\"" +
\r
91 "\"vnfProfileId\": \"zte-vMME-1.0\"," +
\r
92 "\"locationConstraints\": {" +
\r
93 "\"vimId\": \"4050083f-465f-4838-af1e-47a545222ad0\"" +
\r
100 "\"resourceName\": \"vEPC\"," +
\r
101 "\"resourceInvariantUuid\": \"61c3e96e-0970-4871-b6e0-3b6de7561516\"," +
\r
102 "\"resourceUuid\": \"62c3e96e-0970-4871-b6e0-3b6de7561512\"," +
\r
103 "\"parameters\": {" +
\r
104 "\"locationConstraints\": [" +
\r
106 "\"vnfProfileId\": \"zte-CSCF-1.0\"," +
\r
107 "\"locationConstraints\": {" +
\r
108 "\"vimId\": \"4050083f-465f-4838-af1e-47a545222ad1\"" +
\r
115 "\"resourceName\": \"underlayvpn\"," +
\r
116 "\"resourceInvariantUuid\": \"60c3e96e-0970-4871-b6e0-3b6de7561513\"," +
\r
117 "\"resourceUuid\": \"60c3e96e-0970-4871-b6e0-3b6de7561514\"," +
\r
118 "\"parameters\": {" +
\r
119 "\"locationConstraints\": []" +
\r
123 "\"resourceName\": \"overlayvpn\"," +
\r
124 "\"resourceInvariantUuid\": \"60c3e96e-0970-4871-b6e0-3b6de7561517\"," +
\r
125 "\"resourceUuid\": \"60c3e96e-0970-4871-b6e0-3b6de7561518\"," +
\r
126 "\"parameters\": {" +
\r
127 "\"locationConstraints\": []" +
\r
131 "\"requestInputs\": {" +
\r
132 "\"externalDataNetworkName\": \"Flow_out_net\"," +
\r
133 "\"m6000_mng_ip\": \"181.18.20.2\"," +
\r
134 "\"externalCompanyFtpDataNetworkName\": \"Flow_out_net\"," +
\r
135 "\"externalPluginManageNetworkName\": \"plugin_net_2014\"," +
\r
136 "\"externalManageNetworkName\": \"mng_net_2017\"," +
\r
137 "\"sfc_data_network\": \"sfc_data_net_2016\"," +
\r
138 "\"NatIpRange\": \"210.1.1.10-210.1.1.20\"," +
\r
139 "\"location\": \"4050083f-465f-4838-af1e-47a545222ad0\"," +
\r
140 "\"sdncontroller\": \"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"" +
\r
146 private final String compareModelsRequest = "{" +
\r
147 "\"globalSubscriberId\": \"60c3e96e-0970-4871-b6e0-3b6de7561519\"," +
\r
148 "\"serviceType\": \"vnf\"," +
\r
149 "\"modelInvariantIdTarget\": \"60c3e96e-0970-4871-b6e0-3b6de1234567\"," +
\r
150 "\"modelVersionIdTarget\": \"modelVersionIdTarget\"" +
\r
154 public static void setUp() throws Exception {
\r
156 MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();
\r
157 msoPropertiesFactory.removeAllMsoProperties();
\r
158 msoPropertiesFactory.initializeMsoProperties(Constants.MSO_PROP_APIHANDLER_INFRA, "src/test/resources/mso.apihandler-infra.properties");
\r
162 public void createE2EServiceInstanceTestSuccess() {
\r
163 new MockUp<RequestsDatabase>() {
\r
165 public OperationStatus getOperationStatusByServiceName(
\r
166 String serviceName) {
\r
167 OperationStatus operationStatus = new OperationStatus();
\r
168 return operationStatus;
\r
171 new MockUp<E2EServiceInstances>() {
\r
173 private void createOperationStatusRecordForError(Action action,
\r
174 String requestId) throws MsoDatabaseException {
\r
178 new MockUp<CatalogDatabase>() {
\r
180 public Service getServiceByModelName(String modelName) {
\r
181 Service svc = new Service();
\r
186 new MockUp<CatalogDatabase>() {
\r
188 public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,
\r
190 ServiceRecipe rec = new ServiceRecipe();
\r
195 new MockUp<RequestClientFactory>() {
\r
197 public RequestClient getRequestClient(String orchestrationURI,
\r
198 MsoJavaProperties props) throws IllegalStateException {
\r
199 RequestClient client = new CamundaClient();
\r
200 client.setUrl("/test/url");
\r
205 new MockUp<CamundaClient>() {
\r
207 public HttpResponse post(String requestId, boolean isBaseVfModule,
\r
208 int recipeTimeout, String requestAction,
\r
209 String serviceInstanceId, String vnfId, String vfModuleId,
\r
210 String volumeGroupId, String networkId, String configurationId, String serviceType,
\r
211 String vnfType, String vfModuleType, String networkType,
\r
212 String requestDetails, String recipeParamXsd) {
\r
213 ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
\r
214 HttpResponse resp = new BasicHttpResponse(pv, 202,
\r
216 BasicHttpEntity entity = new BasicHttpEntity();
\r
217 String body = "{\"response\":\"success\",\"message\":\"success\"}";
\r
218 InputStream instream = new ByteArrayInputStream(body.getBytes());
\r
219 entity.setContent(instream);
\r
220 resp.setEntity(entity);
\r
225 E2EServiceInstances instance = new E2EServiceInstances();
\r
226 String request = jsonBody;
\r
227 Response resp = instance.createE2EServiceInstance(request, "v3");
\r
228 String respStr = resp.getEntity().toString();
\r
229 assertTrue(respStr.contains("SVC2000"));
\r
233 public void createE2EServiceInstanceTestBpelHTTPException() {
\r
234 new MockUp<RequestsDatabase>() {
\r
236 public OperationStatus getOperationStatusByServiceName(
\r
237 String serviceName) {
\r
238 OperationStatus operationStatus = new OperationStatus();
\r
239 return operationStatus;
\r
242 new MockUp<E2EServiceInstances>() {
\r
244 private void createOperationStatusRecordForError(Action action,
\r
245 String requestId) throws MsoDatabaseException {
\r
249 new MockUp<CatalogDatabase>() {
\r
251 public Service getServiceByModelName(String modelName) {
\r
252 Service svc = new Service();
\r
257 new MockUp<CatalogDatabase>() {
\r
259 public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,
\r
261 ServiceRecipe rec = new ServiceRecipe();
\r
266 new MockUp<RequestClientFactory>() {
\r
268 public RequestClient getRequestClient(String orchestrationURI,
\r
269 MsoJavaProperties props) throws IllegalStateException {
\r
270 RequestClient client = new CamundaClient();
\r
271 client.setUrl("/test/url");
\r
276 new MockUp<CamundaClient>() {
\r
278 public HttpResponse post(String requestId, boolean isBaseVfModule,
\r
279 int recipeTimeout, String requestAction,
\r
280 String serviceInstanceId, String vnfId, String vfModuleId,
\r
281 String volumeGroupId, String networkId, String configurationId, String serviceType,
\r
282 String vnfType, String vfModuleType, String networkType,
\r
283 String requestDetails, String recipeParamXsd) {
\r
284 ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
\r
285 HttpResponse resp = new BasicHttpResponse(pv, 500,
\r
287 BasicHttpEntity entity = new BasicHttpEntity();
\r
288 String body = "{\"response\":\"success\",\"message\":\"success\"}";
\r
289 InputStream instream = new ByteArrayInputStream(body.getBytes());
\r
290 entity.setContent(instream);
\r
291 resp.setEntity(entity);
\r
296 E2EServiceInstances instance = new E2EServiceInstances();
\r
297 String request = jsonBody;
\r
298 Response resp = instance.createE2EServiceInstance(request, "v3");
\r
299 String respStr = resp.getEntity().toString();
\r
300 assertTrue(respStr.contains("SVC2000"));
\r
304 public void createE2EServiceInstanceTestBpelHTTPExceptionWithNullREsponseBody() {
\r
305 new MockUp<RequestsDatabase>() {
\r
307 public OperationStatus getOperationStatusByServiceName(
\r
308 String serviceName) {
\r
309 OperationStatus operationStatus = new OperationStatus();
\r
310 return operationStatus;
\r
313 new MockUp<E2EServiceInstances>() {
\r
315 private void createOperationStatusRecordForError(Action action,
\r
316 String requestId) throws MsoDatabaseException {
\r
320 new MockUp<CatalogDatabase>() {
\r
322 public Service getServiceByModelName(String modelName) {
\r
323 Service svc = new Service();
\r
328 new MockUp<CatalogDatabase>() {
\r
330 public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,
\r
332 ServiceRecipe rec = new ServiceRecipe();
\r
337 new MockUp<RequestClientFactory>() {
\r
339 public RequestClient getRequestClient(String orchestrationURI,
\r
340 MsoJavaProperties props) throws IllegalStateException {
\r
341 RequestClient client = new CamundaClient();
\r
342 client.setUrl("/test/url");
\r
347 new MockUp<CamundaClient>() {
\r
349 public HttpResponse post(String requestId, boolean isBaseVfModule,
\r
350 int recipeTimeout, String requestAction,
\r
351 String serviceInstanceId, String vnfId, String vfModuleId,
\r
352 String volumeGroupId, String networkId, String configurationId, String serviceType,
\r
353 String vnfType, String vfModuleType, String networkType,
\r
354 String requestDetails, String recipeParamXsd) {
\r
355 ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
\r
356 HttpResponse resp = new BasicHttpResponse(pv, 500,
\r
358 BasicHttpEntity entity = new BasicHttpEntity();
\r
359 String body = "{\"response\":\"\",\"message\":\"success\"}";
\r
360 InputStream instream = new ByteArrayInputStream(body.getBytes());
\r
361 entity.setContent(instream);
\r
362 resp.setEntity(entity);
\r
367 E2EServiceInstances instance = new E2EServiceInstances();
\r
368 String request = jsonBody;
\r
369 Response resp = instance.createE2EServiceInstance(request, "v3");
\r
370 String respStr = resp.getEntity().toString();
\r
371 assertTrue(respStr.contains("SVC2000"));
\r
375 public void createE2EServiceInstanceTestNullBPELResponse() {
\r
376 new MockUp<RequestsDatabase>() {
\r
378 public OperationStatus getOperationStatusByServiceName(
\r
379 String serviceName) {
\r
380 OperationStatus operationStatus = new OperationStatus();
\r
381 return operationStatus;
\r
384 new MockUp<E2EServiceInstances>() {
\r
386 private void createOperationStatusRecordForError(Action action,
\r
387 String requestId) throws MsoDatabaseException {
\r
391 new MockUp<CatalogDatabase>() {
\r
393 public Service getServiceByModelName(String modelName) {
\r
394 Service svc = new Service();
\r
399 new MockUp<CatalogDatabase>() {
\r
401 public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,
\r
403 ServiceRecipe rec = new ServiceRecipe();
\r
408 new MockUp<RequestClientFactory>() {
\r
410 public RequestClient getRequestClient(String orchestrationURI,
\r
411 MsoJavaProperties props) throws IllegalStateException {
\r
412 RequestClient client = new CamundaClient();
\r
413 client.setUrl("/test/url");
\r
418 new MockUp<CamundaClient>() {
\r
420 public HttpResponse post(String requestId, boolean isBaseVfModule,
\r
421 int recipeTimeout, String requestAction,
\r
422 String serviceInstanceId, String vnfId, String vfModuleId,
\r
423 String volumeGroupId, String networkId, String configurationId, String serviceType,
\r
424 String vnfType, String vfModuleType, String networkType,
\r
425 String requestDetails, String recipeParamXsd) {
\r
426 HttpResponse resp = null;
\r
431 E2EServiceInstances instance = new E2EServiceInstances();
\r
432 String request = jsonBody;
\r
433 Response resp = instance.createE2EServiceInstance(request, "v3");
\r
434 String respStr = resp.getEntity().toString();
\r
435 assertTrue(respStr.contains("SVC2000"));
\r
439 public void createE2EServiceInstanceTestBPMNNullREsponse() {
\r
440 new MockUp<RequestsDatabase>() {
\r
442 public OperationStatus getOperationStatusByServiceName(
\r
443 String serviceName) {
\r
444 OperationStatus operationStatus = new OperationStatus();
\r
445 return operationStatus;
\r
448 new MockUp<E2EServiceInstances>() {
\r
450 private void createOperationStatusRecordForError(Action action,
\r
451 String requestId) throws MsoDatabaseException {
\r
455 new MockUp<CatalogDatabase>() {
\r
457 public Service getServiceByModelName(String modelName) {
\r
458 Service svc = new Service();
\r
463 new MockUp<CatalogDatabase>() {
\r
465 public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,
\r
467 ServiceRecipe rec = new ServiceRecipe();
\r
472 new MockUp<RequestClientFactory>() {
\r
474 public RequestClient getRequestClient(String orchestrationURI,
\r
475 MsoJavaProperties props) throws IllegalStateException {
\r
476 RequestClient client = new CamundaClient();
\r
477 client.setUrl("/test/url");
\r
482 new MockUp<CamundaClient>() {
\r
484 public HttpResponse post(String camundaReqXML, String requestId,
\r
485 String requestTimeout, String schemaVersion,
\r
486 String serviceInstanceId, String action) {
\r
487 HttpResponse resp = null;
\r
491 E2EServiceInstances instance = new E2EServiceInstances();
\r
492 String request = jsonBody;
\r
493 Response resp = instance.createE2EServiceInstance(request, "v3");
\r
494 String respStr = resp.getEntity().toString();
\r
495 assertTrue(respStr.contains("SVC2000"));
\r
499 public void createE2EServiceInstanceTestNullBpmn() {
\r
500 new MockUp<RequestsDatabase>() {
\r
502 public OperationStatus getOperationStatusByServiceName(
\r
503 String serviceName) {
\r
504 OperationStatus operationStatus = new OperationStatus();
\r
505 return operationStatus;
\r
509 new MockUp<E2EServiceInstances>() {
\r
511 private void createOperationStatusRecordForError(Action action,
\r
512 String requestId) throws MsoDatabaseException {
\r
516 new MockUp<CatalogDatabase>() {
\r
518 public Service getServiceByModelName(String modelName) {
\r
519 Service svc = new Service();
\r
524 new MockUp<CatalogDatabase>() {
\r
526 public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,
\r
528 ServiceRecipe rec = new ServiceRecipe();
\r
532 E2EServiceInstances instance = new E2EServiceInstances();
\r
533 String request = jsonBody;;
\r
534 Response resp = instance.createE2EServiceInstance(request, "v3");
\r
535 String respStr = resp.getEntity().toString();
\r
536 assertTrue(respStr.contains("SVC2000"));
\r
540 public void createE2EServiceInstanceTestNullReceipe() {
\r
541 new MockUp<RequestsDatabase>() {
\r
543 public OperationStatus getOperationStatusByServiceName(
\r
544 String serviceName) {
\r
545 OperationStatus operationStatus = new OperationStatus();
\r
546 return operationStatus;
\r
549 new MockUp<E2EServiceInstances>() {
\r
551 private void createOperationStatusRecordForError(Action action,
\r
552 String requestId) throws MsoDatabaseException {
\r
557 E2EServiceInstances instance = new E2EServiceInstances();
\r
558 String request = jsonBody;
\r
559 Response resp = instance.createE2EServiceInstance(request, "v3");
\r
560 String respStr = resp.getEntity().toString();
\r
561 assertTrue(respStr.contains("SVC2000"));
\r
565 public void createE2EServiceInstanceTestNullDBResponse() {
\r
567 new MockUp<RequestsDatabase>() {
\r
569 public OperationStatus getOperationStatusByServiceName(
\r
570 String serviceName) {
\r
571 OperationStatus operationStatus = new OperationStatus();
\r
572 return operationStatus;
\r
575 new MockUp<E2EServiceInstances>() {
\r
577 private void createOperationStatusRecordForError(Action action,
\r
578 String requestId) throws MsoDatabaseException {
\r
583 E2EServiceInstances instance = new E2EServiceInstances();
\r
584 String request = jsonBody;
\r
585 Response resp = instance.createE2EServiceInstance(request, "v3");
\r
586 String respStr = resp.getEntity().toString();
\r
587 assertTrue(respStr.contains("SVC2000"));
\r
591 public void createE2EServiceInstanceTestInvalidRequest() {
\r
592 new MockUp<RequestsDatabase>() {
\r
594 public OperationStatus getOperationStatusByServiceName(
\r
595 String serviceName) {
\r
596 OperationStatus operationStatus = new OperationStatus();
\r
597 return operationStatus;
\r
601 new MockUp<E2EServiceInstances>() {
\r
603 private void createOperationStatusRecordForError(Action action,
\r
604 String requestId) throws MsoDatabaseException {
\r
608 E2EServiceInstances instance = new E2EServiceInstances();
\r
609 String request = jsonBody;
\r
610 Response resp = instance.createE2EServiceInstance(request, "v3");
\r
611 String respStr = resp.getEntity().toString();
\r
612 assertTrue(respStr.contains("SVC2000"));
\r
616 public void createE2EServiceInstanceTestEmptyDBQuery() {
\r
617 new MockUp<E2EServiceInstances>() {
\r
619 private void createOperationStatusRecordForError(Action action,
\r
620 String requestId) throws MsoDatabaseException {
\r
625 E2EServiceInstances instance = new E2EServiceInstances();
\r
626 String request = jsonBody;
\r
627 Response resp = instance.createE2EServiceInstance(request, "v3");
\r
628 String respStr = resp.getEntity().toString();
\r
629 assertTrue(respStr.contains("SVC2000"));
\r
630 // assertTrue(true);
\r
634 public void createE2EServiceInstanceTestDBQueryFail() {
\r
635 new MockUp<RequestsDatabase>() {
\r
637 public OperationStatus getOperationStatusByServiceName(
\r
638 String serviceName) {
\r
639 OperationStatus operationStatus = new OperationStatus();
\r
640 return operationStatus;
\r
644 new MockUp<E2EServiceInstances>() {
\r
646 private void createOperationStatusRecordForError(Action action,
\r
647 String requestId) throws MsoDatabaseException {
\r
651 E2EServiceInstances instance = new E2EServiceInstances();
\r
652 String request = jsonBody;
\r
653 Response resp = instance.createE2EServiceInstance(request, "v3");
\r
654 String respStr = resp.getEntity().toString();
\r
655 assertTrue(respStr.contains("SVC2000"));
\r
659 public void createE2EServiceInstanceTestForEmptyRequest() {
\r
661 new MockUp<E2EServiceInstances>() {
\r
663 private void createOperationStatusRecordForError(Action action,
\r
664 String requestId) throws MsoDatabaseException {
\r
668 E2EServiceInstances instance = new E2EServiceInstances();
\r
669 String request = "";
\r
670 Response resp = instance.createE2EServiceInstance(request, "v3");
\r
671 String respStr = resp.getEntity().toString();
\r
673 .contains("Mapping of request to JSON object failed. No content to map to Object due to end of input"));
\r
676 @Ignore // 1802 merge
\r
678 public void deleteE2EServiceInstanceTestNormal() {
\r
679 E2EServiceInstances instance = new E2EServiceInstances();
\r
680 String request = "{\"globalSubscriberId\":\"299392392\",\"serviceType\":\"VoLTE\"}";
\r
681 Response resp = instance.deleteE2EServiceInstance(request, "v3",
\r
683 String respStr = resp.getEntity().toString();
\r
684 assertTrue(respStr.contains("SVC1000"));
\r
688 public void getE2EServiceInstanceTest() {
\r
690 new MockUp<RequestsDatabase>() {
\r
692 public OperationStatus getOperationStatus(String serviceId,
\r
693 String operationId) {
\r
694 OperationStatus os = new OperationStatus();
\r
695 os.setOperation("");
\r
696 os.setOperationContent("");
\r
697 os.setOperationId("123456");
\r
698 os.setProgress("");
\r
699 os.setServiceId("12345");
\r
700 os.setServiceName("VoLTE");
\r
708 E2EServiceInstances instance = new E2EServiceInstances();
\r
709 Response resp = instance
\r
710 .getE2EServiceInstances("12345", "v3", "123456");
\r
715 public void updateE2EServiceInstanceTestNormal() {
\r
716 new MockUp<RequestsDatabase>() {
\r
718 public OperationStatus getOperationStatusByServiceId(
\r
719 String serviceID) {
\r
720 OperationStatus operationStatus = new OperationStatus();
\r
721 operationStatus.setProgress("100");
\r
722 return operationStatus;
\r
725 new MockUp<E2EServiceInstances>() {
\r
727 private void createOperationStatusRecordForError(Action action,
\r
728 String requestId) throws MsoDatabaseException {
\r
732 new MockUp<CatalogDatabase>() {
\r
734 public Service getServiceByModelName(String modelName) {
\r
735 Service svc = new Service();
\r
740 new MockUp<CatalogDatabase>() {
\r
742 public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,
\r
744 ServiceRecipe rec = new ServiceRecipe();
\r
749 new MockUp<RequestClientFactory>() {
\r
751 public RequestClient getRequestClient(String orchestrationURI,
\r
752 MsoJavaProperties props) throws IllegalStateException {
\r
753 RequestClient client = new CamundaClient();
\r
754 client.setUrl("/test/url");
\r
759 new MockUp<CamundaClient>() {
\r
761 public HttpResponse post(String requestId, boolean isBaseVfModule,
\r
762 int recipeTimeout, String requestAction,
\r
763 String serviceInstanceId, String vnfId, String vfModuleId,
\r
764 String volumeGroupId, String networkId, String configurationId, String serviceType,
\r
765 String vnfType, String vfModuleType, String networkType,
\r
766 String requestDetails, String recipeParamXsd) {
\r
767 ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
\r
768 HttpResponse resp = new BasicHttpResponse(pv, 202,
\r
770 BasicHttpEntity entity = new BasicHttpEntity();
\r
771 String body = "{\"response\":\"success\",\"message\":\"success\"}";
\r
772 InputStream instream = new ByteArrayInputStream(body.getBytes());
\r
773 entity.setContent(instream);
\r
774 resp.setEntity(entity);
\r
779 E2EServiceInstances instance = new E2EServiceInstances();
\r
780 String request = jsonBody;
\r
781 Response resp = instance.updateE2EServiceInstance(request, "v3", "12345");
\r
782 String respStr = resp.getEntity().toString();
\r
783 assertTrue(respStr.contains("success"));
\r
787 public void updateE2EServiceInstanceTestChkStatusFalse() {
\r
788 new MockUp<RequestsDatabase>() {
\r
790 public OperationStatus getOperationStatusByServiceId(
\r
791 String serviceID) {
\r
792 OperationStatus operationStatus = new OperationStatus();
\r
793 return operationStatus;
\r
796 new MockUp<E2EServiceInstances>() {
\r
798 private void createOperationStatusRecordForError(Action action,
\r
799 String requestId) throws MsoDatabaseException {
\r
803 new MockUp<CatalogDatabase>() {
\r
805 public Service getServiceByModelName(String modelName) {
\r
806 Service svc = new Service();
\r
811 new MockUp<CatalogDatabase>() {
\r
813 public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,
\r
815 ServiceRecipe rec = new ServiceRecipe();
\r
820 new MockUp<RequestClientFactory>() {
\r
822 public RequestClient getRequestClient(String orchestrationURI,
\r
823 MsoJavaProperties props) throws IllegalStateException {
\r
824 RequestClient client = new CamundaClient();
\r
825 client.setUrl("/test/url");
\r
830 new MockUp<CamundaClient>() {
\r
832 public HttpResponse post(String requestId, boolean isBaseVfModule,
\r
833 int recipeTimeout, String requestAction,
\r
834 String serviceInstanceId, String vnfId, String vfModuleId,
\r
835 String volumeGroupId, String networkId, String configurationId, String serviceType,
\r
836 String vnfType, String vfModuleType, String networkType,
\r
837 String requestDetails, String recipeParamXsd) {
\r
838 ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
\r
839 HttpResponse resp = new BasicHttpResponse(pv, 202,
\r
841 BasicHttpEntity entity = new BasicHttpEntity();
\r
842 String body = "{\"response\":\"success\",\"message\":\"success\"}";
\r
843 InputStream instream = new ByteArrayInputStream(body.getBytes());
\r
844 entity.setContent(instream);
\r
845 resp.setEntity(entity);
\r
850 E2EServiceInstances instance = new E2EServiceInstances();
\r
851 String request = jsonBody;
\r
852 Response resp = instance.updateE2EServiceInstance(request, "v3", "12345");
\r
853 String respStr = resp.getEntity().toString();
\r
854 assertTrue(respStr.contains("SVC2000"));
\r
858 public void compareModelwithTargetVersionBadRequest(){
\r
860 E2EServiceInstances instance = new E2EServiceInstances();
\r
861 Response response = instance.compareModelwithTargetVersion("", "12345", "v3");
\r
863 assertNotNull(response);
\r
864 assertTrue(response.getEntity().toString().contains("Mapping of request to JSON object failed."));
\r
868 public void compareModelwithTargetVersionFailedBPMNCall(){
\r
870 new MockUp<CamundaClient>() {
\r
872 public HttpResponse post(String requestId, boolean isBaseVfModule,
\r
873 int recipeTimeout, String requestAction, String serviceInstanceId,
\r
874 String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
\r
875 String serviceType, String vnfType, String vfModuleType, String networkType,
\r
876 String requestDetails, String recipeParamXsd)
\r
877 throws ClientProtocolException, IOException {
\r
879 throw new ClientProtocolException();
\r
883 E2EServiceInstances instance = new E2EServiceInstances();
\r
884 Response response = instance.compareModelwithTargetVersion(compareModelsRequest, "12345", "v3");
\r
886 assertNotNull(response);
\r
887 assertTrue(response.getEntity().toString().contains("Failed calling bpmn"));
\r
892 public void compareModelwithTargetVersionSuccess(){
\r
894 new MockUp<CamundaClient>() {
\r
896 public HttpResponse post(String requestId, boolean isBaseVfModule,
\r
897 int recipeTimeout, String requestAction, String serviceInstanceId,
\r
898 String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
\r
899 String serviceType, String vnfType, String vfModuleType, String networkType,
\r
900 String requestDetails, String recipeParamXsd)
\r
901 throws ClientProtocolException, IOException {
\r
903 ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
\r
904 HttpResponse resp = new BasicHttpResponse(pv, 202,
\r
905 "compareModelwithTargetVersion, test response");
\r
906 BasicHttpEntity entity = new BasicHttpEntity();
\r
907 String body = "{\"response\":\"success\",\"message\":\"success\"}";
\r
908 InputStream instream = new ByteArrayInputStream(body.getBytes());
\r
909 entity.setContent(instream);
\r
910 resp.setEntity(entity);
\r
916 E2EServiceInstances instance = new E2EServiceInstances();
\r
917 Response response = instance.compareModelwithTargetVersion(compareModelsRequest, "12345", "v3");
\r
919 assertNotNull(response);
\r
920 assertTrue(response.getStatus()==202);
\r