2 * Copyright © 2017 AT&T, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.transportpce.pce.utils;
10 import java.util.List;
13 import org.opendaylight.transportpce.common.ResponseCodes;
14 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRequestInput;
15 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRequestInputBuilder;
16 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRequestOutput;
17 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRequestOutputBuilder;
18 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRerouteRequestInput;
19 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRerouteRequestInputBuilder;
20 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.path.computation.request.input.ServiceAEndBuilder;
21 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.path.computation.request.input.ServiceZEndBuilder;
22 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.path.computation.reroute.request.input.EndpointsBuilder;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev210528.NodeIdType;
24 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.ConnectionType;
25 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.configuration.response.common.ConfigurationResponseCommon;
26 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.configuration.response.common.ConfigurationResponseCommonBuilder;
27 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.sdnc.request.header.SdncRequestHeaderBuilder;
28 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.endpoint.RxDirectionKey;
29 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.endpoint.TxDirectionKey;
30 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.port.PortBuilder;
31 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.CoRoutingBuilder;
32 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.DiversityBuilder;
33 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.ExcludeBuilder;
34 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.IncludeBuilder;
35 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.LatencyBuilder;
36 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.co.routing.ServiceIdentifierListBuilder;
37 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.diversity.existing.service.constraints.ServiceIdentifierListKey;
38 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.routing.constraints.HardConstraintsBuilder;
39 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.routing.constraints.SoftConstraintsBuilder;
40 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.service.applicability.g.ServiceApplicabilityBuilder;
41 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev191129.ServiceFormat;
42 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceCreateInput;
43 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceCreateInputBuilder;
44 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev230501.path.description.AToZDirectionBuilder;
45 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev230501.path.description.ZToADirectionBuilder;
46 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.PceMetric;
47 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.ResponseParametersBuilder;
48 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.response.parameters.PathDescription;
49 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.response.parameters.PathDescriptionBuilder;
50 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder;
51 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder;
52 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.handler.header.ServiceHandlerHeaderBuilder;
53 import org.opendaylight.yangtools.yang.common.Decimal64;
54 import org.opendaylight.yangtools.yang.common.Uint32;
55 import org.opendaylight.yangtools.yang.common.Uint8;
57 public final class PceTestData {
59 private PceTestData() {
62 public static PathComputationRequestInput getEmptyPCERequest() {
63 return new PathComputationRequestInputBuilder()
64 .setServiceHandlerHeader(
65 new ServiceHandlerHeaderBuilder()
66 .setRequestId("request1")
71 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithRequestId() {
72 return new PathComputationRequestInputBuilder()
73 .setServiceName("serviceName")
74 .setServiceHandlerHeader(
75 new ServiceHandlerHeaderBuilder()
76 .setRequestId("request1")
81 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithOutRequestId() {
82 return new PathComputationRequestInputBuilder()
83 .setServiceName("serviceName")
84 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().build())
88 public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral2() {
89 return new PathComputationRequestInputBuilder()
90 .setServiceName("service1")
91 .setResourceReserve(true)
92 .setPceRoutingMetric(PceMetric.HopCount)
93 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
94 .setRequestId("request1")
96 .setServiceAEnd(new ServiceAEndBuilder()
97 .setServiceFormat(ServiceFormat.ODU)
98 .setServiceRate(Uint32.valueOf(100))
100 .setNodeId("XPONDER-2-2")
101 .setTxDirection(new TxDirectionBuilder()
102 .setPort(new PortBuilder()
103 .setPortDeviceName("Some port-device-name")
104 .setPortType("Some port-type")
105 .setPortName("Some port-name")
106 .setPortRack("Some port-rack")
107 .setPortShelf("Some port-shelf")
108 .setPortSlot("Some port-slot")
109 .setPortSubSlot("Some port-sub-slot")
112 .setRxDirection(new RxDirectionBuilder()
113 .setPort(new PortBuilder()
114 .setPortDeviceName("Some port-device-name")
115 .setPortType("Some port-type")
116 .setPortName("Some port-name")
117 .setPortRack("Some port-rack")
118 .setPortShelf("Some port-shelf")
119 .setPortSlot("Some port-slot")
120 .setPortSubSlot("Some port-sub-slot")
124 .setServiceZEnd(new ServiceZEndBuilder()
125 .setServiceFormat(ServiceFormat.ODU)
126 .setServiceRate(Uint32.valueOf(0))
127 .setClli("Some clli11")
128 .setNodeId("XPONDER-1-2")
129 .setTxDirection(new TxDirectionBuilder()
130 .setPort(new PortBuilder()
131 .setPortDeviceName("Some port-device-name")
132 .setPortType("Some port-type")
133 .setPortName("Some port-name")
134 .setPortRack("Some port-rack")
135 .setPortShelf("Some port-shelf")
136 .setPortSlot("Some port-slot")
137 .setPortSubSlot("Some port-sub-slot")
140 .setRxDirection(new RxDirectionBuilder()
141 .setPort(new PortBuilder()
142 .setPortDeviceName("Some port-device-name")
143 .setPortType("Some port-type")
144 .setPortName("Some port-name")
145 .setPortRack("Some port-rack")
146 .setPortShelf("Some port-shelf")
147 .setPortSlot("Some port-slot")
148 .setPortSubSlot("Some port-sub-slot")
152 .setHardConstraints(new HardConstraintsBuilder()
153 .setCustomerCode(Set.of("Some customer-code"))
154 .setCoRouting(new CoRoutingBuilder()
155 .setServiceIdentifierList(Map.of(
156 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209
157 .constraints.co.routing.ServiceIdentifierListKey("Some existing-service"),
158 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
161 .setSoftConstraints(new SoftConstraintsBuilder()
162 .setCustomerCode(Set.of("Some customer-code"))
163 .setCoRouting(new CoRoutingBuilder()
164 .setServiceIdentifierList(Map.of(
165 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209
166 .constraints.co.routing.ServiceIdentifierListKey("Some existing-service"),
167 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
173 public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral() {
174 return new PathComputationRequestInputBuilder()
175 .setServiceName("service1")
176 .setResourceReserve(true)
177 .setPceRoutingMetric(PceMetric.HopCount)
178 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
179 .setRequestId("request1")
181 .setServiceAEnd(new ServiceAEndBuilder()
182 .setServiceFormat(ServiceFormat.Ethernet)
183 .setServiceRate(Uint32.valueOf(100))
185 .setNodeId("XPONDER-2-2")
186 .setTxDirection(new TxDirectionBuilder()
187 .setPort(new PortBuilder()
188 .setPortDeviceName("Some port-device-name")
189 .setPortType("Some port-type")
190 .setPortName("Some port-name")
191 .setPortRack("Some port-rack")
192 .setPortShelf("Some port-shelf")
193 .setPortSlot("Some port-slot")
194 .setPortSubSlot("Some port-sub-slot")
197 .setRxDirection(new RxDirectionBuilder()
198 .setPort(new PortBuilder()
199 .setPortDeviceName("Some port-device-name")
200 .setPortType("Some port-type")
201 .setPortName("Some port-name")
202 .setPortRack("Some port-rack")
203 .setPortShelf("Some port-shelf")
204 .setPortSlot("Some port-slot")
205 .setPortSubSlot("Some port-sub-slot")
209 .setServiceZEnd(new ServiceZEndBuilder()
210 .setServiceFormat(ServiceFormat.Ethernet)
211 .setServiceRate(Uint32.valueOf(0))
212 .setClli("Some clli11")
213 .setNodeId("XPONDER-1-2")
214 .setTxDirection(new TxDirectionBuilder()
215 .setPort(new PortBuilder()
216 .setPortDeviceName("Some port-device-name")
217 .setPortType("Some port-type")
218 .setPortName("Some port-name")
219 .setPortRack("Some port-rack")
220 .setPortShelf("Some port-shelf")
221 .setPortSlot("Some port-slot")
222 .setPortSubSlot("Some port-sub-slot")
225 .setRxDirection(new RxDirectionBuilder()
226 .setPort(new PortBuilder()
227 .setPortDeviceName("Some port-device-name")
228 .setPortType("Some port-type")
229 .setPortName("Some port-name")
230 .setPortRack("Some port-rack")
231 .setPortShelf("Some port-shelf")
232 .setPortSlot("Some port-slot")
233 .setPortSubSlot("Some port-sub-slot")
237 .setHardConstraints(new HardConstraintsBuilder()
238 .setCustomerCode(Set.of("Some customer-code"))
239 .setCoRouting(new CoRoutingBuilder()
240 .setServiceIdentifierList(Map.of(
241 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.co
242 .routing.ServiceIdentifierListKey("Some existing-service"),
243 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
246 .setSoftConstraints(new SoftConstraintsBuilder()
247 .setCustomerCode(Set.of("Some customer-code"))
248 .setCoRouting(new CoRoutingBuilder()
249 .setServiceIdentifierList(Map.of(
250 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.co
251 .routing.ServiceIdentifierListKey("Some existing-service"),
252 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
258 public static PathComputationRequestInput getPCERequest() {
259 return new PathComputationRequestInputBuilder()
260 .setServiceName("service1")
261 .setResourceReserve(true)
262 .setPceRoutingMetric(PceMetric.HopCount)
263 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
264 .setRequestId("request1")
266 .setServiceAEnd(new ServiceAEndBuilder()
267 .setServiceFormat(ServiceFormat.Ethernet)
268 .setServiceRate(Uint32.valueOf(100))
270 .setNodeId("XPONDER-2-2")
271 .setTxDirection(new TxDirectionBuilder()
272 .setPort(new PortBuilder()
273 .setPortDeviceName("Some port-device-name")
274 .setPortType("Some port-type")
275 .setPortName("Some port-name")
276 .setPortRack("Some port-rack")
277 .setPortShelf("Some port-shelf")
278 .setPortSlot("Some port-slot")
279 .setPortSubSlot("Some port-sub-slot")
282 .setRxDirection(new RxDirectionBuilder()
283 .setPort(new PortBuilder()
284 .setPortDeviceName("Some port-device-name")
285 .setPortType("Some port-type")
286 .setPortName("Some port-name")
287 .setPortRack("Some port-rack")
288 .setPortShelf("Some port-shelf")
289 .setPortSlot("Some port-slot")
290 .setPortSubSlot("Some port-sub-slot")
294 .setServiceZEnd(new ServiceZEndBuilder()
295 .setServiceFormat(ServiceFormat.Ethernet)
296 .setServiceRate(Uint32.valueOf(0))
297 .setClli("Some clli11")
298 .setNodeId("XPONDER-1-2")
299 .setTxDirection(new TxDirectionBuilder()
300 .setPort(new PortBuilder()
301 .setPortDeviceName("Some port-device-name")
302 .setPortType("Some port-type")
303 .setPortName("Some port-name")
304 .setPortRack("Some port-rack")
305 .setPortShelf("Some port-shelf")
306 .setPortSlot("Some port-slot")
307 .setPortSubSlot("Some port-sub-slot")
310 .setRxDirection(new RxDirectionBuilder()
311 .setPort(new PortBuilder()
312 .setPortDeviceName("Some port-device-name")
313 .setPortType("Some port-type")
314 .setPortName("Some port-name")
315 .setPortRack("Some port-rack")
316 .setPortShelf("Some port-shelf")
317 .setPortSlot("Some port-slot")
318 .setPortSubSlot("Some port-sub-slot")
322 .setHardConstraints(new HardConstraintsBuilder()
323 .setCustomerCode(Set.of("Some customer-code"))
324 .setCoRouting(new CoRoutingBuilder()
325 .setServiceIdentifierList(Map.of(
326 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.co
327 .routing.ServiceIdentifierListKey("Some existing-service"),
328 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
331 .setSoftConstraints(new SoftConstraintsBuilder()
332 .setCustomerCode(Set.of("Some customer-code"))
333 .setCoRouting(new CoRoutingBuilder()
334 .setServiceIdentifierList(Map.of(
335 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.co
336 .routing.ServiceIdentifierListKey("Some existing-service"),
337 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
343 public static PathComputationRerouteRequestInput getPCERerouteRequest() {
344 return new PathComputationRerouteRequestInputBuilder()
345 .setPceRoutingMetric(PceMetric.HopCount)
346 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
347 .setRequestId("request1")
349 .setServiceAEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205
350 .path.computation.reroute.request.input.ServiceAEndBuilder()
351 .setServiceFormat(ServiceFormat.Ethernet)
352 .setServiceRate(Uint32.valueOf(100))
354 .setNodeId("XPONDER-2-2")
355 .setTxDirection(new TxDirectionBuilder()
356 .setPort(new PortBuilder()
357 .setPortDeviceName("Some port-device-name")
358 .setPortType("Some port-type")
359 .setPortName("Some port-name")
360 .setPortRack("Some port-rack")
361 .setPortShelf("Some port-shelf")
362 .setPortSlot("Some port-slot")
363 .setPortSubSlot("Some port-sub-slot")
366 .setRxDirection(new RxDirectionBuilder()
367 .setPort(new PortBuilder()
368 .setPortDeviceName("Some port-device-name")
369 .setPortType("Some port-type")
370 .setPortName("Some port-name")
371 .setPortRack("Some port-rack")
372 .setPortShelf("Some port-shelf")
373 .setPortSlot("Some port-slot")
374 .setPortSubSlot("Some port-sub-slot")
378 .setServiceZEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205
379 .path.computation.reroute.request.input.ServiceZEndBuilder()
380 .setServiceFormat(ServiceFormat.Ethernet)
381 .setServiceRate(Uint32.valueOf(0))
382 .setClli("Some clli11")
383 .setNodeId("XPONDER-1-2")
384 .setTxDirection(new TxDirectionBuilder()
385 .setPort(new PortBuilder()
386 .setPortDeviceName("Some port-device-name")
387 .setPortType("Some port-type")
388 .setPortName("Some port-name")
389 .setPortRack("Some port-rack")
390 .setPortShelf("Some port-shelf")
391 .setPortSlot("Some port-slot")
392 .setPortSubSlot("Some port-sub-slot")
395 .setRxDirection(new RxDirectionBuilder()
396 .setPort(new PortBuilder()
397 .setPortDeviceName("Some port-device-name")
398 .setPortType("Some port-type")
399 .setPortName("Some port-name")
400 .setPortRack("Some port-rack")
401 .setPortShelf("Some port-shelf")
402 .setPortSlot("Some port-slot")
403 .setPortSubSlot("Some port-sub-slot")
407 .setHardConstraints(new HardConstraintsBuilder()
408 .setCustomerCode(Set.of("Some customer-code"))
409 .setCoRouting(new CoRoutingBuilder()
410 .setServiceIdentifierList(Map.of(
411 new org.opendaylight.yang.gen.v1
412 .http.org.openroadm.routing.constraints.rev221209
413 .constraints.co.routing.ServiceIdentifierListKey("test"),
414 new ServiceIdentifierListBuilder().setServiceIdentifier("test").build()))
417 .setSoftConstraints(new SoftConstraintsBuilder()
418 .setCustomerCode(Set.of("Some customer-code"))
419 .setCoRouting(new CoRoutingBuilder()
420 .setServiceIdentifierList(Map.of(
421 new org.opendaylight.yang.gen.v1
422 .http.org.openroadm.routing.constraints.rev221209
423 .constraints.co.routing.ServiceIdentifierListKey("test"),
424 new ServiceIdentifierListBuilder().setServiceIdentifier("test").build()))
427 .setEndpoints(new EndpointsBuilder()
434 public static PathComputationRequestOutput getFailedPCEResultYes() {
435 return new PathComputationRequestOutputBuilder()
436 .setConfigurationResponseCommon(
437 new ConfigurationResponseCommonBuilder()
438 .setAckFinalIndicator("Yes")
439 .setRequestId("request1")
440 .setResponseCode("Path not calculated")
441 .setResponseMessage("Service Name is not set")
443 .setResponseParameters(null)
447 public static PathComputationRequestOutput getPCEResultOk(Long wl) {
448 return new PathComputationRequestOutputBuilder()
449 .setConfigurationResponseCommon(createCommonSuccessResponse())
450 .setResponseParameters(
451 new ResponseParametersBuilder()
452 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
458 * Generate Data for Test 1 request 5-4.
461 * "pce:service-name": "service 1",
462 * "pce:resource-reserve": "true",
463 * "pce:service-handler-header": {
464 * "pce:request-id": "request 1"
466 * "pce:service-a-end": {
467 * "pce:service-rate": "0",
468 * "pce:node-id": "XPONDER-1-2"
470 * "pce:service-z-end": {
471 * "pce:service-rate": "0",
472 * "pce:node-id": "XPONDER-3-2"
474 * "pce:pce-metric": "hop-count"
477 * @return input PathComputationRequestInput data
479 public static PathComputationRequestInput getPCE_test1_request_54() {
480 return new PathComputationRequestInputBuilder()
481 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
482 .setRequestId("request 1")
484 .setServiceName("service 1")
485 .setResourceReserve(true)
486 .setPceRoutingMetric(PceMetric.HopCount)
487 .setServiceAEnd(new ServiceAEndBuilder()
488 .setServiceRate(Uint32.valueOf(0))
489 .setNodeId("XPONDER-1-2")
491 .setServiceZEnd(new ServiceZEndBuilder()
492 .setServiceRate(Uint32.valueOf(0))
493 .setNodeId("XPONDER-3-2")
499 * Generate Data for Test 1 result 5-4.
500 * @param wl WaveLength
501 * @return output PathComputationRequestOutput data
503 public static PathComputationRequestOutput getPCE_test_result_54(Long wl) {
504 return new PathComputationRequestOutputBuilder()
505 .setConfigurationResponseCommon(createCommonSuccessResponse())
506 .setResponseParameters(
507 new ResponseParametersBuilder()
508 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
514 * Generate Data for Test 2 request 5-4.
517 * "pce:service-name": "service 1",
518 * "pce:resource-reserve": "true",
519 * "pce:service-handler-header": {
520 * "pce:request-id": "request 1"
522 * "pce:service-a-end": {
523 * "pce:service-rate": "0",
524 * "pce:node-id": "XPONDER-1-2"
526 * "pce:service-z-end": {
527 * "pce:service-rate": "0",
528 * "pce:node-id": "XPONDER-3-2"
530 * "pce:hard-constraints": {
532 * "node-id": [ "OpenROADM-2-2" ]
535 * "pce:pce-metric": "hop-count"
538 * @return input PathComputationRequestInput data
540 public static PathComputationRequestInput getPCE_test2_request_54() {
541 return new PathComputationRequestInputBuilder()
542 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
543 .setRequestId("request 1")
545 .setServiceName("service 1")
546 .setResourceReserve(true)
547 .setPceRoutingMetric(PceMetric.HopCount)
548 .setServiceAEnd(new ServiceAEndBuilder()
549 .setServiceRate(Uint32.valueOf(0))
550 .setNodeId("XPONDER-1-2")
552 .setServiceZEnd(new ServiceZEndBuilder()
553 .setServiceRate(Uint32.valueOf(0))
554 .setNodeId("XPONDER-3-2")
556 .setHardConstraints(new HardConstraintsBuilder()
557 .setExclude(new ExcludeBuilder()
558 .setNodeId(List.of(new NodeIdType("OpenROADM-2-2")))
560 .setInclude(new IncludeBuilder()
561 .setNodeId(List.of(new NodeIdType("XPONDER-1-2")))
563 .setLatency(new LatencyBuilder()
564 .setMaxLatency(Decimal64.valueOf("3223"))
571 * Generate Data for Test 2 result 5-4.
572 * @return output PathComputationRequestOutput data
574 public static PathComputationRequestOutput getPCE_test2_result_54() {
575 return new PathComputationRequestOutputBuilder()
576 .setConfigurationResponseCommon(createCommonSuccessResponse())
577 .setResponseParameters(
578 new ResponseParametersBuilder()
579 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
584 public static PathComputationRerouteRequestInput getPCEReroute() {
585 return new PathComputationRerouteRequestInputBuilder()
586 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
587 .setRequestId("request 1")
589 .setPceRoutingMetric(PceMetric.HopCount)
590 .setServiceAEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205
591 .path.computation.reroute.request.input.ServiceAEndBuilder()
592 .setServiceRate(Uint32.valueOf(100))
593 .setServiceFormat(ServiceFormat.Ethernet)
594 .setNodeId("XPONDER-1-2")
596 .setServiceZEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205
597 .path.computation.reroute.request.input.ServiceZEndBuilder()
598 .setServiceRate(Uint32.valueOf(0))
599 .setServiceFormat(ServiceFormat.Ethernet)
600 .setNodeId("XPONDER-3-2")
602 .setHardConstraints(new HardConstraintsBuilder()
603 .setExclude(new ExcludeBuilder()
605 new NodeIdType("OpenROADM-2-1"),
606 new NodeIdType("OpenROADM-2-2")))
609 .setEndpoints(new EndpointsBuilder()
617 * Generate Data for Test 2 request 5-4.
620 * "pce:service-name": "service 1",
621 * "pce:resource-reserve": "true",
622 * "pce:service-handler-header": {
623 * "pce:request-id": "request 1"
625 * "pce:service-a-end": {
626 * "pce:service-rate": "0",
627 * "pce:node-id": "XPONDER-1-2"
629 * "pce:service-z-end": {
630 * "pce:service-rate": "0",
631 * "pce:node-id": "XPONDER-3-2"
633 * "pce:hard-constraints": {
635 * "node-id": [ "OpenROADM-2-1", "OpenROADM-2-2" ]
638 * "pce:pce-metric": "hop-count"
641 * @return input PathComputationRequestInput data
643 public static PathComputationRequestInput getPCE_test3_request_54() {
644 return new PathComputationRequestInputBuilder()
645 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
646 .setRequestId("request 1")
648 .setServiceName("service 1")
649 .setResourceReserve(true)
650 .setPceRoutingMetric(PceMetric.HopCount)
651 .setServiceAEnd(new ServiceAEndBuilder()
652 .setServiceRate(Uint32.valueOf(100))
653 .setServiceFormat(ServiceFormat.Ethernet)
654 .setNodeId("XPONDER-1-2")
656 .setServiceZEnd(new ServiceZEndBuilder()
657 .setServiceRate(Uint32.valueOf(0))
658 .setServiceFormat(ServiceFormat.Ethernet)
659 .setNodeId("XPONDER-3-2")
661 .setHardConstraints(new HardConstraintsBuilder()
662 .setExclude(new ExcludeBuilder()
664 new NodeIdType("OpenROADM-2-1"),
665 new NodeIdType("OpenROADM-2-2")))
672 * Generate Data for Test 3 result 5-4.
673 * @return output PathComputationRequestOutput data
675 public static PathComputationRequestOutput getPCE_test3_result_54() {
676 return new PathComputationRequestOutputBuilder()
677 .setConfigurationResponseCommon(createCommonSuccessResponse())
678 .setResponseParameters(new ResponseParametersBuilder()
679 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
684 public static PathComputationRequestInput getPCE_simpletopology_test1_requestSetHardAndSoftConstrains() {
685 return new PathComputationRequestInputBuilder()
686 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
687 .setRequestId("request 1")
689 .setServiceName("service 1")
690 .setResourceReserve(true)
691 .setPceRoutingMetric(PceMetric.HopCount)
692 .setServiceAEnd(new ServiceAEndBuilder()
693 .setServiceRate(Uint32.valueOf(0))
694 .setNodeId("XPONDER-1-2")
696 .setServiceZEnd(new ServiceZEndBuilder()
697 .setServiceRate(Uint32.valueOf(0))
698 .setNodeId("XPONDER-3-2")
700 .setHardConstraints(new HardConstraintsBuilder().build())
701 .setSoftConstraints(new SoftConstraintsBuilder().build())
705 public static PathComputationRequestInput getPCE_simpletopology_test1_request() {
706 return new PathComputationRequestInputBuilder()
707 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
708 .setRequestId("request 1")
710 .setServiceName("service 1")
711 .setResourceReserve(true)
712 .setPceRoutingMetric(PceMetric.HopCount)
713 .setServiceAEnd(new ServiceAEndBuilder()
714 .setServiceRate(Uint32.valueOf(0))
715 .setNodeId("XPONDER-1-2")
717 .setServiceZEnd(new ServiceZEndBuilder()
718 .setServiceRate(Uint32.valueOf(0))
719 .setNodeId("XPONDER-3-2")
724 public static PathComputationRequestOutput getPCE_simpletopology_test1_result(Long wl) {
725 return new PathComputationRequestOutputBuilder()
726 .setConfigurationResponseCommon(createCommonSuccessResponse())
727 .setResponseParameters(new ResponseParametersBuilder()
728 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
733 private static ConfigurationResponseCommon createCommonSuccessResponse() {
734 return new ConfigurationResponseCommonBuilder()
735 .setAckFinalIndicator(ResponseCodes.FINAL_ACK_YES)
736 .setRequestId("request 1")
737 .setResponseCode(ResponseCodes.RESPONSE_OK)
738 .setResponseMessage("Path is calculated")
742 private static PathDescription createPathDescription(long azRate, long azWaveLength, long zaRate,
744 return new PathDescriptionBuilder()
745 .setAToZDirection(new AToZDirectionBuilder()
746 .setRate(Uint32.valueOf(azRate))
747 .setAToZWavelengthNumber(Uint32.valueOf(azWaveLength))
749 .setZToADirection(new ZToADirectionBuilder()
750 .setRate(Uint32.valueOf(zaRate))
751 .setZToAWavelengthNumber(Uint32.valueOf(zaWaveLength))
757 * Generate Data for Test Diversity test 1 request 5-4.
760 * "pce:service-name": "service 1",
761 * "pce:resource-reserve": "true",
762 * "pce:service-handler-header": {
763 * "pce:request-id": "request 1"
765 * "pce:service-a-end": {
766 * "pce:service-rate": "0",
767 * "pce:node-id": "XPONDER-1-1"
769 * "pce:service-z-end": {
770 * "pce:service-rate": "0",
771 * "pce:node-id": "XPONDER-3-1"
773 * "pce:hard-constraints": {
775 * "existing-service": ["Path test-1-54"],
776 * "existing-service-applicability": {
781 * "pce:pce-metric": "hop-count"
784 * @param base Path Computation Request Input base
785 * @return input PathComputationRequestInput data
787 public static PathComputationRequestInput build_diversity_from_request(PathComputationRequestInput base) {
788 return new PathComputationRequestInputBuilder(base)
789 .setServiceName("service 2")
790 .setServiceAEnd(new ServiceAEndBuilder()
791 .setServiceRate(Uint32.valueOf(0))
792 .setNodeId("XPONDER-1-1")
794 .setServiceZEnd(new ServiceZEndBuilder()
795 .setServiceRate(Uint32.valueOf(0))
796 .setNodeId("XPONDER-3-1")
798 .setHardConstraints(new HardConstraintsBuilder()
799 .setLatency(new LatencyBuilder()
800 .setMaxLatency(Decimal64.valueOf("3223"))
802 .setDiversity(new DiversityBuilder()
803 .setServiceIdentifierList(Map.of(
804 new ServiceIdentifierListKey(base.getServiceName()),
805 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.diversity
806 .existing.service.constraints.ServiceIdentifierListBuilder()
807 .setServiceIdentifier(base.getServiceName())
808 .setServiceApplicability(new ServiceApplicabilityBuilder()
817 public static ServiceCreateInput buildServiceCreateInput() {
818 return new ServiceCreateInputBuilder()
819 .setCommonId("commonId")
820 .setConnectionType(ConnectionType.Service)
821 .setCustomer("Customer")
822 .setServiceName("service 1")
824 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.service.create.input
825 .ServiceAEndBuilder()
827 .setServiceRate(Uint32.valueOf(0))
828 .setNodeId(new NodeIdType("XPONDER-1-2"))
829 .setTxDirection(Map.of(
830 new TxDirectionKey(Uint8.ZERO),
831 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service
832 .endpoint.TxDirectionBuilder()
833 .setPort(new PortBuilder().build())
835 .setRxDirection(Map.of(
836 new RxDirectionKey(Uint8.ZERO),
837 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service
838 .endpoint.RxDirectionBuilder()
839 .setPort(new PortBuilder().build())
843 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.service.create.input
844 .ServiceZEndBuilder()
846 .setServiceRate(Uint32.valueOf(0))
847 .setNodeId(new NodeIdType("XPONDER-3-2"))
848 .setTxDirection(Map.of(
849 new TxDirectionKey(Uint8.ZERO),
850 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service
851 .endpoint.TxDirectionBuilder()
852 .setPort(new PortBuilder().build())
854 .setRxDirection(Map.of(
855 new RxDirectionKey(Uint8.ZERO),
856 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service
857 .endpoint.RxDirectionBuilder()
858 .setPort(new PortBuilder().build())
861 .setSdncRequestHeader(
862 new SdncRequestHeaderBuilder()
863 .setRequestId("request 1")
868 public static PathComputationRequestInput getGnpyPCERequest(String nodeA, String nodeZ) {
869 return new PathComputationRequestInputBuilder()
870 .setServiceName("service1")
871 .setResourceReserve(true)
872 .setPceRoutingMetric(PceMetric.HopCount)
873 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().setRequestId("request1").build())
874 .setServiceAEnd(new ServiceAEndBuilder()
875 .setServiceFormat(ServiceFormat.Ethernet)
876 .setServiceRate(Uint32.valueOf(100))
879 .setTxDirection(new TxDirectionBuilder()
880 .setPort(new PortBuilder()
881 .setPortDeviceName("Some port-device-name")
882 .setPortType("Some port-type")
883 .setPortName("Some port-name")
884 .setPortRack("Some port-rack")
885 .setPortShelf("Some port-shelf")
886 .setPortSlot("Some port-slot")
887 .setPortSubSlot("Some port-sub-slot")
890 .setRxDirection(new RxDirectionBuilder()
891 .setPort(new PortBuilder()
892 .setPortDeviceName("Some port-device-name")
893 .setPortType("Some port-type")
894 .setPortName("Some port-name")
895 .setPortRack("Some port-rack")
896 .setPortShelf("Some port-shelf")
897 .setPortSlot("Some port-slot")
898 .setPortSubSlot("Some port-sub-slot")
902 .setServiceZEnd(new ServiceZEndBuilder()
903 .setServiceFormat(ServiceFormat.Ethernet)
904 .setServiceRate(Uint32.valueOf(0))
905 .setClli("Some clli11")
907 .setTxDirection(new TxDirectionBuilder()
908 .setPort(new PortBuilder()
909 .setPortDeviceName("Some port-device-name")
910 .setPortType("Some port-type")
911 .setPortName("Some port-name")
912 .setPortRack("Some port-rack")
913 .setPortShelf("Some port-shelf")
914 .setPortSlot("Some port-slot")
915 .setPortSubSlot("Some port-sub-slot")
918 .setRxDirection(new RxDirectionBuilder()
919 .setPort(new PortBuilder()
920 .setPortDeviceName("Some port-device-name")
921 .setPortType("Some port-type")
922 .setPortName("Some port-name")
923 .setPortRack("Some port-rack")
924 .setPortShelf("Some port-shelf")
925 .setPortSlot("Some port-slot")
926 .setPortSubSlot("Some port-sub-slot")
930 .setHardConstraints(new HardConstraintsBuilder()
931 .setCustomerCode(Set.of("Some customer-code"))
932 .setCoRouting(new CoRoutingBuilder()
933 .setServiceIdentifierList(Map.of(
934 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.co
935 .routing.ServiceIdentifierListKey("Some existing-service"),
936 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
939 .setSoftConstraints(new SoftConstraintsBuilder()
940 .setCustomerCode(Set.of("Some customer-code"))
941 .setCoRouting(new CoRoutingBuilder()
942 .setServiceIdentifierList(Map.of(
943 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.co
944 .routing.ServiceIdentifierListKey("Some existing-service"),
945 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))