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.ResourceSpecification;
27 import org.onap.nbi.apis.serviceorder.model.Service;
28 import org.onap.nbi.apis.serviceorder.model.ServiceCharacteristic;
29 import org.onap.nbi.apis.serviceorder.model.ServiceOrder;
30 import org.onap.nbi.apis.serviceorder.model.ServiceOrderItem;
31 import org.onap.nbi.apis.serviceorder.model.ServiceSpecificationRef;
32 import org.onap.nbi.apis.serviceorder.model.StateType;
33 import org.onap.nbi.apis.serviceorder.model.Value;
34 import org.onap.nbi.apis.serviceorder.model.consumer.SubscriberInfo;
35 import org.onap.nbi.apis.serviceorder.model.orchestrator.ExecutionTask;
36 import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderInfo;
37 import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderItemInfo;
38 import org.onap.nbi.apis.serviceorder.repositories.ExecutionTaskRepository;
39 import org.onap.nbi.apis.serviceorder.repositories.ServiceOrderRepository;
40 import org.onap.nbi.apis.serviceorder.utils.JsonEntityConverter;
43 public class ServiceOrderAssertions {
45 public static ServiceOrder createTestServiceOrderRejected() {
46 ServiceOrder serviceOrder = new ServiceOrder();
47 serviceOrder.setExternalId("LudONAP001");
48 serviceOrder.setPriority("1");
49 serviceOrder.setDescription("Ludo first ONAP Order");
50 serviceOrder.setCategory("Consumer");
51 serviceOrder.setRequestedStartDate(new Date());
52 serviceOrder.setRequestedCompletionDate(new Date());
54 RelatedParty party = new RelatedParty();
56 party.setRole("ONAPcustomer");
57 party.setReferredType("individual");
58 party.setName("Jean Pontus");
59 List<RelatedParty> relatedPartyList = new ArrayList<>();
60 relatedPartyList.add(party);
61 serviceOrder.setRelatedParty(relatedPartyList);
63 List<ServiceOrderItem> items = new ArrayList<>();
65 ServiceOrderItem itemA = new ServiceOrderItem();
67 itemA.action(ActionType.ADD);
68 Service serviceA = new Service();
69 serviceA.setServiceState("active");
70 ServiceSpecificationRef serviceSpecificationRefA = new ServiceSpecificationRef();
71 serviceSpecificationRefA.setId("333");
72 serviceA.setServiceSpecification(serviceSpecificationRefA);
73 itemA.setService(serviceA);
76 ServiceOrderItem itemB = new ServiceOrderItem();
78 itemB.action(ActionType.ADD);
79 Service serviceB = new Service();
80 serviceB.setServiceState("active");
81 ServiceSpecificationRef serviceSpecificationRefB = new ServiceSpecificationRef();
82 serviceSpecificationRefB.setId("1e3feeb0-8e36-46c6-862c-236d9c626439");
83 serviceB.setServiceSpecification(serviceSpecificationRefB);
84 itemB.setService(serviceB);
85 List<OrderItemRelationship> orderItemRelationships = new ArrayList<>();
86 OrderItemRelationship orderItemRelationship = new OrderItemRelationship();
87 orderItemRelationship.setId("A");
88 orderItemRelationships.add(orderItemRelationship);
89 itemB.setOrderItemRelationship(orderItemRelationships);
91 serviceOrder.setOrderItem(items);
97 public static ServiceOrder createTestServiceOrder(ActionType actionType) {
98 ServiceOrder serviceOrder = new ServiceOrder();
99 serviceOrder.setExternalId("LudONAP001");
100 serviceOrder.setPriority("1");
101 serviceOrder.setDescription("Ludo first ONAP Order");
102 serviceOrder.setCategory("Consumer");
103 serviceOrder.setRequestedStartDate(new Date());
104 serviceOrder.setRequestedCompletionDate(new Date());
105 serviceOrder.setBaseType("toto");
106 serviceOrder.setCompletionDateTime(new Date());
107 serviceOrder.setExpectedCompletionDate(new Date());
108 serviceOrder.setSchemaLocation("/tutu");
110 OrderRelationship orderRelationship = new OrderRelationship();
111 orderRelationship.setId("test");
112 orderRelationship.setHref("test");
113 orderRelationship.setReferredType("test");
114 orderRelationship.setType("type");
115 List<OrderRelationship> relationships = new ArrayList<>();
116 serviceOrder.setOrderRelationship(relationships);
118 RelatedParty party = new RelatedParty();
120 party.setRole("ONAPcustomer");
121 party.setReferredType("individual");
122 party.setName("Jean Pontus");
123 List<RelatedParty> relatedPartyList = new ArrayList<>();
124 relatedPartyList.add(party);
125 serviceOrder.setRelatedParty(relatedPartyList);
127 List<ServiceOrderItem> items = new ArrayList<>();
129 ServiceOrderItem itemA = new ServiceOrderItem();
131 itemA.action(actionType);
132 Service serviceA = new Service();
133 if (actionType != ActionType.ADD) {
134 serviceA.setId("e4688e5f-61a0-4f8b-ae02-a2fbde623bcb");
136 serviceA.setServiceState("active");
137 ServiceSpecificationRef serviceSpecificationRefA = new ServiceSpecificationRef();
138 serviceSpecificationRefA.setId("1e3feeb0-8e36-46c6-862c-236d9c626439");
139 serviceA.setServiceSpecification(serviceSpecificationRefA);
140 itemA.setService(serviceA);
143 ServiceOrderItem itemB = new ServiceOrderItem();
145 itemB.action(actionType);
146 Service serviceB = new Service();
147 if (actionType != ActionType.ADD) {
148 serviceB.setId("e4688e5f-61a0-4f8b-ae02-a2fbde623bcb");
150 serviceB.setServiceState("active");
151 ServiceSpecificationRef serviceSpecificationRefB = new ServiceSpecificationRef();
152 serviceSpecificationRefB.setId("1e3feeb0-8e36-46c6-862c-236d9c626439");
153 serviceB.setServiceSpecification(serviceSpecificationRefB);
154 itemB.setService(serviceB);
155 List<OrderItemRelationship> orderItemRelationships = new ArrayList<>();
156 OrderItemRelationship orderItemRelationship = new OrderItemRelationship();
157 orderItemRelationship.setId("A");
158 orderItemRelationships.add(orderItemRelationship);
159 itemB.setOrderItemRelationship(orderItemRelationships);
161 serviceOrder.setOrderItem(items);
167 public static ExecutionTask setUpBddForExecutionTaskSucess(ServiceOrderRepository serviceOrderRepository,
168 ExecutionTaskRepository executionTaskRepository,
169 ActionType actionType) {
170 ServiceOrder testServiceOrder = createTestServiceOrder(actionType);
172 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
173 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
176 testServiceOrder.setState(StateType.ACKNOWLEDGED);
177 testServiceOrder.setId("test");
178 serviceOrderRepository.save(testServiceOrder);
180 LinkedHashMap<String, String> sdcResponse = new LinkedHashMap<>();
181 sdcResponse.put("invariantUUID", "uuid");
182 sdcResponse.put("name", "vFW");
183 sdcResponse.put("version", "v1");
184 sdcResponse.put("category", "NonE2E");
186 ServiceOrderInfo serviceOrderInfo = new ServiceOrderInfo();
187 serviceOrderInfo.setServiceOrderId("test");
188 SubscriberInfo subscriberInfo = new SubscriberInfo();
189 subscriberInfo.setGlobalSubscriberId("6490");
190 subscriberInfo.setSubscriberName("edgar");
191 serviceOrderInfo.setSubscriberInfo(subscriberInfo);
193 ServiceOrderItemInfo serviceOrderItemInfoA = new ServiceOrderItemInfo();
194 serviceOrderItemInfoA.setId("A");
195 serviceOrderItemInfoA.setCatalogResponse(sdcResponse);
197 ServiceOrderItemInfo serviceOrderItemInfoB = new ServiceOrderItemInfo();
198 serviceOrderItemInfoB.setId("B");
199 serviceOrderItemInfoB.setCatalogResponse(sdcResponse);
200 serviceOrderInfo.addServiceOrderItemInfos("A", serviceOrderItemInfoA);
201 serviceOrderInfo.addServiceOrderItemInfos("B", serviceOrderItemInfoB);
203 String json = JsonEntityConverter.convertServiceOrderInfoToJson(serviceOrderInfo);
205 ExecutionTask executionTaskA = new ExecutionTask();
206 executionTaskA.setNbRetries(3);
207 executionTaskA.setOrderItemId("A");
208 executionTaskA.setServiceOrderInfoJson(json);
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(json);
215 executionTaskRepository.save(executionTaskB);
216 return executionTaskA;
219 public static ExecutionTask setUpBddForE2EExecutionTaskSucess(ServiceOrderRepository serviceOrderRepository,
220 ExecutionTaskRepository executionTaskRepository,
221 ActionType actionType) {
222 ServiceOrder testServiceOrder = createTestServiceOrder(actionType);
224 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
225 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
226 List<ServiceCharacteristic> serviceCharacteristics = new ArrayList();
227 ServiceCharacteristic serviceCharacteristic1 = new ServiceCharacteristic();
228 serviceCharacteristic1.setName("access-site-id");
229 Value value1 = new Value();
230 value1.setServiceCharacteristicValue("1234765");
231 serviceCharacteristic1.setValue(value1);
232 serviceCharacteristics.add(serviceCharacteristic1);
233 ServiceCharacteristic serviceCharacteristic2 = new ServiceCharacteristic();
234 serviceCharacteristic2.setName("provider-site-id");
235 Value value2 = new Value();
236 value2.setServiceCharacteristicValue("654321");
237 serviceCharacteristic2.setValue(value2);
238 serviceCharacteristics.add(serviceCharacteristic2);
239 serviceOrderItem.getService().setServiceCharacteristic(serviceCharacteristics);
242 testServiceOrder.setState(StateType.ACKNOWLEDGED);
243 testServiceOrder.setId("test");
244 serviceOrderRepository.save(testServiceOrder);
246 LinkedHashMap<String, Object> sdcResponse = new LinkedHashMap<>();
247 sdcResponse.put("invariantUUID", "uuid");
248 sdcResponse.put("name", "vFW");
249 sdcResponse.put("version", "v1");
250 sdcResponse.put("category", "E2E Service");
252 List<ResourceSpecification> resourceSpecs = new ArrayList<>();
253 ResourceSpecification resourceSpecificationA = new ResourceSpecification();
254 resourceSpecificationA.setId("2e3feeb0-8e36-46c6-862c-236d9c626438");
255 resourceSpecificationA.setInstanceName("vFW-vSINK");
256 resourceSpecificationA.setName("vFW-SINK");
257 resourceSpecificationA.setType("ONAPresource");
258 resourceSpecificationA.setVersion("2.0");
259 resourceSpecificationA.setResourceInvariantUUID("6e3feeb0-8e36-46c6-862c-236d9c626438");
260 resourceSpecs.add(resourceSpecificationA);
262 sdcResponse.put("resourceSpecification", resourceSpecs );
264 ServiceOrderInfo serviceOrderInfo = new ServiceOrderInfo();
265 serviceOrderInfo.setServiceOrderId("test");
266 SubscriberInfo subscriberInfo = new SubscriberInfo();
267 subscriberInfo.setGlobalSubscriberId("6490");
268 subscriberInfo.setSubscriberName("edgar");
269 serviceOrderInfo.setSubscriberInfo(subscriberInfo);
271 ServiceOrderItemInfo serviceOrderItemInfoA = new ServiceOrderItemInfo();
272 serviceOrderItemInfoA.setId("A");
273 serviceOrderItemInfoA.setCatalogResponse(sdcResponse);
275 ServiceOrderItemInfo serviceOrderItemInfoB = new ServiceOrderItemInfo();
276 serviceOrderItemInfoB.setId("B");
277 serviceOrderItemInfoB.setCatalogResponse(sdcResponse);
278 serviceOrderInfo.addServiceOrderItemInfos("A", serviceOrderItemInfoA);
279 serviceOrderInfo.addServiceOrderItemInfos("B", serviceOrderItemInfoB);
281 String json = JsonEntityConverter.convertServiceOrderInfoToJson(serviceOrderInfo);
283 ExecutionTask executionTaskA = new ExecutionTask();
284 executionTaskA.setNbRetries(3);
285 executionTaskA.setOrderItemId("A");
286 executionTaskA.setServiceOrderInfoJson(json);
287 executionTaskA = executionTaskRepository.save(executionTaskA);
288 ExecutionTask executionTaskB = new ExecutionTask();
289 executionTaskB.setNbRetries(3);
290 executionTaskB.setOrderItemId("B");
291 executionTaskB.setReliedTasks(String.valueOf(executionTaskA.getInternalId()));
292 executionTaskB.setServiceOrderInfoJson(json);
293 executionTaskRepository.save(executionTaskB);
294 return executionTaskA;