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.beans.factory.annotation.Value;
53 import org.springframework.boot.context.embedded.LocalServerPort;
54 import org.springframework.boot.test.context.SpringBootTest;
55 import org.springframework.http.ResponseEntity;
56 import org.springframework.mock.web.MockHttpServletRequest;
57 import org.springframework.test.context.junit4.SpringRunner;
58 import org.springframework.util.LinkedMultiValueMap;
59 import org.springframework.util.MultiValueMap;
60 import org.springframework.web.context.request.RequestAttributes;
61 import org.springframework.web.context.request.RequestContextHolder;
62 import org.springframework.web.context.request.ServletRequestAttributes;
64 import static org.assertj.core.api.Assertions.assertThat;
66 @RunWith(SpringRunner.class)
67 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
68 public class ApiTest {
73 String realServerPort;
75 static public WireMockServer wireMockServer = new WireMockServer(8091);
78 ServiceSpecificationResource serviceSpecificationResource;
81 ServiceInventoryResource serviceInventoryResource;
84 ServiceOrderResource serviceOrderResource;
87 HubResource hubResource;
90 SubscriptionService subscriptionService;
93 ServiceOrderRepository serviceOrderRepository;
96 ExecutionTaskRepository executionTaskRepository;
99 SOTaskProcessor SoTaskProcessor;
102 private RequestAttributes attrs;
104 static Validator validator;
106 @Value("${scheduler.pollingDurationInMins}")
107 private float pollingDurationInMins;
110 public void before() {
111 MockHttpServletRequest request = new MockHttpServletRequest();
112 RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request));
116 public static void setUp() throws Exception {
117 wireMockServer.start();
118 ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
119 validator = factory.getValidator();
123 public static void tearsDown() throws Exception {
124 wireMockServer.stop();
129 public void tearsDownUpPort() throws Exception {
130 executionTaskRepository.deleteAll();
131 serviceOrderRepository.deleteAll();
132 subscriptionService.deleteAll();
133 wireMockServer.resetToDefaultMappings();
138 public ExecutionTask getExecutionTask(String orderItemId) {
139 for (ExecutionTask executionTask : executionTaskRepository.findAll()) {
140 if (executionTask.getOrderItemId().equalsIgnoreCase(orderItemId)) {
141 return executionTask;
148 private void removeWireMockMapping(String s) {
149 ListStubMappingsResult listStubMappingsResult = wireMockServer.listAllStubMappings();
150 StubMapping mappingToDelete = null;
151 List<StubMapping> mappings = listStubMappingsResult.getMappings();
152 for (StubMapping mapping : mappings) {
153 if (mapping.getRequest().getUrl().equals(s)) {
154 mappingToDelete = mapping;
160 wireMockServer.removeStubMapping(mappingToDelete);
163 private void changeWireMockResponse(String s,int statusCode, String bodyContent) {
164 ListStubMappingsResult listStubMappingsResult = wireMockServer.listAllStubMappings();
165 ResponseDefinition responseDefinition = new ResponseDefinition(statusCode,bodyContent);
166 List<StubMapping> mappings = listStubMappingsResult.getMappings();
167 for (StubMapping mapping : mappings) {
168 if (mapping.getRequest().getUrl().equals(s)) {
169 mapping.setResponse(responseDefinition);
182 public void testServiceResourceGetCatalog() throws Exception {
184 ResponseEntity<Object> resource =
185 serviceSpecificationResource.getServiceSpecification("1e3feeb0-8e36-46c6-862c-236d9c626439", null);
186 ServiceCatalogAssertions.assertGetServiceCatalog(resource);
191 public void testServiceCatalogGetResourceWithoutTosca() throws Exception {
193 ResponseEntity<Object> resource = serviceSpecificationResource
194 .getServiceSpecification("1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca", null);
195 ServiceCatalogAssertions.assertGetServiceCatalogWithoutTosca(resource);
200 public void testServiceCatalogFind() throws Exception {
202 ResponseEntity<Object> resource = serviceSpecificationResource.findServiceSpecification(null);
203 ServiceCatalogAssertions.assertFindServiceCatalog(resource);
209 public void testServiceCatalogFindWithFilter() throws Exception {
211 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
212 params.add("fields", "name");
213 ResponseEntity<Object> resource = serviceSpecificationResource.findServiceSpecification(params);
214 ServiceCatalogAssertions.assertFindServiceCatalogWIthFilter(resource);
221 public void testServiceResourceGetInventory() throws Exception {
223 String serviceName = "vFW";
224 String serviceId = "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb";
225 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
226 params.add("serviceSpecification.name", serviceName);
227 params.add("relatedParty.id", "6490");
228 ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
229 ServiceInventoryAssertions.assertServiceInventoryGet(resource);
234 public void testServiceResourceGetInventoryWithStatus() throws Exception {
236 String serviceName = "AnsibleService";
237 String serviceId = "405c8c00-44b9-4303-9f27-6797d22ca096";
238 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
239 params.add("serviceSpecification.name", serviceName);
240 params.add("relatedParty.id", "6490");
241 ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
242 LinkedHashMap service = (LinkedHashMap) resource.getBody();
243 assertThat(service.get("state")).isEqualTo("Active");
249 public void testServiceResourceGetInventoryWithoutRelationShipList() throws Exception {
251 String serviceName = "vFW";
252 String serviceId = "e4688e5f-61a0-4f8b-ae02-a2fbde623bcbWithoutList";
253 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
254 params.add("serviceSpecification.name", serviceName);
255 params.add("relatedParty.id", "6490");
256 ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
257 ServiceInventoryAssertions.assertServiceInventoryGetWithoutList(resource);
263 public void testServiceResourceGetInventoryWithServiceSpecId() throws Exception {
265 String serviceId = "e4688e5f-61a0-4f8b-ae02-a2fbde623bcb";
266 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
267 params.add("serviceSpecification.id", "1e3feeb0-8e36-46c6-862c-236d9c626439");
268 params.add("relatedParty.id", "6490");
269 ResponseEntity<Object> resource = serviceInventoryResource.getServiceInventory(serviceId, params);
270 ServiceInventoryAssertions.assertServiceInventoryGet(resource);
276 public void testServiceInventoryFind() throws Exception {
278 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
279 String serviceName = "vFW";
280 params.add("serviceSpecification.name", serviceName);
281 params.add("relatedParty.id", "6490");
283 ResponseEntity<Object> resource = serviceInventoryResource.findServiceInventory(params);
284 ServiceInventoryAssertions.assertServiceInventoryFind(resource);
290 public void testServiceInventoryFindWithServiceSpecId() throws Exception {
292 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
293 params.add("serviceSpecification.id", "1e3feeb0-8e36-46c6-862c-236d9c626439");
294 params.add("relatedParty.id", "6490");
296 ResponseEntity<Object> resource = serviceInventoryResource.findServiceInventory(params);
297 ServiceInventoryAssertions.assertServiceInventoryFind(resource);
303 public void testServiceInventoryFindWithoutParameter() throws Exception {
305 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
306 params.add("relatedParty.id", "6490");
308 ResponseEntity<Object> resource = serviceInventoryResource.findServiceInventory(params);
309 ServiceInventoryAssertions.assertServiceInventoryFindWithoutParameter(resource);
314 public void testCreateServiceOrderResource() throws Exception {
316 ResponseEntity<Object> serviceOrder = serviceOrderResource
317 .createServiceOrder(ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD), null, null);
318 assertThat(serviceOrder.getStatusCodeValue()).isEqualTo(201);
319 ServiceOrder body = (ServiceOrder) serviceOrder.getBody();
320 assertThat(body.getId()).isNotNull();
321 assertThat(body.getState()).isEqualTo(StateType.ACKNOWLEDGED);
327 public void testCheckServiceOrder() throws Exception {
329 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
330 testServiceOrder.setState(StateType.ACKNOWLEDGED);
331 testServiceOrder.setId("test");
332 serviceOrderRepository.save(testServiceOrder);
334 serviceOrderResource.scheduleCheckServiceOrders();
336 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
337 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
343 public void testCheckServiceOrderWithUnknownSverviceSpecId() throws Exception {
345 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
346 testServiceOrder.setState(StateType.ACKNOWLEDGED);
347 testServiceOrder.setId("test");
348 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
349 serviceOrderItem.getService().getServiceSpecification().setId("toto");
352 serviceOrderRepository.save(testServiceOrder);
354 serviceOrderResource.scheduleCheckServiceOrders();
356 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
357 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
358 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
359 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
360 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("102");
361 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("serviceSpecification.id");
366 public void testCheckServiceOrderWithGenericCustomer() throws Exception {
368 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
369 testServiceOrder.setRelatedParty(new ArrayList<>());
370 testServiceOrder.setState(StateType.ACKNOWLEDGED);
371 testServiceOrder.setId("test");
372 serviceOrderRepository.save(testServiceOrder);
374 serviceOrderResource.scheduleCheckServiceOrders();
376 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
377 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
383 public void testCheckServiceOrderWithoutRelatedParty() throws Exception {
385 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
386 testServiceOrder.setRelatedParty(null);
387 testServiceOrder.setState(StateType.ACKNOWLEDGED);
388 testServiceOrder.setId("test");
389 serviceOrderRepository.save(testServiceOrder);
391 serviceOrderResource.scheduleCheckServiceOrders();
393 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
394 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
400 public void testCheckServiceOrderWithUnKnownCustomer() throws Exception {
402 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
403 List<RelatedParty> customers = new ArrayList<>();
404 RelatedParty customer = new RelatedParty();
405 customer.setId("new");
406 customer.setRole("ONAPcustomer");
407 customer.setName("romain");
408 customers.add(customer);
409 testServiceOrder.setRelatedParty(customers);
410 testServiceOrder.setState(StateType.ACKNOWLEDGED);
411 testServiceOrder.setId("test");
412 serviceOrderRepository.save(testServiceOrder);
414 serviceOrderResource.scheduleCheckServiceOrders();
416 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
417 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
422 public void testCheckServiceOrderInDeleteWithNoServiceId() throws Exception {
424 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
425 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
426 serviceOrderItem.getService().setId(null);
429 testServiceOrder.setState(StateType.ACKNOWLEDGED);
430 testServiceOrder.setId("test");
431 serviceOrderRepository.save(testServiceOrder);
433 serviceOrderResource.scheduleCheckServiceOrders();
435 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
436 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
438 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
439 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
440 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("101");
441 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.id");
447 public void testCheckServiceOrderInModifyWithNoServiceId() throws Exception {
449 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.MODIFY);
450 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
451 serviceOrderItem.getService().setId(null);
454 testServiceOrder.setState(StateType.ACKNOWLEDGED);
455 testServiceOrder.setId("test");
456 serviceOrderRepository.save(testServiceOrder);
458 serviceOrderResource.scheduleCheckServiceOrders();
460 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
461 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
463 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
464 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
465 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("101");
466 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.id");
471 public void testCheckServiceOrderInAddWithServiceId() throws Exception {
473 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
474 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
475 serviceOrderItem.getService().setId("toto");
478 testServiceOrder.setState(StateType.ACKNOWLEDGED);
479 testServiceOrder.setId("test");
480 serviceOrderRepository.save(testServiceOrder);
482 serviceOrderResource.scheduleCheckServiceOrders();
484 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
485 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
487 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
488 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
489 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("103");
490 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.id");
495 public void testCheckServiceOrderWithUnKnownCustomerInChange() throws Exception {
497 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
498 List<RelatedParty> customers = new ArrayList<>();
499 RelatedParty customer = new RelatedParty();
500 customer.setId("new");
501 customer.setRole("ONAPcustomer");
502 customer.setName("romain");
503 customers.add(customer);
504 testServiceOrder.setRelatedParty(customers);
505 testServiceOrder.setState(StateType.ACKNOWLEDGED);
506 testServiceOrder.setId("test");
507 serviceOrderRepository.save(testServiceOrder);
509 serviceOrderResource.scheduleCheckServiceOrders();
511 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
512 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
514 assertThat(serviceOrderChecked.getOrderMessage().size()).isGreaterThan(0);
515 assertThat(serviceOrderChecked.getOrderMessage().get(0).getCode()).isEqualTo("104");
516 assertThat(serviceOrderChecked.getOrderMessage().get(0).getField()).isEqualTo("relatedParty.id");
522 public void testCheckServiceOrderWithCustomerAAINotResponding() throws Exception {
524 removeWireMockMapping("/aai/v11/business/customers/customer/new");
526 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
527 List<RelatedParty> customers = new ArrayList<>();
528 RelatedParty customer = new RelatedParty();
529 customer.setId("new");
530 customer.setRole("ONAPcustomer");
531 customer.setName("romain");
532 customers.add(customer);
533 testServiceOrder.setRelatedParty(customers);
534 testServiceOrder.setState(StateType.ACKNOWLEDGED);
535 testServiceOrder.setId("test");
536 serviceOrderRepository.save(testServiceOrder);
538 serviceOrderResource.scheduleCheckServiceOrders();
540 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
541 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
544 assertThat(serviceOrderChecked.getOrderMessage().size()).isGreaterThan(0);
545 assertThat(serviceOrderChecked.getOrderMessage().get(0).getCode()).isEqualTo("501");
546 assertThat(serviceOrderChecked.getOrderMessage().get(0).getMessageInformation()).isEqualTo("Problem with AAI API");
551 public void testCheckServiceOrderWithSDCNotResponding() throws Exception {
553 removeWireMockMapping("/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/metadata");
555 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
556 List<RelatedParty> customers = new ArrayList<>();
557 RelatedParty customer = new RelatedParty();
558 customer.setId("new");
559 customer.setRole("ONAPcustomer");
560 customer.setName("romain");
561 customers.add(customer);
562 testServiceOrder.setRelatedParty(customers);
563 testServiceOrder.setState(StateType.ACKNOWLEDGED);
564 testServiceOrder.setId("test");
565 serviceOrderRepository.save(testServiceOrder);
567 serviceOrderResource.scheduleCheckServiceOrders();
569 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
570 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
573 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
574 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
575 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("102");
576 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("serviceSpecification.id");
584 public void testCheckServiceOrderWithPutServiceAAINotResponding() throws Exception {
586 removeWireMockMapping("/aai/v11/business/customers/customer/new/service-subscriptions/service-subscription/vFW");
588 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
589 List<RelatedParty> customers = new ArrayList<>();
590 RelatedParty customer = new RelatedParty();
591 customer.setId("new");
592 customer.setRole("ONAPcustomer");
593 customer.setName("romain");
594 customers.add(customer);
595 testServiceOrder.setRelatedParty(customers);
596 testServiceOrder.setState(StateType.ACKNOWLEDGED);
597 testServiceOrder.setId("test");
598 serviceOrderRepository.save(testServiceOrder);
600 serviceOrderResource.scheduleCheckServiceOrders();
602 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
603 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
609 public void testCheckServiceOrderDelete() throws Exception {
611 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
612 testServiceOrder.setState(StateType.ACKNOWLEDGED);
613 testServiceOrder.setId("test");
614 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
615 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
617 serviceOrderRepository.save(testServiceOrder);
619 serviceOrderResource.scheduleCheckServiceOrders();
621 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
622 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
627 public void testCheckServiceOrderDeleteRejected() throws Exception {
629 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
630 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
631 serviceOrderItem.getService().setId("no_response");
634 testServiceOrder.setState(StateType.ACKNOWLEDGED);
635 testServiceOrder.setId("test");
636 serviceOrderRepository.save(testServiceOrder);
638 serviceOrderResource.scheduleCheckServiceOrders();
640 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
641 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
643 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
644 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
645 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("106");
646 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.id");
651 public void testCheckServiceOrderNoChange() throws Exception {
653 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
654 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
655 serviceOrderItem.setAction(ActionType.NOCHANGE);
658 testServiceOrder.setState(StateType.ACKNOWLEDGED);
659 testServiceOrder.setId("test");
660 serviceOrderRepository.save(testServiceOrder);
662 serviceOrderResource.scheduleCheckServiceOrders();
664 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
665 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
666 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
667 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
675 public void testCheckServiceOrderNoChangeAndDelete() throws Exception {
677 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
678 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
679 if (serviceOrderItem.getId().equals("A")) {
680 serviceOrderItem.setAction(ActionType.NOCHANGE);
682 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
685 testServiceOrder.setState(StateType.ACKNOWLEDGED);
686 testServiceOrder.setId("test");
687 serviceOrderRepository.save(testServiceOrder);
689 serviceOrderResource.scheduleCheckServiceOrders();
691 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
692 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.ACKNOWLEDGED);
693 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
694 if (serviceOrderItem.getId().equals("A"))
695 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
701 public void testCheckServiceOrderDeleteWithKoServiceSpecId() throws Exception {
703 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.DELETE);
704 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
705 serviceOrderItem.getService().getServiceSpecification().setId("undefined");
708 testServiceOrder.setState(StateType.ACKNOWLEDGED);
709 testServiceOrder.setId("test");
710 serviceOrderRepository.save(testServiceOrder);
712 serviceOrderResource.scheduleCheckServiceOrders();
714 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
715 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
716 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
717 if (serviceOrderItem.getId().equals("A"))
718 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.REJECTED);
726 public void testCheckServiceOrderRejected() throws Exception {
729 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrderRejected();
730 testServiceOrder.setState(StateType.ACKNOWLEDGED);
731 testServiceOrder.setId("test");
732 serviceOrderRepository.save(testServiceOrder);
734 serviceOrderResource.scheduleCheckServiceOrders();
736 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
737 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.REJECTED);
739 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
740 if(serviceOrderItem.getId().equals("A")) {
741 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
742 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("102");
743 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("serviceSpecification.id");
749 public void validateServiceOrderBeanWithAnnotation() {
750 ServiceOrder serviceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
751 Set violations = validator.validate(serviceOrder);
752 assertThat(violations).isEmpty();
754 ServiceOrderItem item = new ServiceOrderItem();
755 item.setAction(ActionType.DELETE);
756 item.setService(new Service());
757 serviceOrder.addOrderItemItem(item);
759 violations = validator.validate(serviceOrder);
760 assertThat(violations).isNotEmpty();
762 ServiceOrder serviceOrder2 = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
763 serviceOrder2.getOrderItem().get(0).getService().getServiceSpecification().setId("");
764 serviceOrder2.getOrderItem().get(1).getService().getServiceSpecification().setId(" ");
766 violations = validator.validate(serviceOrder2);
767 assertThat(violations).isNotEmpty();
768 assertThat(violations.size()).isEqualTo(2);
775 public void testFindAndGetServiceOrder() throws Exception {
777 ServiceOrder testServiceOrder = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
778 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
779 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
781 testServiceOrder.setExternalId("extid1");
782 testServiceOrder.setOrderDate(new Date());
783 testServiceOrder.setState(StateType.ACKNOWLEDGED);
784 testServiceOrder.setDescription("toto");
785 testServiceOrder.setId("test");
786 serviceOrderRepository.save(testServiceOrder);
789 ServiceOrder testServiceOrder2 = ServiceOrderAssertions.createTestServiceOrder(ActionType.ADD);
790 testServiceOrder2.setState(StateType.ACKNOWLEDGED);
791 testServiceOrder2.setDescription("toto");
792 testServiceOrder2.setId("test2");
793 testServiceOrder2.setExternalId("extid2");
794 testServiceOrder2.setOrderDate(new Date());
796 serviceOrderRepository.save(testServiceOrder2);
799 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
800 params.add("fields", "id");
802 ResponseEntity<Object> serviceOrdersResponse = serviceOrderResource.findServiceOrder(params);
803 ArrayList serviceOrders = (ArrayList) serviceOrdersResponse.getBody();
804 assertThat(serviceOrders.size()).isEqualTo(2);
806 params.add("externalId", "extid1");
807 params.add("state", "acknowledged");
809 serviceOrdersResponse = serviceOrderResource.findServiceOrder(params);
810 serviceOrders = (ArrayList) serviceOrdersResponse.getBody();
811 assertThat(serviceOrders.size()).isEqualTo(1);
813 MultiValueMap<String, String> paramsDate = new LinkedMultiValueMap<>();
814 paramsDate.add("orderDate.gt", "2017-01-01T00:00:00.000Z");
815 paramsDate.add("orderDate.lt", "2030-01-01T00:00:00.000Z");
816 paramsDate.add("offset", "0");
817 paramsDate.add("limit", "2");
819 serviceOrdersResponse = serviceOrderResource.findServiceOrder(paramsDate);
820 serviceOrders = (ArrayList) serviceOrdersResponse.getBody();
821 assertThat(serviceOrders.size()).isEqualTo(2);
824 ResponseEntity<Object> serviceOrderResponse =
825 serviceOrderResource.getServiceOrder("test2", new LinkedMultiValueMap<>());
826 ServiceOrder serviceOrder = (ServiceOrder) serviceOrderResponse.getBody();
827 assertThat(serviceOrder).isNotNull();
833 public void testExecutionTaskSuccess() throws Exception {
835 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
836 executionTaskRepository, ActionType.ADD);
837 ExecutionTask executionTaskB;
840 SoTaskProcessor.processOrderItem(executionTaskA);
841 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
842 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
843 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
844 if (serviceOrderItem.getId().equals("A")) {
845 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
847 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
851 executionTaskB = getExecutionTask("B");
852 assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
853 executionTaskA = getExecutionTask("A");
854 assertThat(executionTaskA).isNull();
856 SoTaskProcessor.processOrderItem(executionTaskB);
857 serviceOrderChecked = serviceOrderRepository.findOne("test");
858 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
859 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
860 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
864 assertThat(executionTaskRepository.count()).isEqualTo(0);
871 public void testE2EExecutionTaskSuccess() throws Exception {
873 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
874 executionTaskRepository, ActionType.ADD);
875 ExecutionTask executionTaskB;
878 SoTaskProcessor.processOrderItem(executionTaskA);
879 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
880 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
881 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
882 if (serviceOrderItem.getId().equals("A")) {
883 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
885 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
889 executionTaskB = getExecutionTask("B");
890 assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
891 executionTaskA = getExecutionTask("A");
892 assertThat(executionTaskA).isNull();
894 SoTaskProcessor.processOrderItem(executionTaskB);
895 serviceOrderChecked = serviceOrderRepository.findOne("test");
896 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
897 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
898 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
902 assertThat(executionTaskRepository.count()).isEqualTo(0);
909 public void testExecutionTaskDeleteSuccess() throws Exception {
911 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
912 executionTaskRepository, ActionType.DELETE);
913 ExecutionTask executionTaskB;
916 SoTaskProcessor.processOrderItem(executionTaskA);
917 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
918 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
919 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
920 if (serviceOrderItem.getId().equals("A")) {
921 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
923 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
927 executionTaskB = getExecutionTask("B");
928 assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
929 executionTaskA = getExecutionTask("A");
930 assertThat(executionTaskA).isNull();
932 SoTaskProcessor.processOrderItem(executionTaskB);
933 serviceOrderChecked = serviceOrderRepository.findOne("test");
934 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
935 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
936 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
940 assertThat(executionTaskRepository.count()).isEqualTo(0);
947 public void testE2EExecutionTaskDeleteSuccess() throws Exception {
949 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
950 executionTaskRepository, ActionType.DELETE);
951 ExecutionTask executionTaskB;
954 SoTaskProcessor.processOrderItem(executionTaskA);
955 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
956 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
957 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
958 if (serviceOrderItem.getId().equals("A")) {
959 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
961 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
965 executionTaskB = getExecutionTask("B");
966 assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
967 executionTaskA = getExecutionTask("A");
968 assertThat(executionTaskA).isNull();
970 SoTaskProcessor.processOrderItem(executionTaskB);
971 serviceOrderChecked = serviceOrderRepository.findOne("test");
972 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
973 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
974 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
978 assertThat(executionTaskRepository.count()).isEqualTo(0);
986 public void testExecutionTaskFailed() throws Exception {
988 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
989 executionTaskRepository, ActionType.ADD);
991 removeWireMockMapping("/ecomp/mso/infra/orchestrationRequests/v6/requestId");
994 SoTaskProcessor.processOrderItem(executionTaskA);
995 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
996 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
997 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
998 if (serviceOrderItem.getId().equals("A")) {
999 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
1001 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
1004 executionTaskA = getExecutionTask("A");
1005 assertThat(executionTaskA.getLastAttemptDate().getTime()>executionTaskA.getCreateDate().getTime()).isTrue();
1006 Thread.sleep((long)(pollingDurationInMins*60000 + 1));
1007 SoTaskProcessor.processOrderItem(executionTaskA);
1009 serviceOrderChecked = serviceOrderRepository.findOne("test");
1010 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1011 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1012 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1016 assertThat(executionTaskRepository.count()).isEqualTo(0);
1023 public void testE2EExecutionTaskFailed() throws Exception {
1025 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
1026 executionTaskRepository, ActionType.ADD);
1028 removeWireMockMapping("/ecomp/mso/infra/e2eServiceInstances/v3/serviceId/operations/operationId");
1031 SoTaskProcessor.processOrderItem(executionTaskA);
1032 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1033 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
1034 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1035 if (serviceOrderItem.getId().equals("A")) {
1036 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
1038 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
1041 executionTaskA = getExecutionTask("A");
1042 assertThat(executionTaskA.getLastAttemptDate().getTime()>executionTaskA.getCreateDate().getTime()).isTrue();
1043 Thread.sleep((long)(pollingDurationInMins*60000 + 1));
1044 SoTaskProcessor.processOrderItem(executionTaskA);
1046 serviceOrderChecked = serviceOrderRepository.findOne("test");
1047 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1048 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1049 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1053 assertThat(executionTaskRepository.count()).isEqualTo(0);
1059 public void testExecutionTaskFailedNoSoResponse() throws Exception {
1061 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
1062 executionTaskRepository, ActionType.ADD);
1064 removeWireMockMapping("/ecomp/mso/infra/serviceInstances/v6");
1067 SoTaskProcessor.processOrderItem(executionTaskA);
1068 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1069 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1070 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1071 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1074 assertThat(executionTaskRepository.count()).isEqualTo(0);
1081 public void testExecutionTaskFailedNoSoAndStatusResponse() throws Exception {
1083 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
1084 executionTaskRepository, ActionType.ADD);
1086 removeWireMockMapping("/ecomp/mso/infra/serviceInstances/v6");
1087 removeWireMockMapping("/ecomp/mso/infra/orchestrationRequests/v6/requestId");
1090 SoTaskProcessor.processOrderItem(executionTaskA);
1091 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1092 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1093 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1094 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1097 assertThat(executionTaskRepository.count()).isEqualTo(0);
1102 public void testE2EExecutionTaskFailedNoSoAndStatusResponse() throws Exception {
1104 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForE2EExecutionTaskSucess(serviceOrderRepository,
1105 executionTaskRepository, ActionType.ADD);
1107 removeWireMockMapping("/ecomp/mso/infra/e2eServiceInstances/v3");
1108 removeWireMockMapping("/ecomp/mso/infra/e2eServiceInstances/v3/serviceId/operations/operationId");
1111 SoTaskProcessor.processOrderItem(executionTaskA);
1112 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1113 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1114 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1115 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1118 assertThat(executionTaskRepository.count()).isEqualTo(0);
1124 public void testExecutionTaskFailedBadRequestSo() throws Exception {
1126 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
1127 executionTaskRepository, ActionType.ADD);
1130 changeWireMockResponse("/ecomp/mso/infra/serviceInstances/v6",400,"\"serviceException\": {\n"
1131 + " \"messageId\": \"SVC0002\",\n"
1132 + " \"text\": \"Error parsing request. org.openecomp.mso.apihandler.common.ValidationException: serviceInstance already existsd\"\n"
1136 SoTaskProcessor.processOrderItem(executionTaskA);
1137 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1138 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1139 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1140 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1143 assertThat(executionTaskRepository.count()).isEqualTo(0);
1145 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1146 if(serviceOrderItem.getId().equals("A")) {
1147 assertThat(serviceOrderItem.getOrderItemMessage().size()).isEqualTo(1);
1148 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getCode()).isEqualTo("105");
1149 assertThat(serviceOrderItem.getOrderItemMessage().get(0).getField()).isEqualTo("service.name");
1157 public void testExecutionTaskModifySuccess() throws Exception {
1159 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
1160 executionTaskRepository, ActionType.MODIFY);
1161 ExecutionTask executionTaskB;
1164 SoTaskProcessor.processOrderItem(executionTaskA);
1165 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1166 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
1167 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1168 if (serviceOrderItem.getId().equals("A")) {
1169 //assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
1170 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS_MODIFY_ITEM_TO_CREATE);
1172 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
1175 SoTaskProcessor.processOrderItem(executionTaskA);
1176 serviceOrderChecked = serviceOrderRepository.findOne("test");
1177 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
1178 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1179 if (serviceOrderItem.getId().equals("A")) {
1180 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
1182 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
1186 executionTaskB = getExecutionTask("B");
1187 assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
1188 executionTaskA = getExecutionTask("A");
1189 assertThat(executionTaskA).isNull();
1191 SoTaskProcessor.processOrderItem(executionTaskB);
1192 SoTaskProcessor.processOrderItem(executionTaskB);
1194 serviceOrderChecked = serviceOrderRepository.findOne("test");
1195 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
1196 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1197 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
1201 assertThat(executionTaskRepository.count()).isEqualTo(0);
1209 public void testExecutionTaskModifyFailed() throws Exception {
1211 ExecutionTask executionTaskA = ServiceOrderAssertions.setUpBddForExecutionTaskSucess(serviceOrderRepository,
1212 executionTaskRepository, ActionType.MODIFY);
1213 ExecutionTask executionTaskB;
1214 removeWireMockMapping("/ecomp/mso/infra/orchestrationRequests/v6/requestId");
1217 SoTaskProcessor.processOrderItem(executionTaskA);
1218 ServiceOrder serviceOrderChecked = serviceOrderRepository.findOne("test");
1219 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
1220 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1221 if (serviceOrderItem.getId().equals("A")) {
1222 //assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS);
1223 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.INPROGRESS_MODIFY_REQUEST_DELETE_SEND);
1225 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
1228 executionTaskA = getExecutionTask("A");
1229 assertThat(executionTaskA.getLastAttemptDate().getTime()>executionTaskA.getCreateDate().getTime()).isTrue();
1230 Thread.sleep((long)(pollingDurationInMins*60000 + 1));
1231 SoTaskProcessor.processOrderItem(executionTaskA);
1233 serviceOrderChecked = serviceOrderRepository.findOne("test");
1234 assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.FAILED);
1235 for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
1236 assertThat(serviceOrderItem.getState()).isEqualTo(StateType.FAILED);
1240 assertThat(executionTaskRepository.count()).isEqualTo(0);
1247 public void testFindWhenNoSubscriber() throws Exception {
1248 ResponseEntity<Object> findResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
1249 assertThat(findResponseEntity.getStatusCodeValue()).isEqualTo(200);
1250 ArrayList subscribers = (ArrayList) findResponseEntity.getBody();
1251 assertThat(subscribers.size()).isEqualTo(0);
1255 public void testSubscriberCreation() throws Exception {
1256 ResponseEntity<Subscriber> firstCreationResponseEntity = hubResource
1257 .createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
1258 assertThat(firstCreationResponseEntity.getStatusCodeValue()).isEqualTo(201);
1259 assertThat(firstCreationResponseEntity.getHeaders().getLocation()).isNotNull();
1260 assertThat(subscriptionService.countSubscription()).isEqualTo(1);
1264 public void testCreationAndFindSubscriber() throws Exception {
1265 ResponseEntity<Subscriber> firstCreationResponseEntity = hubResource
1266 .createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
1267 ResponseEntity<Object> findResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
1268 ArrayList subscribers = (ArrayList) findResponseEntity.getBody();
1269 assertThat(subscribers.size()).isEqualTo(1);
1273 public void testCreationAndGetByIdSubscriber() throws Exception {
1274 ResponseEntity<Subscriber> createResponseEntity = hubResource
1275 .createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
1276 String resourceId = createResponseEntity.getHeaders().getLocation().getPath().substring(1);
1277 ResponseEntity<Subscription> getResponseEntity = hubResource.getSubscription(resourceId);
1278 assertThat(getResponseEntity.getStatusCodeValue()).isEqualTo(200);
1279 assertThat(getResponseEntity.getBody()).isInstanceOf(Subscription.class);
1283 public void testMultiCreationAndFindSubscriber() throws Exception {
1284 hubResource.createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
1285 hubResource.createEventSubscription(HubAssertions.createServiceOrderStateChangeSubscription());
1286 hubResource.createEventSubscription(HubAssertions.createServiceOrderItemStateChangeSubscription());
1288 ResponseEntity<Object> findAllResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
1289 ArrayList subscribers = (ArrayList) findAllResponseEntity.getBody();
1290 assertThat(subscribers.size()).isEqualTo(3);
1294 public void testMultiCreationAndFindWithFilteringSubscriber() throws Exception {
1295 hubResource.createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
1296 hubResource.createEventSubscription(HubAssertions.createServiceOrderStateChangeSubscription());
1297 hubResource.createEventSubscription(HubAssertions.createServiceOrderItemStateChangeSubscription());
1299 MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
1300 params.add("query.eventType", "ServiceOrderCreationNotification");
1301 ResponseEntity<Object> findWithFilterResponseEntity = hubResource.findSubscribers(params);
1302 ArrayList subscribers = (ArrayList) findWithFilterResponseEntity.getBody();
1303 assertThat(subscribers.size()).isEqualTo(1);
1307 public void testSubscriberDeletion() throws Exception {
1308 ResponseEntity<Subscriber> createResponseEntity = hubResource
1309 .createEventSubscription(HubAssertions.createServiceOrderCreationSubscription());
1310 String resourceId = createResponseEntity.getHeaders().getLocation().getPath().substring(1);
1312 ResponseEntity<Object> findResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
1313 ArrayList subscribers = (ArrayList) findResponseEntity.getBody();
1314 assertThat(subscribers.size()).isEqualTo(1);
1316 hubResource.deleteSubscription(resourceId);
1318 findResponseEntity = hubResource.findSubscribers(new LinkedMultiValueMap<>());
1319 subscribers = (ArrayList) findResponseEntity.getBody();
1320 assertThat(subscribers).isEmpty();