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 com.github.tomakehurst.wiremock.WireMockServer;
20 import com.github.tomakehurst.wiremock.http.ResponseDefinition;
21 import com.github.tomakehurst.wiremock.stubbing.ListStubMappingsResult;
22 import com.github.tomakehurst.wiremock.stubbing.StubMapping;
23 import java.util.ArrayList;
24 import java.util.Date;
25 import java.util.LinkedHashMap;
26 import java.util.List;
28 import javax.validation.Validation;
29 import javax.validation.Validator;
30 import javax.validation.ValidatorFactory;
33 import org.junit.runner.RunWith;
34 import org.mockito.Mock;
35 import org.onap.nbi.apis.assertions.HubAssertions;
36 import org.onap.nbi.apis.assertions.ServiceCatalogAssertions;
37 import org.onap.nbi.apis.assertions.ServiceInventoryAssertions;
38 import org.onap.nbi.apis.assertions.ServiceOrderAssertions;
39 import org.onap.nbi.apis.hub.HubResource;
40 import org.onap.nbi.apis.hub.model.Subscriber;
41 import org.onap.nbi.apis.hub.model.Subscription;
42 import org.onap.nbi.apis.hub.service.SubscriptionService;
43 import org.onap.nbi.apis.servicecatalog.ServiceSpecificationResource;
44 import org.onap.nbi.apis.serviceinventory.ServiceInventoryResource;
45 import org.onap.nbi.apis.serviceorder.ServiceOrderResource;
46 import org.onap.nbi.apis.serviceorder.model.*;
47 import org.onap.nbi.apis.serviceorder.model.orchestrator.ExecutionTask;
48 import org.onap.nbi.apis.serviceorder.repositories.ExecutionTaskRepository;
49 import org.onap.nbi.apis.serviceorder.repositories.ServiceOrderRepository;
50 import org.onap.nbi.apis.serviceorder.workflow.SOTaskProcessor;
51 import org.springframework.beans.factory.annotation.Autowired;
52 import org.springframework.boot.context.embedded.LocalServerPort;
53 import org.springframework.boot.test.context.SpringBootTest;
54 import org.springframework.http.ResponseEntity;
55 import org.springframework.mock.web.MockHttpServletRequest;
56 import org.springframework.test.context.junit4.SpringRunner;
57 import org.springframework.util.LinkedMultiValueMap;
58 import org.springframework.util.MultiValueMap;
59 import org.springframework.web.context.request.RequestAttributes;
60 import org.springframework.web.context.request.RequestContextHolder;
61 import org.springframework.web.context.request.ServletRequestAttributes;
63 import static org.assertj.core.api.Assertions.assertThat;
65 @RunWith(SpringRunner.class)
66 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
67 public class ApiTest {
72 String realServerPort;
74 static public WireMockServer wireMockServer = new WireMockServer(8091);
77 ServiceSpecificationResource serviceSpecificationResource;
80 ServiceInventoryResource serviceInventoryResource;
83 ServiceOrderResource serviceOrderResource;
86 HubResource hubResource;
89 SubscriptionService subscriptionService;
92 ServiceOrderRepository serviceOrderRepository;
95 ExecutionTaskRepository executionTaskRepository;
98 SOTaskProcessor SoTaskProcessor;
101 private RequestAttributes attrs;
103 static Validator validator;
106 public void before() {
107 MockHttpServletRequest request = new MockHttpServletRequest();
108 RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request));
112 public static void setUp() throws Exception {
113 wireMockServer.start();
114 ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
115 validator = factory.getValidator();
119 public static void tearsDown() throws Exception {
120 wireMockServer.stop();
125 public void tearsDownUpPort() throws Exception {
126 executionTaskRepository.deleteAll();
127 serviceOrderRepository.deleteAll();
128 subscriptionService.deleteAll();
129 wireMockServer.resetToDefaultMappings();
134 public ExecutionTask getExecutionTask(String orderItemId) {
135 for (ExecutionTask executionTask : executionTaskRepository.findAll()) {
136 if (executionTask.getOrderItemId().equalsIgnoreCase(orderItemId)) {
137 return executionTask;
144 private void removeWireMockMapping(String s) {
145 ListStubMappingsResult listStubMappingsResult = wireMockServer.listAllStubMappings();
146 StubMapping mappingToDelete = null;
147 List<StubMapping> mappings = listStubMappingsResult.getMappings();
148 for (StubMapping mapping : mappings) {
149 if (mapping.getRequest().getUrl().equals(s)) {
150 mappingToDelete = mapping;
156 wireMockServer.removeStubMapping(mappingToDelete);
159 private void changeWireMockResponse(String s,int statusCode, String bodyContent) {
160 ListStubMappingsResult listStubMappingsResult = wireMockServer.listAllStubMappings();
161 ResponseDefinition responseDefinition = new ResponseDefinition(statusCode,bodyContent);
162 List<StubMapping> mappings = listStubMappingsResult.getMappings();
163 for (StubMapping mapping : mappings) {
164 if (mapping.getRequest().getUrl().equals(s)) {
165 mapping.setResponse(responseDefinition);
178 public void testServiceResourceGetCatalog() throws Exception {
180 ResponseEntity<Object> resource =
181 serviceSpecificationResource.getServiceSpecification("1e3feeb0-8e36-46c6-862c-236d9c626439", null);
182 ServiceCatalogAssertions.assertGetServiceCatalog(resource);
187 public void testServiceCatalogGetResourceWithoutTosca() throws Exception {
189 ResponseEntity<Object> resource = serviceSpecificationResource
190 .getServiceSpecification("1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca", null);
191 ServiceCatalogAssertions.assertGetServiceCatalogWithoutTosca(resource);
196 public void testServiceCatalogFind() throws Exception {
198 ResponseEntity<Object> resource = serviceSpecificationResource.findServiceSpecification(null);
199 ServiceCatalogAssertions.assertFindServiceCatalog(resource);
205 public void testServiceCatalogFindWithFilter() throws Exception {
207 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
208 params.add("fields", "name");
209 ResponseEntity<Object> resource = serviceSpecificationResource.findServiceSpecification(params);
210 ServiceCatalogAssertions.assertFindServiceCatalogWIthFilter(resource);
217 public void testServiceResourceGetInventory() throws Exception {
219 String serviceName = "vFW";
220 String serviceId = "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb";
221 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
222 params.add("serviceSpecification.name", serviceName);
223 params.add("relatedParty.id", "6490");
224 ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
225 ServiceInventoryAssertions.assertServiceInventoryGet(resource);
230 public void testServiceResourceGetInventoryWithStatus() throws Exception {
232 String serviceName = "AnsibleService";
233 String serviceId = "405c8c00-44b9-4303-9f27-6797d22ca096";
234 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
235 params.add("serviceSpecification.name", serviceName);
236 params.add("relatedParty.id", "6490");
237 ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
238 LinkedHashMap service = (LinkedHashMap) resource.getBody();
239 assertThat(service.get("state")).isEqualTo("Active");
245 public void testServiceResourceGetInventoryWithoutRelationShipList() throws Exception {
247 String serviceName = "vFW";
248 String serviceId = "e4688e5f-61a0-4f8b-ae02-a2fbde623bcbWithoutList";
249 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
250 params.add("serviceSpecification.name", serviceName);
251 params.add("relatedParty.id", "6490");
252 ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
253 ServiceInventoryAssertions.assertServiceInventoryGetWithoutList(resource);
259 public void testServiceResourceGetInventoryWithServiceSpecId() throws Exception {
261 String serviceId = "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb";
262 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
263 params.add("serviceSpecification.id", "1e3feeb0-8e36-46c6-862c-236d9c626439");
264 params.add("relatedParty.id", "6490");
265 ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
266 ServiceInventoryAssertions.assertServiceInventoryGet(resource);
272 public void testServiceInventoryFind() throws Exception {
274 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
275 String serviceName = "vFW";
276 params.add("serviceSpecification.name", serviceName);
277 params.add("relatedParty.id", "6490");
279 ResponseEntity<Object> resource = serviceInventoryResource.findServiceInventory(params);
280 ServiceInventoryAssertions.assertServiceInventoryFind(resource);
286 public void testServiceInventoryFindWithServiceSpecId() throws Exception {
288 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
289 params.add("serviceSpecification.id", "1e3feeb0-8e36-46c6-862c-236d9c626439");
290 params.add("relatedParty.id", "6490");
292 ResponseEntity<Object> resource = serviceInventoryResource.findServiceInventory(params);
293 ServiceInventoryAssertions.assertServiceInventoryFind(resource);
299 public void testServiceInventoryFindWithoutParameter() throws Exception {
301 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
302 params.add("relatedParty.id", "6490");
304 ResponseEntity<Object> resource = serviceInventoryResource.findServiceInventory(params);
305 ServiceInventoryAssertions.assertServiceInventoryFindWithoutParameter(resource);
310 public void testCreateServiceOrderResource() throws Exception {
312 ResponseEntity<Object> serviceOrder = serviceOrderResource
313 .createServiceOrder(ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD), null, null);
314 assertThat(serviceOrder.getStatusCodeValue()).isEqualTo(201);
315 ServiceOrder body = (ServiceOrder) serviceOrder.getBody();
316 assertThat(body.getId()).isNotNull();
317 assertThat(body.getState()).isEqualTo(StateType.ACKNOWLEDGED);
323 public void testCheckServiceOrder() throws Exception {
325 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
326 testServiceOrder.setState(StateType.ACKNOWLEDGED);
327 testServiceOrder.setId("test");
328 serviceOrderRepository.save(testServiceOrder);
330 serviceOrderResource.scheduleCheckServiceOrders();
332 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
333 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
339 public void testCheckServiceOrderWithUnknownSverviceSpecId() throws Exception {
341 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
342 testServiceOrder.setState(StateType.ACKNOWLEDGED);
343 testServiceOrder.setId("test");
344 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
345 serviceOrderItem.getService().getServiceSpecification().setId("toto");
348 serviceOrderRepository.save(testServiceOrder);
350 serviceOrderResource.scheduleCheckServiceOrders();
352 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
353 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
354 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
355 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
356 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("102");
357 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("serviceSpecification.id");
362 public void testCheckServiceOrderWithGenericCustomer() throws Exception {
364 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
365 testServiceOrder.setRelatedParty(new ArrayList<>());
366 testServiceOrder.setState(StateType.ACKNOWLEDGED);
367 testServiceOrder.setId("test");
368 serviceOrderRepository.save(testServiceOrder);
370 serviceOrderResource.scheduleCheckServiceOrders();
372 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
373 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
379 public void testCheckServiceOrderWithoutRelatedParty() throws Exception {
381 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
382 testServiceOrder.setRelatedParty(null);
383 testServiceOrder.setState(StateType.ACKNOWLEDGED);
384 testServiceOrder.setId("test");
385 serviceOrderRepository.save(testServiceOrder);
387 serviceOrderResource.scheduleCheckServiceOrders();
389 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
390 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
396 public void testCheckServiceOrderWithUnKnownCustomer() throws Exception {
398 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
399 List<RelatedParty> customers = new ArrayList<>();
400 RelatedParty customer = new RelatedParty();
401 customer.setId("new");
402 customer.setRole("ONAPcustomer");
403 customer.setName("romain");
404 customers.add(customer);
405 testServiceOrder.setRelatedParty(customers);
406 testServiceOrder.setState(StateType.ACKNOWLEDGED);
407 testServiceOrder.setId("test");
408 serviceOrderRepository.save(testServiceOrder);
410 serviceOrderResource.scheduleCheckServiceOrders();
412 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
413 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
418 public void testCheckServiceOrderInDeleteWithNoServiceId() throws Exception {
420 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
421 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
422 serviceOrderItem.getService().setId(null);
425 testServiceOrder.setState(StateType.ACKNOWLEDGED);
426 testServiceOrder.setId("test");
427 serviceOrderRepository.save(testServiceOrder);
429 serviceOrderResource.scheduleCheckServiceOrders();
431 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
432 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
434 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
435 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
436 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("101");
437 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.id");
443 public void testCheckServiceOrderInModifyWithNoServiceId() throws Exception {
445 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.MODIFY);
446 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
447 serviceOrderItem.getService().setId(null);
450 testServiceOrder.setState(StateType.ACKNOWLEDGED);
451 testServiceOrder.setId("test");
452 serviceOrderRepository.save(testServiceOrder);
454 serviceOrderResource.scheduleCheckServiceOrders();
456 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
457 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
459 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
460 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
461 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("101");
462 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.id");
467 public void testCheckServiceOrderInAddWithServiceId() throws Exception {
469 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
470 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
471 serviceOrderItem.getService().setId("toto");
474 testServiceOrder.setState(StateType.ACKNOWLEDGED);
475 testServiceOrder.setId("test");
476 serviceOrderRepository.save(testServiceOrder);
478 serviceOrderResource.scheduleCheckServiceOrders();
480 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
481 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
483 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
484 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
485 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("103");
486 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.id");
491 public void testCheckServiceOrderWithUnKnownCustomerInChange() throws Exception {
493 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
494 List<RelatedParty> customers = new ArrayList<>();
495 RelatedParty customer = new RelatedParty();
496 customer.setId("new");
497 customer.setRole("ONAPcustomer");
498 customer.setName("romain");
499 customers.add(customer);
500 testServiceOrder.setRelatedParty(customers);
501 testServiceOrder.setState(StateType.ACKNOWLEDGED);
502 testServiceOrder.setId("test");
503 serviceOrderRepository.save(testServiceOrder);
505 serviceOrderResource.scheduleCheckServiceOrders();
507 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
508 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
510 assertThat(serviceOrderChecked.getOrderMessage().size()).isGreaterThan(0);
511 assertThat(serviceOrderChecked.getOrderMessage().get(0).getCode()).isEqualTo("104");
512 assertThat(serviceOrderChecked.getOrderMessage().get(0).getField()).isEqualTo("relatedParty.id");
518 public void testCheckServiceOrderWithCustomerAAINotResponding() throws Exception {
520 removeWireMockMapping("/aai/v11/business/customers/customer/new");
522 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
523 List<RelatedParty> customers = new ArrayList<>();
524 RelatedParty customer = new RelatedParty();
525 customer.setId("new");
526 customer.setRole("ONAPcustomer");
527 customer.setName("romain");
528 customers.add(customer);
529 testServiceOrder.setRelatedParty(customers);
530 testServiceOrder.setState(StateType.ACKNOWLEDGED);
531 testServiceOrder.setId("test");
532 serviceOrderRepository.save(testServiceOrder);
534 serviceOrderResource.scheduleCheckServiceOrders();
536 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
537 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
540 assertThat(serviceOrderChecked.getOrderMessage().size()).isGreaterThan(0);
541 assertThat(serviceOrderChecked.getOrderMessage().get(0).getCode()).isEqualTo("501");
542 assertThat(serviceOrderChecked.getOrderMessage().get(0).getMessageInformation()).isEqualTo("Problem with AAI API");
547 public void testCheckServiceOrderWithSDCNotResponding() throws Exception {
549 removeWireMockMapping("/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/metadata");
551 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
552 List<RelatedParty> customers = new ArrayList<>();
553 RelatedParty customer = new RelatedParty();
554 customer.setId("new");
555 customer.setRole("ONAPcustomer");
556 customer.setName("romain");
557 customers.add(customer);
558 testServiceOrder.setRelatedParty(customers);
559 testServiceOrder.setState(StateType.ACKNOWLEDGED);
560 testServiceOrder.setId("test");
561 serviceOrderRepository.save(testServiceOrder);
563 serviceOrderResource.scheduleCheckServiceOrders();
565 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
566 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
569 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
570 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
571 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("102");
572 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("serviceSpecification.id");
580 public void testCheckServiceOrderWithPutServiceAAINotResponding() throws Exception {
582 removeWireMockMapping("/aai/v11/business/customers/customer/new/service-subscriptions/service-subscription/vFW");
584 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
585 List<RelatedParty> customers = new ArrayList<>();
586 RelatedParty customer = new RelatedParty();
587 customer.setId("new");
588 customer.setRole("ONAPcustomer");
589 customer.setName("romain");
590 customers.add(customer);
591 testServiceOrder.setRelatedParty(customers);
592 testServiceOrder.setState(StateType.ACKNOWLEDGED);
593 testServiceOrder.setId("test");
594 serviceOrderRepository.save(testServiceOrder);
596 serviceOrderResource.scheduleCheckServiceOrders();
598 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
599 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
605 public void testCheckServiceOrderDelete() throws Exception {
607 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
608 testServiceOrder.setState(StateType.ACKNOWLEDGED);
609 testServiceOrder.setId("test");
610 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
611 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
613 serviceOrderRepository.save(testServiceOrder);
615 serviceOrderResource.scheduleCheckServiceOrders();
617 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
618 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
623 public void testCheckServiceOrderDeleteRejected() throws Exception {
625 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
626 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
627 serviceOrderItem.getService().setId("no_response");
630 testServiceOrder.setState(StateType.ACKNOWLEDGED);
631 testServiceOrder.setId("test");
632 serviceOrderRepository.save(testServiceOrder);
634 serviceOrderResource.scheduleCheckServiceOrders();
636 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
637 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
639 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
640 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
641 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("106");
642 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.id");
647 public void testCheckServiceOrderNoChange() throws Exception {
649 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
650 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
651 serviceOrderItem.setAction(ActionType.NOCHANGE);
654 testServiceOrder.setState(StateType.ACKNOWLEDGED);
655 testServiceOrder.setId("test");
656 serviceOrderRepository.save(testServiceOrder);
658 serviceOrderResource.scheduleCheckServiceOrders();
660 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
661 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
662 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
663 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
671 public void testCheckServiceOrderNoChangeAndDelete() throws Exception {
673 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
674 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
675 if (serviceOrderItem.getId().equals("A")) {
676 serviceOrderItem.setAction(ActionType.NOCHANGE);
678 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
681 testServiceOrder.setState(StateType.ACKNOWLEDGED);
682 testServiceOrder.setId("test");
683 serviceOrderRepository.save(testServiceOrder);
685 serviceOrderResource.scheduleCheckServiceOrders();
687 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
688 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
689 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
690 if (serviceOrderItem.getId().equals("A"))
691 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
697 public void testCheckServiceOrderDeleteWithKoServiceSpecId() throws Exception {
699 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
700 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
701 serviceOrderItem.getService().getServiceSpecification().setId("undefined");
704 testServiceOrder.setState(StateType.ACKNOWLEDGED);
705 testServiceOrder.setId("test");
706 serviceOrderRepository.save(testServiceOrder);
708 serviceOrderResource.scheduleCheckServiceOrders();
710 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
711 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
712 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
713 if (serviceOrderItem.getId().equals("A"))
714 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.REJECTED);
722 public void testCheckServiceOrderRejected() throws Exception {
725 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrderRejected();
726 testServiceOrder.setState(StateType.ACKNOWLEDGED);
727 testServiceOrder.setId("test");
728 serviceOrderRepository.save(testServiceOrder);
730 serviceOrderResource.scheduleCheckServiceOrders();
732 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
733 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
735 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
736 if(serviceOrderItem.getId().equals("A")) {
737 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
738 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("102");
739 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("serviceSpecification.id");
745 public void validateServiceOrderBeanWithAnnotation() {
746 ServiceOrder serviceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
747 Set violations = validator.validate(serviceOrder);
748 assertThat(violations).isEmpty();
750 ServiceOrderItem item = new ServiceOrderItem();
751 item.setAction(ActionType.DELETE);
752 item.setService(new Service());
753 serviceOrder.addOrderItemItem(item);
755 violations = validator.validate(serviceOrder);
756 assertThat(violations).isNotEmpty();
758 ServiceOrder serviceOrder2 = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
759 serviceOrder2.getOrderItem().get(0).getService().getServiceSpecification().setId("");
760 serviceOrder2.getOrderItem().get(1).getService().getServiceSpecification().setId(" ");
762 violations = validator.validate(serviceOrder2);
763 assertThat(violations).isNotEmpty();
764 assertThat(violations.size()).isEqualTo(2);
771 public void testFindAndGetServiceOrder() throws Exception {
773 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
774 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
775 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
777 testServiceOrder.setExternalId("extid1");
778 testServiceOrder.setOrderDate(new Date());
779 testServiceOrder.setState(StateType.ACKNOWLEDGED);
780 testServiceOrder.setDescription("toto");
781 testServiceOrder.setId("test");
782 serviceOrderRepository.save(testServiceOrder);
785 ServiceOrder testServiceOrder2 = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
786 testServiceOrder2.setState(StateType.ACKNOWLEDGED);
787 testServiceOrder2.setDescription("toto");
788 testServiceOrder2.setId("test2");
789 testServiceOrder2.setExternalId("extid2");
790 testServiceOrder2.setOrderDate(new Date());
792 serviceOrderRepository.save(testServiceOrder2);
795 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
796 params.add("fields", "id");
798 ResponseEntity<Object> serviceOrdersResponse = serviceOrderResource.findServiceOrder(params);
799 ArrayList serviceOrders = (ArrayList) serviceOrdersResponse.getBody();
800 assertThat(serviceOrders.size()).isEqualTo(2);
802 params.add("externalId", "extid1");
803 params.add("state", "acknowledged");
805 serviceOrdersResponse = serviceOrderResource.findServiceOrder(params);
806 serviceOrders = (ArrayList) serviceOrdersResponse.getBody();
807 assertThat(serviceOrders.size()).isEqualTo(1);
809 MultiValueMap<String, String> paramsDate = new LinkedMultiValueMap<>();
810 paramsDate.add("orderDate.gt", "2017-01-01T00:00:00.000Z");
811 paramsDate.add("orderDate.lt", "2030-01-01T00:00:00.000Z");
812 paramsDate.add("offset", "0");
813 paramsDate.add("limit", "2");
815 serviceOrdersResponse = serviceOrderResource.findServiceOrder(paramsDate);
816 serviceOrders = (ArrayList) serviceOrdersResponse.getBody();
817 assertThat(serviceOrders.size()).isEqualTo(2);
820 ResponseEntity<Object> serviceOrderResponse =
821 serviceOrderResource.getServiceOrder("test2", new LinkedMultiValueMap<>());
822 ServiceOrder serviceOrder = (ServiceOrder) serviceOrderResponse.getBody();
823 assertThat(serviceOrder).isNotNull();
829 public void testExecutionTaskSuccess() throws Exception {
831 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
832 executionTaskRepository, ActionType.ADD);
833 ExecutionTask executionTaskB;
836 SoTaskProcessor.processOrderItem(executionTaskA);
837 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
838 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
839 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
840 if (serviceOrderItem.getId().equals("A")) {
841 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
843 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
847 executionTaskB = getExecutionTask("B");
848 assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
849 executionTaskA = getExecutionTask("A");
850 assertThat(executionTaskA).isNull();
852 SoTaskProcessor.processOrderItem(executionTaskB);
853 serviceOrderChecked = serviceOrderRepository.findOne("test");
854 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
855 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
856 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
860 assertThat(executionTaskRepository.count()).isEqualTo(0);
867 public void testE2EExecutionTaskSuccess() throws Exception {
869 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
870 executionTaskRepository, ActionType.ADD);
871 ExecutionTask executionTaskB;
874 SoTaskProcessor.processOrderItem(executionTaskA);
875 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
876 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
877 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
878 if (serviceOrderItem.getId().equals("A")) {
879 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
881 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
885 executionTaskB = getExecutionTask("B");
886 assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
887 executionTaskA = getExecutionTask("A");
888 assertThat(executionTaskA).isNull();
890 SoTaskProcessor.processOrderItem(executionTaskB);
891 serviceOrderChecked = serviceOrderRepository.findOne("test");
892 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
893 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
894 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
898 assertThat(executionTaskRepository.count()).isEqualTo(0);
905 public void testExecutionTaskDeleteSuccess() throws Exception {
907 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
908 executionTaskRepository, ActionType.DELETE);
909 ExecutionTask executionTaskB;
912 SoTaskProcessor.processOrderItem(executionTaskA);
913 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
914 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
915 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
916 if (serviceOrderItem.getId().equals("A")) {
917 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
919 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
923 executionTaskB = getExecutionTask("B");
924 assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
925 executionTaskA = getExecutionTask("A");
926 assertThat(executionTaskA).isNull();
928 SoTaskProcessor.processOrderItem(executionTaskB);
929 serviceOrderChecked = serviceOrderRepository.findOne("test");
930 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
931 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
932 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
936 assertThat(executionTaskRepository.count()).isEqualTo(0);
943 public void testE2EExecutionTaskDeleteSuccess() throws Exception {
945 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
946 executionTaskRepository, ActionType.DELETE);
947 ExecutionTask executionTaskB;
950 SoTaskProcessor.processOrderItem(executionTaskA);
951 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
952 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
953 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
954 if (serviceOrderItem.getId().equals("A")) {
955 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
957 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
961 executionTaskB = getExecutionTask("B");
962 assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
963 executionTaskA = getExecutionTask("A");
964 assertThat(executionTaskA).isNull();
966 SoTaskProcessor.processOrderItem(executionTaskB);
967 serviceOrderChecked = serviceOrderRepository.findOne("test");
968 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
969 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
970 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
974 assertThat(executionTaskRepository.count()).isEqualTo(0);
982 public void testExecutionTaskFailed() throws Exception {
984 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
985 executionTaskRepository, ActionType.ADD);
987 removeWireMockMapping("/ecomp/mso/infra/orchestrationRequests/v6/requestId");
990 SoTaskProcessor.processOrderItem(executionTaskA);
991 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
992 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
993 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
994 if (serviceOrderItem.getId().equals("A")) {
995 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
997 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
1000 executionTaskA = getExecutionTask("A");
1001 assertThat(executionTaskA.getNbRetries()).isEqualTo(2);
1002 SoTaskProcessor.processOrderItem(executionTaskA);
1003 executionTaskA = getExecutionTask("A");
1004 SoTaskProcessor.processOrderItem(executionTaskA);
1005 executionTaskA = getExecutionTask("A");
1006 SoTaskProcessor.processOrderItem(executionTaskA);
1008 serviceOrderChecked = serviceOrderRepository.findOne("test");
1009 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1010 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1011 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1015 assertThat(executionTaskRepository.count()).isEqualTo(0);
1022 public void testE2EExecutionTaskFailed() throws Exception {
1024 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
1025 executionTaskRepository, ActionType.ADD);
1027 removeWireMockMapping("/ecomp/mso/infra/e2eServiceInstances/v3/serviceId/operations/operationId");
1030 SoTaskProcessor.processOrderItem(executionTaskA);
1031 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1032 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
1033 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1034 if (serviceOrderItem.getId().equals("A")) {
1035 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
1037 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
1040 executionTaskA = getExecutionTask("A");
1041 assertThat(executionTaskA.getNbRetries()).isEqualTo(2);
1042 SoTaskProcessor.processOrderItem(executionTaskA);
1043 executionTaskA = getExecutionTask("A");
1044 SoTaskProcessor.processOrderItem(executionTaskA);
1045 executionTaskA = getExecutionTask("A");
1046 SoTaskProcessor.processOrderItem(executionTaskA);
1048 serviceOrderChecked = serviceOrderRepository.findOne("test");
1049 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1050 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1051 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1055 assertThat(executionTaskRepository.count()).isEqualTo(0);
1061 public void testExecutionTaskFailedNoSoResponse() throws Exception {
1063 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
1064 executionTaskRepository, ActionType.ADD);
1066 removeWireMockMapping("/ecomp/mso/infra/serviceInstances/v6");
1069 SoTaskProcessor.processOrderItem(executionTaskA);
1070 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1071 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1072 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1073 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1076 assertThat(executionTaskRepository.count()).isEqualTo(0);
1083 public void testExecutionTaskFailedNoSoAndStatusResponse() throws Exception {
1085 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
1086 executionTaskRepository, ActionType.ADD);
1088 removeWireMockMapping("/ecomp/mso/infra/serviceInstances/v6");
1089 removeWireMockMapping("/ecomp/mso/infra/orchestrationRequests/v6/requestId");
1092 SoTaskProcessor.processOrderItem(executionTaskA);
1093 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1094 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1095 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1096 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1099 assertThat(executionTaskRepository.count()).isEqualTo(0);
1104 public void testE2EExecutionTaskFailedNoSoAndStatusResponse() throws Exception {
1106 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
1107 executionTaskRepository, ActionType.ADD);
1109 removeWireMockMapping("/ecomp/mso/infra/e2eServiceInstances/v3");
1110 removeWireMockMapping("/ecomp/mso/infra/e2eServiceInstances/v3/serviceId/operations/operationId");
1113 SoTaskProcessor.processOrderItem(executionTaskA);
1114 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1115 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1116 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1117 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1120 assertThat(executionTaskRepository.count()).isEqualTo(0);
1126 public void testExecutionTaskFailedBadRequestSo() throws Exception {
1128 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
1129 executionTaskRepository, ActionType.ADD);
1132 changeWireMockResponse("/ecomp/mso/infra/serviceInstances/v6",400,"\"serviceException\": {\n"
1133 + " \"messageId\": \"SVC0002\",\n"
1134 + " \"text\": \"Error parsing request. org.openecomp.mso.apihandler.common.ValidationException: serviceInstance already existsd\"\n"
1138 SoTaskProcessor.processOrderItem(executionTaskA);
1139 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1140 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1141 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1142 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1145 assertThat(executionTaskRepository.count()).isEqualTo(0);
1147 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1148 if(serviceOrderItem.getId().equals("A")) {
1149 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
1150 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("105");
1151 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.name");
1159 public void testExecutionTaskModifySuccess() throws Exception {
1161 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
1162 executionTaskRepository, ActionType.MODIFY);
1163 ExecutionTask executionTaskB;
1166 SoTaskProcessor.processOrderItem(executionTaskA);
1167 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1168 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
1169 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1170 if (serviceOrderItem.getId().equals("A")) {
1171 //assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
1172 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS_MODIFY_ITEM_TO_CREATE);
1174 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
1177 SoTaskProcessor.processOrderItem(executionTaskA);
1178 serviceOrderChecked = serviceOrderRepository.findOne("test");
1179 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
1180 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1181 if (serviceOrderItem.getId().equals("A")) {
1182 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
1184 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
1188 executionTaskB = getExecutionTask("B");
1189 assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
1190 executionTaskA = getExecutionTask("A");
1191 assertThat(executionTaskA).isNull();
1193 SoTaskProcessor.processOrderItem(executionTaskB);
1194 SoTaskProcessor.processOrderItem(executionTaskB);
1196 serviceOrderChecked = serviceOrderRepository.findOne("test");
1197 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
1198 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1199 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
1203 assertThat(executionTaskRepository.count()).isEqualTo(0);
1211 public void testExecutionTaskModifyFailed() throws Exception {
1213 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
1214 executionTaskRepository, ActionType.MODIFY);
1215 ExecutionTask executionTaskB;
1216 removeWireMockMapping("/ecomp/mso/infra/orchestrationRequests/v6/requestId");
1219 SoTaskProcessor.processOrderItem(executionTaskA);
1220 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1221 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
1222 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1223 if (serviceOrderItem.getId().equals("A")) {
1224 //assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
1225 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS_MODIFY_REQUEST_DELETE_SEND);
1227 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
1230 executionTaskA = getExecutionTask("A");
1231 assertThat(executionTaskA.getNbRetries()).isEqualTo(2);
1232 SoTaskProcessor.processOrderItem(executionTaskA);
1233 executionTaskA = getExecutionTask("A");
1234 SoTaskProcessor.processOrderItem(executionTaskA);
1235 executionTaskA = getExecutionTask("A");
1236 SoTaskProcessor.processOrderItem(executionTaskA);
1238 serviceOrderChecked = serviceOrderRepository.findOne("test");
1239 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1240 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1241 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1245 assertThat(executionTaskRepository.count()).isEqualTo(0);
1252 public void testFindWhenNoSubscriber() throws Exception {
1253 ResponseEntity<Object> findResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
1254 assertThat(findResponseEntity.getStatusCodeValue()).isEqualTo(200);
1255 ArrayList subscribers = (ArrayList) findResponseEntity.getBody();
1256 assertThat(subscribers.size()).isEqualTo(0);
1260 public void testSubscriberCreation() throws Exception {
1261 ResponseEntity<Subscriber> firstCreationResponseEntity = hubResource
1262 .createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
1263 assertThat(firstCreationResponseEntity.getStatusCodeValue()).isEqualTo(201);
1264 assertThat(firstCreationResponseEntity.getHeaders().getLocation()).isNotNull();
1265 assertThat(subscriptionService.countSubscription()).isEqualTo(1);
1269 public void testCreationAndFindSubscriber() throws Exception {
1270 ResponseEntity<Subscriber> firstCreationResponseEntity = hubResource
1271 .createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
1272 ResponseEntity<Object> findResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
1273 ArrayList subscribers = (ArrayList) findResponseEntity.getBody();
1274 assertThat(subscribers.size()).isEqualTo(1);
1278 public void testCreationAndGetByIdSubscriber() throws Exception {
1279 ResponseEntity<Subscriber> createResponseEntity = hubResource
1280 .createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
1281 String resourceId = createResponseEntity.getHeaders().getLocation().getPath().substring(1);
1282 ResponseEntity<Subscription> getResponseEntity = hubResource.getSubscription(resourceId);
1283 assertThat(getResponseEntity.getStatusCodeValue()).isEqualTo(200);
1284 assertThat(getResponseEntity.getBody()).isInstanceOf(Subscription.class);
1288 public void testMultiCreationAndFindSubscriber() throws Exception {
1289 hubResource.createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
1290 hubResource.createEventSubscription(HubAssertions.createServiceOrderStateChangeSubscription());
1291 hubResource.createEventSubscription(HubAssertions.createServiceOrderItemStateChangeSubscription());
1293 ResponseEntity<Object> findAllResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
1294 ArrayList subscribers = (ArrayList) findAllResponseEntity.getBody();
1295 assertThat(subscribers.size()).isEqualTo(3);
1299 public void testMultiCreationAndFindWithFilteringSubscriber() throws Exception {
1300 hubResource.createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
1301 hubResource.createEventSubscription(HubAssertions.createServiceOrderStateChangeSubscription());
1302 hubResource.createEventSubscription(HubAssertions.createServiceOrderItemStateChangeSubscription());
1304 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
1305 params.add("query.eventType", "ServiceOrderCreationNotification");
1306 ResponseEntity<Object> findWithFilterResponseEntity = hubResource.findSubscribers(params);
1307 ArrayList subscribers = (ArrayList) findWithFilterResponseEntity.getBody();
1308 assertThat(subscribers.size()).isEqualTo(1);
1312 public void testSubscriberDeletion() throws Exception {
1313 ResponseEntity<Subscriber> createResponseEntity = hubResource
1314 .createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
1315 String resourceId = createResponseEntity.getHeaders().getLocation().getPath().substring(1);
1317 ResponseEntity<Object> findResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
1318 ArrayList subscribers = (ArrayList) findResponseEntity.getBody();
1319 assertThat(subscribers.size()).isEqualTo(1);
1321 hubResource.deleteSubscription(resourceId);
1323 findResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
1324 subscribers = (ArrayList) findResponseEntity.getBody();
1325 assertThat(subscribers).isEmpty();