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.assertions;
18 import java.util.ArrayList;
19 import java.util.Date;
20 import java.util.LinkedHashMap;
21 import java.util.List;
22 import org.onap.nbi.apis.serviceorder.model.ActionType;
23 import org.onap.nbi.apis.serviceorder.model.OrderItemRelationship;
24 import org.onap.nbi.apis.serviceorder.model.OrderRelationship;
25 import org.onap.nbi.apis.serviceorder.model.RelatedParty;
26 import org.onap.nbi.apis.serviceorder.model.Service;
27 import org.onap.nbi.apis.serviceorder.model.ServiceOrder;
28 import org.onap.nbi.apis.serviceorder.model.ServiceOrderItem;
29 import org.onap.nbi.apis.serviceorder.model.ServiceSpecificationRef;
30 import org.onap.nbi.apis.serviceorder.model.StateType;
31 import org.onap.nbi.apis.serviceorder.model.consumer.SubscriberInfo;
32 import org.onap.nbi.apis.serviceorder.model.orchestrator.ExecutionTask;
33 import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderInfo;
34 import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderInfoJson;
35 import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderItemInfo;
36 import org.onap.nbi.apis.serviceorder.repositories.ExecutionTaskRepository;
37 import org.onap.nbi.apis.serviceorder.repositories.ServiceOrderInfoRepository;
38 import org.onap.nbi.apis.serviceorder.repositories.ServiceOrderRepository;
39 import org.onap.nbi.apis.serviceorder.utils.JsonEntityConverter;
42 public class ServiceOrderAssertions {
44 public static ServiceOrder createTestServiceOrderRejected() {
45 ServiceOrder serviceOrder = new ServiceOrder();
46 serviceOrder.setExternalId("LudONAP001");
47 serviceOrder.setPriority("1");
48 serviceOrder.setDescription("Ludo first ONAP Order");
49 serviceOrder.setCategory("Consumer");
50 serviceOrder.setRequestedStartDate(new Date());
51 serviceOrder.setRequestedCompletionDate(new Date());
53 RelatedParty party = new RelatedParty();
55 party.setRole("ONAPcustomer");
56 party.setReferredType("individual");
57 party.setName("Jean Pontus");
58 List<RelatedParty> relatedPartyList = new ArrayList<>();
59 relatedPartyList.add(party);
60 serviceOrder.setRelatedParty(relatedPartyList);
62 List<ServiceOrderItem> items = new ArrayList<>();
64 ServiceOrderItem itemA = new ServiceOrderItem();
66 itemA.action(ActionType.ADD);
67 Service serviceA = new Service();
68 serviceA.setServiceState("active");
69 ServiceSpecificationRef serviceSpecificationRefA = new ServiceSpecificationRef();
70 serviceSpecificationRefA.setId("333");
71 serviceA.setServiceSpecification(serviceSpecificationRefA);
72 itemA.setService(serviceA);
75 ServiceOrderItem itemB = new ServiceOrderItem();
77 itemB.action(ActionType.ADD);
78 Service serviceB = new Service();
79 serviceB.setServiceState("active");
80 ServiceSpecificationRef serviceSpecificationRefB = new ServiceSpecificationRef();
81 serviceSpecificationRefB.setId("1e3feeb0-8e36-46c6-862c-236d9c626439");
82 serviceB.setServiceSpecification(serviceSpecificationRefB);
83 itemB.setService(serviceB);
84 List<OrderItemRelationship> orderItemRelationships = new ArrayList<>();
85 OrderItemRelationship orderItemRelationship = new OrderItemRelationship();
86 orderItemRelationship.setId("A");
87 orderItemRelationships.add(orderItemRelationship);
88 itemB.setOrderItemRelationship(orderItemRelationships);
90 serviceOrder.setOrderItem(items);
96 public static ServiceOrder createTestServiceOrder(ActionType actionType) {
97 ServiceOrder serviceOrder = new ServiceOrder();
98 serviceOrder.setExternalId("LudONAP001");
99 serviceOrder.setPriority("1");
100 serviceOrder.setDescription("Ludo first ONAP Order");
101 serviceOrder.setCategory("Consumer");
102 serviceOrder.setRequestedStartDate(new Date());
103 serviceOrder.setRequestedCompletionDate(new Date());
104 serviceOrder.setBaseType("toto");
105 serviceOrder.setCompletionDateTime(new Date());
106 serviceOrder.setExpectedCompletionDate(new Date());
107 serviceOrder.setSchemaLocation("/tutu");
109 OrderRelationship orderRelationship = new OrderRelationship();
110 orderRelationship.setId("test");
111 orderRelationship.setHref("test");
112 orderRelationship.setReferredType("test");
113 orderRelationship.setType("type");
114 List<OrderRelationship> relationships = new ArrayList<>();
115 serviceOrder.setOrderRelationship(relationships);
117 RelatedParty party = new RelatedParty();
119 party.setRole("ONAPcustomer");
120 party.setReferredType("individual");
121 party.setName("Jean Pontus");
122 List<RelatedParty> relatedPartyList = new ArrayList<>();
123 relatedPartyList.add(party);
124 serviceOrder.setRelatedParty(relatedPartyList);
126 List<ServiceOrderItem> items = new ArrayList<>();
128 ServiceOrderItem itemA = new ServiceOrderItem();
130 itemA.action(actionType);
131 Service serviceA = new Service();
132 if (actionType != ActionType.ADD) {
133 serviceA.setId("e4688e5f-61a0-4f8b-ae02-a2fbde623bcb");
135 serviceA.setServiceState("active");
136 ServiceSpecificationRef serviceSpecificationRefA = new ServiceSpecificationRef();
137 serviceSpecificationRefA.setId("1e3feeb0-8e36-46c6-862c-236d9c626439");
138 serviceA.setServiceSpecification(serviceSpecificationRefA);
139 itemA.setService(serviceA);
142 ServiceOrderItem itemB = new ServiceOrderItem();
144 itemB.action(actionType);
145 Service serviceB = new Service();
146 if (actionType != ActionType.ADD) {
147 serviceB.setId("e4688e5f-61a0-4f8b-ae02-a2fbde623bcb");
149 serviceB.setServiceState("active");
150 ServiceSpecificationRef serviceSpecificationRefB = new ServiceSpecificationRef();
151 serviceSpecificationRefB.setId("1e3feeb0-8e36-46c6-862c-236d9c626439");
152 serviceB.setServiceSpecification(serviceSpecificationRefB);
153 itemB.setService(serviceB);
154 List<OrderItemRelationship> orderItemRelationships = new ArrayList<>();
155 OrderItemRelationship orderItemRelationship = new OrderItemRelationship();
156 orderItemRelationship.setId("A");
157 orderItemRelationships.add(orderItemRelationship);
158 itemB.setOrderItemRelationship(orderItemRelationships);
160 serviceOrder.setOrderItem(items);
166 public static ExecutionTask setUpBddForExecutionTaskSucess(ServiceOrderRepository serviceOrderRepository,
167 ServiceOrderInfoRepository serviceOrderInfoRepository, ExecutionTaskRepository executionTaskRepository,
168 ActionType actionType) {
169 ServiceOrder testServiceOrder = createTestServiceOrder(actionType);
171 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
172 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
175 testServiceOrder.setState(StateType.ACKNOWLEDGED);
176 testServiceOrder.setId("test");
177 serviceOrderRepository.save(testServiceOrder);
179 LinkedHashMap<String, String> sdcResponse = new LinkedHashMap<>();
180 sdcResponse.put("invariantUUID", "uuid");
181 sdcResponse.put("name", "vFW");
182 sdcResponse.put("version", "v1");
184 ServiceOrderInfo serviceOrderInfo = new ServiceOrderInfo();
186 SubscriberInfo subscriberInfo = new SubscriberInfo();
187 subscriberInfo.setGlobalSubscriberId("6490");
188 subscriberInfo.setSubscriberName("edgar");
189 serviceOrderInfo.setSubscriberInfo(subscriberInfo);
191 ServiceOrderItemInfo serviceOrderItemInfoA = new ServiceOrderItemInfo();
192 serviceOrderItemInfoA.setId("A");
193 serviceOrderItemInfoA.setCatalogResponse(sdcResponse);
195 ServiceOrderItemInfo serviceOrderItemInfoB = new ServiceOrderItemInfo();
196 serviceOrderItemInfoB.setId("B");
197 serviceOrderItemInfoB.setCatalogResponse(sdcResponse);
198 serviceOrderInfo.addServiceOrderItemInfos("A", serviceOrderItemInfoA);
199 serviceOrderInfo.addServiceOrderItemInfos("B", serviceOrderItemInfoB);
201 String json = JsonEntityConverter.convertServiceOrderInfoToJson(serviceOrderInfo);
202 ServiceOrderInfoJson serviceOrderInfoJson = new ServiceOrderInfoJson("test", json);
203 serviceOrderInfoRepository.save(serviceOrderInfoJson);
205 ExecutionTask executionTaskA = new ExecutionTask();
206 executionTaskA.setNbRetries(3);
207 executionTaskA.setOrderItemId("A");
208 executionTaskA.setServiceOrderInfoJson(serviceOrderInfoJson);
209 executionTaskA = executionTaskRepository.save(executionTaskA);
210 ExecutionTask executionTaskB = new ExecutionTask();
211 executionTaskB.setNbRetries(3);
212 executionTaskB.setOrderItemId("B");
213 executionTaskB.setReliedTasks(String.valueOf(executionTaskA.getInternalId()));
214 executionTaskB.setServiceOrderInfoJson(serviceOrderInfoJson);
215 executionTaskRepository.save(executionTaskB);
216 return executionTaskA;