d21b0161af26fd641a75eda4e0f93fbdd7fa04f3
[externalapi/nbi.git] / src / test / java / org / onap / nbi / apis / assertions / ServiceOrderAssertions.java
1 /**
2  *
3  *     Copyright (c) 2017 Orange.  All rights reserved.
4  *
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
8  *
9  *         http://www.apache.org/licenses/LICENSE-2.0
10  *
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.
16  */
17 package org.onap.nbi.apis.assertions;
18
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;
41
42
43 public class ServiceOrderAssertions {
44
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());
53
54         RelatedParty party = new RelatedParty();
55         party.setId("6490");
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);
62
63         List<ServiceOrderItem> items = new ArrayList<>();
64
65         ServiceOrderItem itemA = new ServiceOrderItem();
66         itemA.id("A");
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);
74         items.add(itemA);
75
76         ServiceOrderItem itemB = new ServiceOrderItem();
77         itemB.id("B");
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);
90         items.add(itemB);
91         serviceOrder.setOrderItem(items);
92         return serviceOrder;
93
94     }
95
96
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");
109
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);
117
118         RelatedParty party = new RelatedParty();
119         party.setId("6490");
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);
126
127         List<ServiceOrderItem> items = new ArrayList<>();
128
129         ServiceOrderItem itemA = new ServiceOrderItem();
130         itemA.id("A");
131         itemA.action(actionType);
132         Service serviceA = new Service();
133         if (actionType != ActionType.ADD) {
134             serviceA.setId("e4688e5f-61a0-4f8b-ae02-a2fbde623bcb");
135         }
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);
141         items.add(itemA);
142
143         ServiceOrderItem itemB = new ServiceOrderItem();
144         itemB.id("B");
145         itemB.action(actionType);
146         Service serviceB = new Service();
147         if (actionType != ActionType.ADD) {
148             serviceB.setId("e4688e5f-61a0-4f8b-ae02-a2fbde623bcb");
149         }
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);
160         items.add(itemB);
161         serviceOrder.setOrderItem(items);
162         return serviceOrder;
163
164     }
165
166
167     public static ExecutionTask setUpBddForExecutionTaskSucess(ServiceOrderRepository serviceOrderRepository,
168             ServiceOrderInfoRepository serviceOrderInfoRepository, ExecutionTaskRepository executionTaskRepository,
169             ActionType actionType) {
170         ServiceOrder testServiceOrder = createTestServiceOrder(actionType);
171
172         for (ServiceOrderItem serviceOrderItem : testServiceOrder.getOrderItem()) {
173             serviceOrderItem.setState(StateType.ACKNOWLEDGED);
174         }
175
176         testServiceOrder.setState(StateType.ACKNOWLEDGED);
177         testServiceOrder.setId("test");
178         serviceOrderRepository.save(testServiceOrder);
179
180         LinkedHashMap<String, String> sdcResponse = new LinkedHashMap<>();
181         sdcResponse.put("invariantUUID", "uuid");
182         sdcResponse.put("name", "vFW");
183         sdcResponse.put("version", "v1");
184
185         ServiceOrderInfo serviceOrderInfo = new ServiceOrderInfo();
186
187         SubscriberInfo subscriberInfo = new SubscriberInfo();
188         subscriberInfo.setGlobalSubscriberId("6490");
189         subscriberInfo.setSubscriberName("edgar");
190         serviceOrderInfo.setSubscriberInfo(subscriberInfo);
191
192         ServiceOrderItemInfo serviceOrderItemInfoA = new ServiceOrderItemInfo();
193         serviceOrderItemInfoA.setId("A");
194         serviceOrderItemInfoA.setCatalogResponse(sdcResponse);
195
196         ServiceOrderItemInfo serviceOrderItemInfoB = new ServiceOrderItemInfo();
197         serviceOrderItemInfoB.setId("B");
198         serviceOrderItemInfoB.setCatalogResponse(sdcResponse);
199         serviceOrderInfo.addServiceOrderItemInfos("A", serviceOrderItemInfoA);
200         serviceOrderInfo.addServiceOrderItemInfos("B", serviceOrderItemInfoB);
201
202         String json = JsonEntityConverter.convertServiceOrderInfoToJson(serviceOrderInfo);
203         ServiceOrderInfoJson serviceOrderInfoJson = new ServiceOrderInfoJson("test", json);
204         serviceOrderInfoRepository.save(serviceOrderInfoJson);
205
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;
218     }
219
220
221
222 }