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 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 operationStatus.setResult("finish");
\r
723 return operationStatus;
\r
726 new MockUp<E2EServiceInstances>() {
\r
728 private void createOperationStatusRecordForError(Action action,
\r
729 String requestId) throws MsoDatabaseException {
\r
733 new MockUp<CatalogDatabase>() {
\r
735 public Service getServiceByModelName(String modelName) {
\r
736 Service svc = new Service();
\r
741 new MockUp<CatalogDatabase>() {
\r
743 public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,
\r
745 ServiceRecipe rec = new ServiceRecipe();
\r
750 new MockUp<RequestClientFactory>() {
\r
752 public RequestClient getRequestClient(String orchestrationURI,
\r
753 MsoJavaProperties props) throws IllegalStateException {
\r
754 RequestClient client = new CamundaClient();
\r
755 client.setUrl("/test/url");
\r
760 new MockUp<CamundaClient>() {
\r
762 public HttpResponse post(String requestId, boolean isBaseVfModule,
\r
763 int recipeTimeout, String requestAction,
\r
764 String serviceInstanceId, String vnfId, String vfModuleId,
\r
765 String volumeGroupId, String networkId, String configurationId, String serviceType,
\r
766 String vnfType, String vfModuleType, String networkType,
\r
767 String requestDetails, String recipeParamXsd) {
\r
768 ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
\r
769 HttpResponse resp = new BasicHttpResponse(pv, 202,
\r
771 BasicHttpEntity entity = new BasicHttpEntity();
\r
772 String body = "{\"response\":\"success\",\"message\":\"success\"}";
\r
773 InputStream instream = new ByteArrayInputStream(body.getBytes());
\r
774 entity.setContent(instream);
\r
775 resp.setEntity(entity);
\r
780 E2EServiceInstances instance = new E2EServiceInstances();
\r
781 String request = jsonBody;
\r
782 Response resp = instance.updateE2EServiceInstance(request, "v3", "12345");
\r
783 String respStr = resp.getEntity().toString();
\r
784 assertTrue(respStr.contains("success"));
\r
788 public void updateE2EServiceInstanceTestChkStatusFalse() {
\r
789 new MockUp<RequestsDatabase>() {
\r
791 public OperationStatus getOperationStatusByServiceId(
\r
792 String serviceID) {
\r
793 OperationStatus operationStatus = new OperationStatus();
\r
794 operationStatus.setResult("processing");
\r
795 return operationStatus;
\r
798 new MockUp<E2EServiceInstances>() {
\r
800 private void createOperationStatusRecordForError(Action action,
\r
801 String requestId) throws MsoDatabaseException {
\r
805 new MockUp<CatalogDatabase>() {
\r
807 public Service getServiceByModelName(String modelName) {
\r
808 Service svc = new Service();
\r
813 new MockUp<CatalogDatabase>() {
\r
815 public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,
\r
817 ServiceRecipe rec = new ServiceRecipe();
\r
822 new MockUp<RequestClientFactory>() {
\r
824 public RequestClient getRequestClient(String orchestrationURI,
\r
825 MsoJavaProperties props) throws IllegalStateException {
\r
826 RequestClient client = new CamundaClient();
\r
827 client.setUrl("/test/url");
\r
832 new MockUp<CamundaClient>() {
\r
834 public HttpResponse post(String requestId, boolean isBaseVfModule,
\r
835 int recipeTimeout, String requestAction,
\r
836 String serviceInstanceId, String vnfId, String vfModuleId,
\r
837 String volumeGroupId, String networkId, String configurationId, String serviceType,
\r
838 String vnfType, String vfModuleType, String networkType,
\r
839 String requestDetails, String recipeParamXsd) {
\r
840 ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
\r
841 HttpResponse resp = new BasicHttpResponse(pv, 202,
\r
843 BasicHttpEntity entity = new BasicHttpEntity();
\r
844 String body = "{\"response\":\"success\",\"message\":\"success\"}";
\r
845 InputStream instream = new ByteArrayInputStream(body.getBytes());
\r
846 entity.setContent(instream);
\r
847 resp.setEntity(entity);
\r
852 E2EServiceInstances instance = new E2EServiceInstances();
\r
853 String request = jsonBody;
\r
854 Response resp = instance.updateE2EServiceInstance(request, "v3", "12345");
\r
855 String respStr = resp.getEntity().toString();
\r
856 assertTrue(respStr.contains("SVC2000"));
\r
860 public void compareModelwithTargetVersionBadRequest(){
\r
862 E2EServiceInstances instance = new E2EServiceInstances();
\r
863 Response response = instance.compareModelwithTargetVersion("", "12345", "v3");
\r
865 assertNotNull(response);
\r
866 assertTrue(response.getEntity().toString().contains("Mapping of request to JSON object failed."));
\r
870 public void compareModelwithTargetVersionFailedBPMNCall(){
\r
872 new MockUp<CamundaClient>() {
\r
874 public HttpResponse post(String requestId, boolean isBaseVfModule,
\r
875 int recipeTimeout, String requestAction, String serviceInstanceId,
\r
876 String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
\r
877 String serviceType, String vnfType, String vfModuleType, String networkType,
\r
878 String requestDetails, String recipeParamXsd)
\r
879 throws ClientProtocolException, IOException {
\r
881 throw new ClientProtocolException();
\r
885 E2EServiceInstances instance = new E2EServiceInstances();
\r
886 Response response = instance.compareModelwithTargetVersion(compareModelsRequest, "12345", "v3");
\r
888 assertNotNull(response);
\r
889 assertTrue(response.getEntity().toString().contains("Failed calling bpmn"));
\r
894 public void compareModelwithTargetVersionSuccess(){
\r
896 new MockUp<CamundaClient>() {
\r
898 public HttpResponse post(String requestId, boolean isBaseVfModule,
\r
899 int recipeTimeout, String requestAction, String serviceInstanceId,
\r
900 String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
\r
901 String serviceType, String vnfType, String vfModuleType, String networkType,
\r
902 String requestDetails, String recipeParamXsd)
\r
903 throws ClientProtocolException, IOException {
\r
905 ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
\r
906 HttpResponse resp = new BasicHttpResponse(pv, 202,
\r
907 "compareModelwithTargetVersion, test response");
\r
908 BasicHttpEntity entity = new BasicHttpEntity();
\r
909 String body = "{\"response\":\"success\",\"message\":\"success\"}";
\r
910 InputStream instream = new ByteArrayInputStream(body.getBytes());
\r
911 entity.setContent(instream);
\r
912 resp.setEntity(entity);
\r
918 E2EServiceInstances instance = new E2EServiceInstances();
\r
919 Response response = instance.compareModelwithTargetVersion(compareModelsRequest, "12345", "v3");
\r
921 assertNotNull(response);
\r
922 assertTrue(response.getStatus()==202);
\r