2 * Copyright (c) 2018 Orange
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package org.onap.nbi.apis;
19 import static org.assertj.core.api.Assertions.assertThat;
20 import java.util.ArrayList;
21 import java.util.Date;
22 import java.util.List;
24 import javax.validation.Validation;
25 import javax.validation.Validator;
26 import javax.validation.ValidatorFactory;
27 import org.junit.After;
28 import org.junit.AfterClass;
29 import org.junit.BeforeClass;
30 import org.junit.Ignore;
31 import org.junit.Test;
32 import org.junit.runner.RunWith;
33 import org.onap.nbi.apis.assertions.ServiceCatalogAssertions;
34 import org.onap.nbi.apis.assertions.ServiceInventoryAssertions;
35 import org.onap.nbi.apis.assertions.ServiceOrderAssertions;
36 import org.onap.nbi.apis.servicecatalog.ServiceSpecificationResource;
37 import org.onap.nbi.apis.serviceinventory.ServiceInventoryResource;
38 import org.onap.nbi.apis.serviceorder.ServiceOrderResource;
39 import org.onap.nbi.apis.serviceorder.model.ActionType;
40 import org.onap.nbi.apis.serviceorder.model.RelatedParty;
41 import org.onap.nbi.apis.serviceorder.model.Service;
42 import org.onap.nbi.apis.serviceorder.model.ServiceOrder;
43 import org.onap.nbi.apis.serviceorder.model.ServiceOrderItem;
44 import org.onap.nbi.apis.serviceorder.model.StateType;
45 import org.onap.nbi.apis.serviceorder.model.orchestrator.ExecutionTask;
46 import org.onap.nbi.apis.serviceorder.repositories.ExecutionTaskRepository;
47 import org.onap.nbi.apis.serviceorder.repositories.ServiceOrderRepository;
48 import org.onap.nbi.apis.serviceorder.workflow.SOTaskProcessor;
49 import org.springframework.beans.factory.annotation.Autowired;
50 import org.springframework.boot.context.embedded.LocalServerPort;
51 import org.springframework.boot.test.context.SpringBootTest;
52 import org.springframework.http.ResponseEntity;
53 import org.springframework.test.context.junit4.SpringRunner;
54 import org.springframework.util.LinkedMultiValueMap;
55 import org.springframework.util.MultiValueMap;
56 import com.github.tomakehurst.wiremock.WireMockServer;
57 import com.github.tomakehurst.wiremock.stubbing.ListStubMappingsResult;
58 import com.github.tomakehurst.wiremock.stubbing.StubMapping;
60 @RunWith(SpringRunner.class)
61 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
62 public class ApiTest {
67 String realServerPort;
69 static public WireMockServer wireMockServer = new WireMockServer(8091);
72 ServiceSpecificationResource serviceSpecificationResource;
75 ServiceInventoryResource serviceInventoryResource;
78 ServiceOrderResource serviceOrderResource;
81 ServiceOrderRepository serviceOrderRepository;
84 ExecutionTaskRepository executionTaskRepository;
87 SOTaskProcessor SoTaskProcessor;
89 static Validator validator;
92 public static void setUp() throws Exception {
93 wireMockServer.start();
94 ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
95 validator = factory.getValidator();
99 public static void tearsDown() throws Exception {
100 wireMockServer.stop();
105 public void tearsDownUpPort() throws Exception {
106 executionTaskRepository.deleteAll();
107 serviceOrderRepository.deleteAll();
108 wireMockServer.resetToDefaultMappings();
113 public ExecutionTask getExecutionTask(String orderItemId) {
114 for (ExecutionTask executionTask : executionTaskRepository.findAll()) {
115 if (executionTask.getOrderItemId().equalsIgnoreCase(orderItemId)) {
116 return executionTask;
123 private void removeWireMockMapping(String s) {
124 ListStubMappingsResult listStubMappingsResult = wireMockServer.listAllStubMappings();
125 StubMapping mappingToDelete = null;
126 List<StubMapping> mappings = listStubMappingsResult.getMappings();
127 for (StubMapping mapping : mappings) {
128 if (mapping.getRequest().getUrl().equals(s)) {
129 mappingToDelete = mapping;
132 wireMockServer.removeStubMapping(mappingToDelete);
140 public void testServiceResourceGetCatalog() throws Exception {
142 ResponseEntity<Object> resource =
143 serviceSpecificationResource.getServiceSpecification("1e3feeb0-8e36-46c6-862c-236d9c626439", null);
144 ServiceCatalogAssertions.assertGetServiceCatalog(resource);
149 public void testServiceCatalogGetResourceWithoutTosca() throws Exception {
151 ResponseEntity<Object> resource = serviceSpecificationResource
152 .getServiceSpecification("1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca", null);
153 ServiceCatalogAssertions.assertGetServiceCatalogWithoutTosca(resource);
158 public void testServiceCatalogFind() throws Exception {
160 ResponseEntity<Object> resource = serviceSpecificationResource.findServiceSpecification(null);
161 ServiceCatalogAssertions.assertFindServiceCatalog(resource);
167 public void testServiceCatalogFindWithFilter() throws Exception {
169 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
170 params.add("fields", "name");
171 ResponseEntity<Object> resource = serviceSpecificationResource.findServiceSpecification(params);
172 ServiceCatalogAssertions.assertFindServiceCatalogWIthFilter(resource);
179 public void testServiceResourceGetInventory() throws Exception {
181 String serviceName = "vFW";
182 String serviceId = "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb";
183 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
184 params.add("serviceSpecification.name", serviceName);
185 params.add("relatedParty.id", "6490");
186 ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
187 ServiceInventoryAssertions.assertServiceInventoryGet(resource);
192 public void testServiceResourceGetInventoryWithoutRelationShipList() throws Exception {
194 String serviceName = "vFW";
195 String serviceId = "e4688e5f-61a0-4f8b-ae02-a2fbde623bcbWithoutList";
196 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
197 params.add("serviceSpecification.name", serviceName);
198 params.add("relatedParty.id", "6490");
199 ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
200 ServiceInventoryAssertions.assertServiceInventoryGetWithoutList(resource);
206 public void testServiceResourceGetInventoryWithServiceSpecId() throws Exception {
208 String serviceId = "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb";
209 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
210 params.add("serviceSpecification.id", "1e3feeb0-8e36-46c6-862c-236d9c626439");
211 params.add("relatedParty.id", "6490");
212 ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
213 ServiceInventoryAssertions.assertServiceInventoryGet(resource);
219 public void testServiceInventoryFind() throws Exception {
221 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
222 String serviceName = "vFW";
223 params.add("serviceSpecification.name", serviceName);
224 params.add("relatedParty.id", "6490");
226 ResponseEntity<Object> resource = serviceInventoryResource.findServiceInventory(params);
227 ServiceInventoryAssertions.assertServiceInventoryFind(resource);
233 public void testServiceInventoryFindWithServiceSpecId() throws Exception {
235 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
236 params.add("serviceSpecification.id", "1e3feeb0-8e36-46c6-862c-236d9c626439");
237 params.add("relatedParty.id", "6490");
239 ResponseEntity<Object> resource = serviceInventoryResource.findServiceInventory(params);
240 ServiceInventoryAssertions.assertServiceInventoryFind(resource);
246 public void testServiceInventoryFindWithoutParameter() throws Exception {
248 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
249 params.add("relatedParty.id", "6490");
251 ResponseEntity<Object> resource = serviceInventoryResource.findServiceInventory(params);
252 ServiceInventoryAssertions.assertServiceInventoryFindWithoutParameter(resource);
257 public void testCreateServiceOrderResource() throws Exception {
259 ResponseEntity<Object> serviceOrder = serviceOrderResource
260 .createServiceOrder(ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD), null, null);
261 assertThat(serviceOrder.getStatusCodeValue()).isEqualTo(201);
262 ServiceOrder body = (ServiceOrder) serviceOrder.getBody();
263 assertThat(body.getId()).isNotNull();
264 assertThat(body.getState()).isEqualTo(StateType.ACKNOWLEDGED);
270 public void testCheckServiceOrder() throws Exception {
272 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
273 testServiceOrder.setState(StateType.ACKNOWLEDGED);
274 testServiceOrder.setId("test");
275 serviceOrderRepository.save(testServiceOrder);
277 serviceOrderResource.scheduleCheckServiceOrders();
279 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
280 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
285 public void testCheckServiceOrderWithGenericCustomer() throws Exception {
287 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
288 testServiceOrder.setRelatedParty(new ArrayList<>());
289 testServiceOrder.setState(StateType.ACKNOWLEDGED);
290 testServiceOrder.setId("test");
291 serviceOrderRepository.save(testServiceOrder);
293 serviceOrderResource.scheduleCheckServiceOrders();
295 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
296 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
302 public void testCheckServiceOrderWithoutRelatedParty() throws Exception {
304 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
305 testServiceOrder.setRelatedParty(null);
306 testServiceOrder.setState(StateType.ACKNOWLEDGED);
307 testServiceOrder.setId("test");
308 serviceOrderRepository.save(testServiceOrder);
310 serviceOrderResource.scheduleCheckServiceOrders();
312 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
313 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
319 public void testCheckServiceOrderWithUnKnownCustomer() throws Exception {
321 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
322 List<RelatedParty> customers = new ArrayList<>();
323 RelatedParty customer = new RelatedParty();
324 customer.setId("new");
325 customer.setRole("ONAPcustomer");
326 customer.setName("romain");
327 customers.add(customer);
328 testServiceOrder.setRelatedParty(customers);
329 testServiceOrder.setState(StateType.ACKNOWLEDGED);
330 testServiceOrder.setId("test");
331 serviceOrderRepository.save(testServiceOrder);
333 serviceOrderResource.scheduleCheckServiceOrders();
335 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
336 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
342 public void testCheckServiceOrderWithCustomerAAINotResponding() throws Exception {
344 removeWireMockMapping("/aai/v11/business/customers/customer/new");
346 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
347 List<RelatedParty> customers = new ArrayList<>();
348 RelatedParty customer = new RelatedParty();
349 customer.setId("new");
350 customer.setRole("ONAPcustomer");
351 customer.setName("romain");
352 customers.add(customer);
353 testServiceOrder.setRelatedParty(customers);
354 testServiceOrder.setState(StateType.ACKNOWLEDGED);
355 testServiceOrder.setId("test");
356 serviceOrderRepository.save(testServiceOrder);
358 serviceOrderResource.scheduleCheckServiceOrders();
360 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
361 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
367 public void testCheckServiceOrderWithPutServiceAAINotResponding() throws Exception {
369 removeWireMockMapping("/aai/v11/business/customers/customer/new/service-subscriptions/service-subscription/vFW");
371 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
372 List<RelatedParty> customers = new ArrayList<>();
373 RelatedParty customer = new RelatedParty();
374 customer.setId("new");
375 customer.setRole("ONAPcustomer");
376 customer.setName("romain");
377 customers.add(customer);
378 testServiceOrder.setRelatedParty(customers);
379 testServiceOrder.setState(StateType.ACKNOWLEDGED);
380 testServiceOrder.setId("test");
381 serviceOrderRepository.save(testServiceOrder);
383 serviceOrderResource.scheduleCheckServiceOrders();
385 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
386 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
392 public void testCheckServiceOrderDelete() throws Exception {
394 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
395 testServiceOrder.setState(StateType.ACKNOWLEDGED);
396 testServiceOrder.setId("test");
397 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
398 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
400 serviceOrderRepository.save(testServiceOrder);
402 serviceOrderResource.scheduleCheckServiceOrders();
404 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
405 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
410 public void testCheckServiceOrderDeleteRejected() throws Exception {
412 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
413 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
414 serviceOrderItem.getService().setId("no_response");
417 testServiceOrder.setState(StateType.ACKNOWLEDGED);
418 testServiceOrder.setId("test");
419 serviceOrderRepository.save(testServiceOrder);
421 serviceOrderResource.scheduleCheckServiceOrders();
423 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
424 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
429 public void testCheckServiceOrderNoChange() throws Exception {
431 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
432 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
433 serviceOrderItem.setAction(ActionType.NOCHANGE);
436 testServiceOrder.setState(StateType.ACKNOWLEDGED);
437 testServiceOrder.setId("test");
438 serviceOrderRepository.save(testServiceOrder);
440 serviceOrderResource.scheduleCheckServiceOrders();
442 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
443 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
444 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
445 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
453 public void testCheckServiceOrderNoChangeAndDelete() throws Exception {
455 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
456 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
457 if (serviceOrderItem.getId().equals("A")) {
458 serviceOrderItem.setAction(ActionType.NOCHANGE);
460 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
463 testServiceOrder.setState(StateType.ACKNOWLEDGED);
464 testServiceOrder.setId("test");
465 serviceOrderRepository.save(testServiceOrder);
467 serviceOrderResource.scheduleCheckServiceOrders();
469 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
470 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
471 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
472 if (serviceOrderItem.getId().equals("A"))
473 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
479 public void testCheckServiceOrderDeleteWithKoServiceSpecId() throws Exception {
481 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
482 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
483 serviceOrderItem.getService().getServiceSpecification().setId("undefined");
486 testServiceOrder.setState(StateType.ACKNOWLEDGED);
487 testServiceOrder.setId("test");
488 serviceOrderRepository.save(testServiceOrder);
490 serviceOrderResource.scheduleCheckServiceOrders();
492 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
493 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
494 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
495 if (serviceOrderItem.getId().equals("A"))
496 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.REJECTED);
504 public void testCheckServiceOrderRejected() throws Exception {
507 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrderRejected();
508 testServiceOrder.setState(StateType.ACKNOWLEDGED);
509 testServiceOrder.setId("test");
510 serviceOrderRepository.save(testServiceOrder);
512 serviceOrderResource.scheduleCheckServiceOrders();
514 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
515 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
520 public void validateServiceOrderBeanWithAnnotation() {
521 ServiceOrder serviceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
522 Set violations = validator.validate(serviceOrder);
523 assertThat(violations).isEmpty();
525 ServiceOrderItem item = new ServiceOrderItem();
526 item.setAction(ActionType.DELETE);
527 item.setService(new Service());
528 serviceOrder.addOrderItemItem(item);
530 violations = validator.validate(serviceOrder);
531 assertThat(violations).isNotEmpty();
537 public void testFindAndGetServiceOrder() throws Exception {
539 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
540 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
541 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
543 testServiceOrder.setExternalId("extid1");
544 testServiceOrder.setOrderDate(new Date());
545 testServiceOrder.setState(StateType.ACKNOWLEDGED);
546 testServiceOrder.setDescription("toto");
547 testServiceOrder.setId("test");
548 serviceOrderRepository.save(testServiceOrder);
551 ServiceOrder testServiceOrder2 = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
552 testServiceOrder2.setState(StateType.ACKNOWLEDGED);
553 testServiceOrder2.setDescription("toto");
554 testServiceOrder2.setId("test2");
555 testServiceOrder2.setExternalId("extid2");
556 testServiceOrder2.setOrderDate(new Date());
558 serviceOrderRepository.save(testServiceOrder2);
561 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
562 params.add("fields", "id");
564 ResponseEntity<Object> serviceOrdersResponse = serviceOrderResource.findServiceOrder(params);
565 ArrayList serviceOrders = (ArrayList) serviceOrdersResponse.getBody();
566 assertThat(serviceOrders.size()).isEqualTo(2);
568 params.add("externalId", "extid1");
569 params.add("state", "acknowledged");
571 serviceOrdersResponse = serviceOrderResource.findServiceOrder(params);
572 serviceOrders = (ArrayList) serviceOrdersResponse.getBody();
573 assertThat(serviceOrders.size()).isEqualTo(1);
575 MultiValueMap<String, String> paramsDate = new LinkedMultiValueMap<>();
576 paramsDate.add("orderDate.gt", "2017-01-01T00:00:00.000Z");
577 paramsDate.add("orderDate.lt", "2030-01-01T00:00:00.000Z");
578 paramsDate.add("offset", "0");
579 paramsDate.add("limit", "2");
581 serviceOrdersResponse = serviceOrderResource.findServiceOrder(paramsDate);
582 serviceOrders = (ArrayList) serviceOrdersResponse.getBody();
583 assertThat(serviceOrders.size()).isEqualTo(2);
586 ResponseEntity<Object> serviceOrderResponse =
587 serviceOrderResource.getServiceOrder("test2", new LinkedMultiValueMap<>());
588 ServiceOrder serviceOrder = (ServiceOrder) serviceOrderResponse.getBody();
589 assertThat(serviceOrder).isNotNull();
595 public void testExecutionTaskSuccess() throws Exception {
597 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
598 executionTaskRepository, ActionType.ADD);
599 ExecutionTask executionTaskB;
602 SoTaskProcessor.processOrderItem(executionTaskA);
603 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
604 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
605 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
606 if (serviceOrderItem.getId().equals("A")) {
607 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
609 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
613 executionTaskB = getExecutionTask("B");
614 assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
615 executionTaskA = getExecutionTask("A");
616 assertThat(executionTaskA).isNull();
618 SoTaskProcessor.processOrderItem(executionTaskB);
619 serviceOrderChecked = serviceOrderRepository.findOne("test");
620 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
621 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
622 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
626 assertThat(executionTaskRepository.count()).isEqualTo(0);
634 public void testExecutionTaskDeleteSuccess() throws Exception {
636 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
637 executionTaskRepository, ActionType.DELETE);
638 ExecutionTask executionTaskB;
641 SoTaskProcessor.processOrderItem(executionTaskA);
642 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
643 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
644 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
645 if (serviceOrderItem.getId().equals("A")) {
646 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
648 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
652 executionTaskB = getExecutionTask("B");
653 assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
654 executionTaskA = getExecutionTask("A");
655 assertThat(executionTaskA).isNull();
657 SoTaskProcessor.processOrderItem(executionTaskB);
658 serviceOrderChecked = serviceOrderRepository.findOne("test");
659 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
660 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
661 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
665 assertThat(executionTaskRepository.count()).isEqualTo(0);
673 public void testExecutionTaskFailed() throws Exception {
675 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
676 executionTaskRepository, ActionType.ADD);
678 removeWireMockMapping("/ecomp/mso/infra/orchestrationRequests/v6/requestId");
681 SoTaskProcessor.processOrderItem(executionTaskA);
682 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
683 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
684 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
685 if (serviceOrderItem.getId().equals("A")) {
686 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
688 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
691 executionTaskA = getExecutionTask("A");
692 assertThat(executionTaskA.getNbRetries()).isEqualTo(2);
693 SoTaskProcessor.processOrderItem(executionTaskA);
694 executionTaskA = getExecutionTask("A");
695 SoTaskProcessor.processOrderItem(executionTaskA);
696 executionTaskA = getExecutionTask("A");
697 SoTaskProcessor.processOrderItem(executionTaskA);
699 serviceOrderChecked = serviceOrderRepository.findOne("test");
700 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
701 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
702 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
706 assertThat(executionTaskRepository.count()).isEqualTo(0);
715 public void testExecutionTaskFailedNoSoResponse() throws Exception {
717 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
718 executionTaskRepository, ActionType.ADD);
720 removeWireMockMapping("/ecomp/mso/infra/serviceInstances/v6");
723 SoTaskProcessor.processOrderItem(executionTaskA);
724 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
725 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
726 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
727 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
730 assertThat(executionTaskRepository.count()).isEqualTo(0);
737 public void testExecutionTaskFailedNoSoAndStatusResponse() throws Exception {
739 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
740 executionTaskRepository, ActionType.ADD);
742 removeWireMockMapping("/ecomp/mso/infra/serviceInstances/v6");
743 removeWireMockMapping("/ecomp/mso/infra/orchestrationRequests/v6/requestId");
746 SoTaskProcessor.processOrderItem(executionTaskA);
747 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
748 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
749 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
750 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
753 assertThat(executionTaskRepository.count()).isEqualTo(0);