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