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.RelationshipType;
27 import org.onap.nbi.apis.serviceorder.model.ResourceSpecification;
28 import org.onap.nbi.apis.serviceorder.model.Service;
29 import org.onap.nbi.apis.serviceorder.model.ServiceCharacteristic;
30 import org.onap.nbi.apis.serviceorder.model.ServiceOrder;
31 import org.onap.nbi.apis.serviceorder.model.ServiceOrderItem;
32 import org.onap.nbi.apis.serviceorder.model.ServiceSpecificationRef;
33 import org.onap.nbi.apis.serviceorder.model.StateType;
34 import org.onap.nbi.apis.serviceorder.model.Value;
35 import org.onap.nbi.apis.serviceorder.model.consumer.SubscriberInfo;
36 import org.onap.nbi.apis.serviceorder.model.orchestrator.ExecutionTask;
37 import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderInfo;
38 import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderItemInfo;
39 import org.onap.nbi.apis.serviceorder.repositories.ExecutionTaskRepository;
40 import org.onap.nbi.apis.serviceorder.repositories.ServiceOrderRepository;
41 import org.onap.nbi.apis.serviceorder.utils.JsonEntityConverter;
44 public class ServiceOrderExecutionTaskAssertions {
46 public static ServiceOrder createTestServiceOrderRejected() {
47 ServiceOrder serviceOrder = new ServiceOrder();
48 serviceOrder.setExternalId("LudONAP001");
49 serviceOrder.setPriority("1");
50 serviceOrder.setDescription("Ludo first ONAP Order");
51 serviceOrder.setCategory("Consumer");
52 serviceOrder.setRequestedStartDate(new Date());
53 serviceOrder.setRequestedCompletionDate(new Date());
55 RelatedParty party = new RelatedParty();
57 party.setRole("ONAPcustomer");
58 party.setReferredType("individual");
59 party.setName("Jean Pontus");
60 List<RelatedParty> relatedPartyList = new ArrayList<>();
61 relatedPartyList.add(party);
62 serviceOrder.setRelatedParty(relatedPartyList);
64 List<ServiceOrderItem> items = new ArrayList<>();
66 ServiceOrderItem itemA = new ServiceOrderItem();
68 itemA.action(ActionType.ADD);
69 Service serviceA = new Service();
70 serviceA.setServiceState("active");
71 ServiceSpecificationRef serviceSpecificationRefA = new ServiceSpecificationRef();
72 serviceSpecificationRefA.setId("333");
73 serviceA.setServiceSpecification(serviceSpecificationRefA);
74 itemA.setService(serviceA);
77 ServiceOrderItem itemB = new ServiceOrderItem();
79 itemB.action(ActionType.ADD);
80 Service serviceB = new Service();
81 serviceB.setServiceState("active");
82 ServiceSpecificationRef serviceSpecificationRefB = new ServiceSpecificationRef();
83 serviceSpecificationRefB.setId("1e3feeb0-8e36-46c6-862c-236d9c626439");
84 serviceB.setServiceSpecification(serviceSpecificationRefB);
85 itemB.setService(serviceB);
86 List<OrderItemRelationship> orderItemRelationships = new ArrayList<>();
87 OrderItemRelationship orderItemRelationship = new OrderItemRelationship();
88 orderItemRelationship.setId("A");
89 orderItemRelationships.add(orderItemRelationship);
90 itemB.setOrderItemRelationship(orderItemRelationships);
92 serviceOrder.setOrderItem(items);
98 public static ServiceOrder createTestServiceOrder(ActionType actionType) {
99 ServiceOrder serviceOrder = new ServiceOrder();
100 serviceOrder.setExternalId("LudONAP001");
101 serviceOrder.setPriority("1");
102 serviceOrder.setDescription("Ludo first ONAP Order");
103 serviceOrder.setCategory("Consumer");
104 serviceOrder.setRequestedStartDate(new Date());
105 serviceOrder.setRequestedCompletionDate(new Date());
106 serviceOrder.setBaseType("toto");
107 serviceOrder.setCompletionDateTime(new Date());
108 serviceOrder.setExpectedCompletionDate(new Date());
109 serviceOrder.setSchemaLocation("/tutu");
111 OrderRelationship orderRelationship = new OrderRelationship();
112 orderRelationship.setId("test");
113 orderRelationship.setHref("test");
114 orderRelationship.setReferredType("test");
115 orderRelationship.setType("type");
116 List<OrderRelationship> relationships = new ArrayList<>();
117 serviceOrder.setOrderRelationship(relationships);
119 RelatedParty party = new RelatedParty();
121 party.setRole("ONAPcustomer");
122 party.setReferredType("individual");
123 party.setName("Jean Pontus");
124 List<RelatedParty> relatedPartyList = new ArrayList<>();
125 relatedPartyList.add(party);
126 serviceOrder.setRelatedParty(relatedPartyList);
128 List<ServiceOrderItem> items = new ArrayList<>();
130 ServiceOrderItem itemA = new ServiceOrderItem();
132 itemA.action(actionType);
133 Service serviceA = new Service();
134 if (actionType != ActionType.ADD) {
135 serviceA.setId("e4688e5f-61a0-4f8b-ae02-a2fbde623bcb");
137 serviceA.setServiceState("active");
138 ServiceSpecificationRef serviceSpecificationRefA = new ServiceSpecificationRef();
139 serviceSpecificationRefA.setId("1e3feeb0-8e36-46c6-862c-236d9c626439");
140 serviceA.setServiceSpecification(serviceSpecificationRefA);
141 itemA.setService(serviceA);
144 ServiceOrderItem itemB = new ServiceOrderItem();
146 itemB.action(actionType);
147 Service serviceB = new Service();
148 if (actionType != ActionType.ADD) {
149 serviceB.setId("e4688e5f-61a0-4f8b-ae02-a2fbde623bcb");
151 serviceB.setServiceState("active");
152 ServiceSpecificationRef serviceSpecificationRefB = new ServiceSpecificationRef();
153 serviceSpecificationRefB.setId("1e3feeb0-8e36-46c6-862c-236d9c626439");
154 serviceB.setServiceSpecification(serviceSpecificationRefB);
155 itemB.setService(serviceB);
156 List<OrderItemRelationship> orderItemRelationships = new ArrayList<>();
157 OrderItemRelationship orderItemRelationship = new OrderItemRelationship();
158 orderItemRelationship.setId("A");
159 orderItemRelationship.setType(RelationshipType.RELIESON);
160 orderItemRelationships.add(orderItemRelationship);
161 itemB.setOrderItemRelationship(orderItemRelationships);
163 serviceOrder.setOrderItem(items);
169 public static ExecutionTask setUpBddForExecutionTaskSucess(ServiceOrderRepository serviceOrderRepository,
170 ExecutionTaskRepository executionTaskRepository,
171 ActionType actionType) {
172 ServiceOrder testServiceOrder = createTestServiceOrder(actionType);
174 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
175 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
178 testServiceOrder.setState(StateType.ACKNOWLEDGED);
179 testServiceOrder.setId("test");
180 serviceOrderRepository.save(testServiceOrder);
182 LinkedHashMap<String, String> sdcResponse = new LinkedHashMap<>();
183 sdcResponse.put("invariantUUID", "uuid");
184 sdcResponse.put("name", "vFW");
185 sdcResponse.put("version", "v1");
186 sdcResponse.put("category", "NonE2E");
188 ServiceOrderInfo serviceOrderInfo = new ServiceOrderInfo();
189 serviceOrderInfo.setServiceOrderId("test");
190 SubscriberInfo subscriberInfo = new SubscriberInfo();
191 subscriberInfo.setGlobalSubscriberId("6490");
192 subscriberInfo.setSubscriberName("edgar");
193 serviceOrderInfo.setSubscriberInfo(subscriberInfo);
195 ServiceOrderItemInfo serviceOrderItemInfoA = new ServiceOrderItemInfo();
196 serviceOrderItemInfoA.setId("A");
197 serviceOrderItemInfoA.setCatalogResponse(sdcResponse);
199 ServiceOrderItemInfo serviceOrderItemInfoB = new ServiceOrderItemInfo();
200 serviceOrderItemInfoB.setId("B");
201 serviceOrderItemInfoB.setCatalogResponse(sdcResponse);
202 serviceOrderInfo.addServiceOrderItemInfos("A", serviceOrderItemInfoA);
203 serviceOrderInfo.addServiceOrderItemInfos("B", serviceOrderItemInfoB);
205 String json = JsonEntityConverter.convertServiceOrderInfoToJson(serviceOrderInfo);
207 ExecutionTask executionTaskA = new ExecutionTask();
208 executionTaskA.setCreateDate(new Date());
209 executionTaskA.setOrderItemId("A");
210 executionTaskA.setServiceOrderInfoJson(json);
211 executionTaskA = executionTaskRepository.save(executionTaskA);
212 ExecutionTask executionTaskB = new ExecutionTask();
213 executionTaskB.setCreateDate(new Date());
214 executionTaskB.setOrderItemId("B");
215 executionTaskB.setReliedTasks(String.valueOf(executionTaskA.getInternalId()));
216 executionTaskB.setServiceOrderInfoJson(json);
217 executionTaskRepository.save(executionTaskB);
218 return executionTaskA;
221 public static ExecutionTask setUpBddForE2EExecutionTaskSucess(ServiceOrderRepository serviceOrderRepository,
222 ExecutionTaskRepository executionTaskRepository,
223 ActionType actionType) {
224 ServiceOrder testServiceOrder = createTestServiceOrder(actionType);
226 for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
227 serviceOrderItem.setState(StateType.ACKNOWLEDGED);
228 List<ServiceCharacteristic> serviceCharacteristics = new ArrayList();
229 ServiceCharacteristic serviceCharacteristic1 = new ServiceCharacteristic();
230 serviceCharacteristic1.setName("access-site-id");
231 Value value1 = new Value();
232 value1.setServiceCharacteristicValue("1234765");
233 serviceCharacteristic1.setValue(value1);
234 serviceCharacteristics.add(serviceCharacteristic1);
235 ServiceCharacteristic serviceCharacteristic2 = new ServiceCharacteristic();
236 serviceCharacteristic2.setName("provider-site-id");
237 Value value2 = new Value();
238 value2.setServiceCharacteristicValue("654321");
239 serviceCharacteristic2.setValue(value2);
240 serviceCharacteristics.add(serviceCharacteristic2);
241 serviceOrderItem.getService().setServiceCharacteristic(serviceCharacteristics);
244 testServiceOrder.setState(StateType.ACKNOWLEDGED);
245 testServiceOrder.setId("test");
246 serviceOrderRepository.save(testServiceOrder);
248 LinkedHashMap<String, Object> sdcResponse = new LinkedHashMap<>();
249 sdcResponse.put("invariantUUID", "uuid");
250 sdcResponse.put("name", "vFW");
251 sdcResponse.put("version", "v1");
252 sdcResponse.put("category", "E2E Service");
254 List<ResourceSpecification> resourceSpecs = new ArrayList<>();
255 ResourceSpecification resourceSpecificationA = new ResourceSpecification();
256 resourceSpecificationA.setId("2e3feeb0-8e36-46c6-862c-236d9c626438");
257 resourceSpecificationA.setInstanceName("vFW-vSINK");
258 resourceSpecificationA.setName("vFW-SINK");
259 resourceSpecificationA.setType("ONAPresource");
260 resourceSpecificationA.setVersion("2.0");
261 resourceSpecificationA.setResourceInvariantUUID("6e3feeb0-8e36-46c6-862c-236d9c626438");
262 resourceSpecs.add(resourceSpecificationA);
264 sdcResponse.put("resourceSpecification", resourceSpecs );
266 ServiceOrderInfo serviceOrderInfo = new ServiceOrderInfo();
267 serviceOrderInfo.setServiceOrderId("test");
268 SubscriberInfo subscriberInfo = new SubscriberInfo();
269 subscriberInfo.setGlobalSubscriberId("6490");
270 subscriberInfo.setSubscriberName("edgar");
271 serviceOrderInfo.setSubscriberInfo(subscriberInfo);
273 ServiceOrderItemInfo serviceOrderItemInfoA = new ServiceOrderItemInfo();
274 serviceOrderItemInfoA.setId("A");
275 serviceOrderItemInfoA.setCatalogResponse(sdcResponse);
277 ServiceOrderItemInfo serviceOrderItemInfoB = new ServiceOrderItemInfo();
278 serviceOrderItemInfoB.setId("B");
279 serviceOrderItemInfoB.setCatalogResponse(sdcResponse);
280 serviceOrderInfo.addServiceOrderItemInfos("A", serviceOrderItemInfoA);
281 serviceOrderInfo.addServiceOrderItemInfos("B", serviceOrderItemInfoB);
283 String json = JsonEntityConverter.convertServiceOrderInfoToJson(serviceOrderInfo);
285 ExecutionTask executionTaskA = new ExecutionTask();
286 executionTaskA.setCreateDate(new Date());
287 executionTaskA.setOrderItemId("A");
288 executionTaskA.setServiceOrderInfoJson(json);
289 executionTaskA = executionTaskRepository.save(executionTaskA);
290 ExecutionTask executionTaskB = new ExecutionTask();
291 executionTaskB.setCreateDate(new Date());
292 executionTaskB.setOrderItemId("B");
293 executionTaskB.setReliedTasks(String.valueOf(executionTaskA.getInternalId()));
294 executionTaskB.setServiceOrderInfoJson(json);
295 executionTaskRepository.save(executionTaskB);
296 return executionTaskA;