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