3 * Copyright (c) 2017 Orange. All rights reserved.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 package org.onap.nbi.apis.assertions;
19 import java.util.ArrayList;
20 import java.util.Date;
21 import java.util.LinkedHashMap;
22 import java.util.List;
23 import org.onap.nbi.apis.serviceorder.model.ActionType;
24 import org.onap.nbi.apis.serviceorder.model.OrderItemRelationship;
25 import org.onap.nbi.apis.serviceorder.model.OrderRelationship;
26 import org.onap.nbi.apis.serviceorder.model.RelatedParty;
27 import org.onap.nbi.apis.serviceorder.model.Service;
28 import org.onap.nbi.apis.serviceorder.model.ServiceOrder;
29 import org.onap.nbi.apis.serviceorder.model.ServiceOrderItem;
30 import org.onap.nbi.apis.serviceorder.model.ServiceSpecificationRef;
31 import org.onap.nbi.apis.serviceorder.model.StateType;
32 import org.onap.nbi.apis.serviceorder.model.consumer.SubscriberInfo;
33 import org.onap.nbi.apis.serviceorder.model.orchestrator.ExecutionTask;
34 import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderInfo;
35 import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderInfoJson;
36 import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderItemInfo;
37 import org.onap.nbi.apis.serviceorder.repositories.ExecutionTaskRepository;
38 import org.onap.nbi.apis.serviceorder.repositories.ServiceOrderInfoRepository;
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 ServiceOrderInfoRepository serviceOrderInfoRepository, 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");
185 ServiceOrderInfo serviceOrderInfo = new ServiceOrderInfo();
187 SubscriberInfo subscriberInfo = new SubscriberInfo();
188 subscriberInfo.setGlobalSubscriberId("6490");
189 subscriberInfo.setSubscriberName("edgar");
190 serviceOrderInfo.setSubscriberInfo(subscriberInfo);
192 ServiceOrderItemInfo serviceOrderItemInfoA = new ServiceOrderItemInfo();
193 serviceOrderItemInfoA.setId("A");
194 serviceOrderItemInfoA.setCatalogResponse(sdcResponse);
196 ServiceOrderItemInfo serviceOrderItemInfoB = new ServiceOrderItemInfo();
197 serviceOrderItemInfoB.setId("B");
198 serviceOrderItemInfoB.setCatalogResponse(sdcResponse);
199 serviceOrderInfo.addServiceOrderItemInfos("A", serviceOrderItemInfoA);
200 serviceOrderInfo.addServiceOrderItemInfos("B", serviceOrderItemInfoB);
202 String json = JsonEntityConverter.convertServiceOrderInfoToJson(serviceOrderInfo);
203 ServiceOrderInfoJson serviceOrderInfoJson = new ServiceOrderInfoJson("test", json);
204 serviceOrderInfoRepository.save(serviceOrderInfoJson);
206 ExecutionTask executionTaskA = new ExecutionTask();
207 executionTaskA.setNbRetries(3);
208 executionTaskA.setOrderItemId("A");
209 executionTaskA.setServiceOrderInfoJson(serviceOrderInfoJson);
210 executionTaskA = executionTaskRepository.save(executionTaskA);
211 ExecutionTask executionTaskB = new ExecutionTask();
212 executionTaskB.setNbRetries(3);
213 executionTaskB.setOrderItemId("B");
214 executionTaskB.setReliedTasks(String.valueOf(executionTaskA.getInternalId()));
215 executionTaskB.setServiceOrderInfoJson(serviceOrderInfoJson);
216 executionTaskRepository.save(executionTaskB);
217 return executionTaskA;