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;
12 import org.opendaylight.transportpce.common.ResponseCodes;
13 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRequestInput;
14 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRequestInputBuilder;
15 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRequestOutput;
16 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRequestOutputBuilder;
17 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRerouteRequestInput;
18 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRerouteRequestInputBuilder;
19 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.path.computation.request.input.ServiceAEndBuilder;
20 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.path.computation.request.input.ServiceZEndBuilder;
21 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.path.computation.reroute.request.input.EndpointsBuilder;
22 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev210528.NodeIdType;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.ConnectionType;
24 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.configuration.response.common.ConfigurationResponseCommon;
25 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.configuration.response.common.ConfigurationResponseCommonBuilder;
26 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.sdnc.request.header.SdncRequestHeaderBuilder;
27 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.endpoint.RxDirectionKey;
28 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.endpoint.TxDirectionKey;
29 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.port.PortBuilder;
30 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.CoRoutingBuilder;
31 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.DiversityBuilder;
32 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.ExcludeBuilder;
33 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.IncludeBuilder;
34 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.LatencyBuilder;
35 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co.routing.ServiceIdentifierListBuilder;
36 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.diversity.existing.service.constraints.ServiceIdentifierListKey;
37 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.HardConstraintsBuilder;
38 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.SoftConstraintsBuilder;
39 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.service.applicability.g.ServiceApplicabilityBuilder;
40 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev191129.ServiceFormat;
41 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateInput;
42 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateInputBuilder;
43 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.AToZDirectionBuilder;
44 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.ZToADirectionBuilder;
45 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.PceMetric;
46 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.ResponseParametersBuilder;
47 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.response.parameters.PathDescription;
48 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.response.parameters.PathDescriptionBuilder;
49 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder;
50 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder;
51 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.handler.header.ServiceHandlerHeaderBuilder;
52 import org.opendaylight.yangtools.yang.common.Decimal64;
53 import org.opendaylight.yangtools.yang.common.Uint32;
54 import org.opendaylight.yangtools.yang.common.Uint8;
56 public final class PceTestData {
58 private PceTestData() {
61 public static PathComputationRequestInput getEmptyPCERequest() {
62 return new PathComputationRequestInputBuilder()
63 .setServiceHandlerHeader(
64 new ServiceHandlerHeaderBuilder()
65 .setRequestId("request1")
70 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithRequestId() {
71 return new PathComputationRequestInputBuilder()
72 .setServiceName("serviceName")
73 .setServiceHandlerHeader(
74 new ServiceHandlerHeaderBuilder()
75 .setRequestId("request1")
80 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithOutRequestId() {
81 return new PathComputationRequestInputBuilder()
82 .setServiceName("serviceName")
83 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().build())
87 public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral2() {
88 return new PathComputationRequestInputBuilder()
89 .setServiceName("service1")
90 .setResourceReserve(true)
91 .setPceRoutingMetric(PceMetric.HopCount)
92 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
93 .setRequestId("request1")
95 .setServiceAEnd(new ServiceAEndBuilder()
96 .setServiceFormat(ServiceFormat.ODU)
97 .setServiceRate(Uint32.valueOf(100))
99 .setNodeId("XPONDER-2-2")
100 .setTxDirection(new TxDirectionBuilder()
101 .setPort(new PortBuilder()
102 .setPortDeviceName("Some port-device-name")
103 .setPortType("Some port-type")
104 .setPortName("Some port-name")
105 .setPortRack("Some port-rack")
106 .setPortShelf("Some port-shelf")
107 .setPortSlot("Some port-slot")
108 .setPortSubSlot("Some port-sub-slot")
111 .setRxDirection(new RxDirectionBuilder()
112 .setPort(new PortBuilder()
113 .setPortDeviceName("Some port-device-name")
114 .setPortType("Some port-type")
115 .setPortName("Some port-name")
116 .setPortRack("Some port-rack")
117 .setPortShelf("Some port-shelf")
118 .setPortSlot("Some port-slot")
119 .setPortSubSlot("Some port-sub-slot")
123 .setServiceZEnd(new ServiceZEndBuilder()
124 .setServiceFormat(ServiceFormat.ODU)
125 .setServiceRate(Uint32.valueOf(0))
126 .setClli("Some clli11")
127 .setNodeId("XPONDER-1-2")
128 .setTxDirection(new TxDirectionBuilder()
129 .setPort(new PortBuilder()
130 .setPortDeviceName("Some port-device-name")
131 .setPortType("Some port-type")
132 .setPortName("Some port-name")
133 .setPortRack("Some port-rack")
134 .setPortShelf("Some port-shelf")
135 .setPortSlot("Some port-slot")
136 .setPortSubSlot("Some port-sub-slot")
139 .setRxDirection(new RxDirectionBuilder()
140 .setPort(new PortBuilder()
141 .setPortDeviceName("Some port-device-name")
142 .setPortType("Some port-type")
143 .setPortName("Some port-name")
144 .setPortRack("Some port-rack")
145 .setPortShelf("Some port-shelf")
146 .setPortSlot("Some port-slot")
147 .setPortSubSlot("Some port-sub-slot")
151 .setHardConstraints(new HardConstraintsBuilder()
152 .setCustomerCode(Set.of("Some customer-code"))
153 .setCoRouting(new CoRoutingBuilder()
154 .setServiceIdentifierList(Map.of(
155 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
156 .routing.ServiceIdentifierListKey("Some existing-service"),
157 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
160 .setSoftConstraints(new SoftConstraintsBuilder()
161 .setCustomerCode(Set.of("Some customer-code"))
162 .setCoRouting(new CoRoutingBuilder()
163 .setServiceIdentifierList(Map.of(
164 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
165 .routing.ServiceIdentifierListKey("Some existing-service"),
166 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
172 public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral() {
173 return new PathComputationRequestInputBuilder()
174 .setServiceName("service1")
175 .setResourceReserve(true)
176 .setPceRoutingMetric(PceMetric.HopCount)
177 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
178 .setRequestId("request1")
180 .setServiceAEnd(new ServiceAEndBuilder()
181 .setServiceFormat(ServiceFormat.Ethernet)
182 .setServiceRate(Uint32.valueOf(100))
184 .setNodeId("XPONDER-2-2")
185 .setTxDirection(new TxDirectionBuilder()
186 .setPort(new PortBuilder()
187 .setPortDeviceName("Some port-device-name")
188 .setPortType("Some port-type")
189 .setPortName("Some port-name")
190 .setPortRack("Some port-rack")
191 .setPortShelf("Some port-shelf")
192 .setPortSlot("Some port-slot")
193 .setPortSubSlot("Some port-sub-slot")
196 .setRxDirection(new RxDirectionBuilder()
197 .setPort(new PortBuilder()
198 .setPortDeviceName("Some port-device-name")
199 .setPortType("Some port-type")
200 .setPortName("Some port-name")
201 .setPortRack("Some port-rack")
202 .setPortShelf("Some port-shelf")
203 .setPortSlot("Some port-slot")
204 .setPortSubSlot("Some port-sub-slot")
208 .setServiceZEnd(new ServiceZEndBuilder()
209 .setServiceFormat(ServiceFormat.Ethernet)
210 .setServiceRate(Uint32.valueOf(0))
211 .setClli("Some clli11")
212 .setNodeId("XPONDER-1-2")
213 .setTxDirection(new TxDirectionBuilder()
214 .setPort(new PortBuilder()
215 .setPortDeviceName("Some port-device-name")
216 .setPortType("Some port-type")
217 .setPortName("Some port-name")
218 .setPortRack("Some port-rack")
219 .setPortShelf("Some port-shelf")
220 .setPortSlot("Some port-slot")
221 .setPortSubSlot("Some port-sub-slot")
224 .setRxDirection(new RxDirectionBuilder()
225 .setPort(new PortBuilder()
226 .setPortDeviceName("Some port-device-name")
227 .setPortType("Some port-type")
228 .setPortName("Some port-name")
229 .setPortRack("Some port-rack")
230 .setPortShelf("Some port-shelf")
231 .setPortSlot("Some port-slot")
232 .setPortSubSlot("Some port-sub-slot")
236 .setHardConstraints(new HardConstraintsBuilder()
237 .setCustomerCode(Set.of("Some customer-code"))
238 .setCoRouting(new CoRoutingBuilder()
239 .setServiceIdentifierList(Map.of(
240 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
241 .routing.ServiceIdentifierListKey("Some existing-service"),
242 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
245 .setSoftConstraints(new SoftConstraintsBuilder()
246 .setCustomerCode(Set.of("Some customer-code"))
247 .setCoRouting(new CoRoutingBuilder()
248 .setServiceIdentifierList(Map.of(
249 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
250 .routing.ServiceIdentifierListKey("Some existing-service"),
251 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
257 public static PathComputationRequestInput getPCERequest() {
258 return new PathComputationRequestInputBuilder()
259 .setServiceName("service1")
260 .setResourceReserve(true)
261 .setPceRoutingMetric(PceMetric.HopCount)
262 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
263 .setRequestId("request1")
265 .setServiceAEnd(new ServiceAEndBuilder()
266 .setServiceFormat(ServiceFormat.Ethernet)
267 .setServiceRate(Uint32.valueOf(100))
269 .setNodeId("XPONDER-2-2")
270 .setTxDirection(new TxDirectionBuilder()
271 .setPort(new PortBuilder()
272 .setPortDeviceName("Some port-device-name")
273 .setPortType("Some port-type")
274 .setPortName("Some port-name")
275 .setPortRack("Some port-rack")
276 .setPortShelf("Some port-shelf")
277 .setPortSlot("Some port-slot")
278 .setPortSubSlot("Some port-sub-slot")
281 .setRxDirection(new RxDirectionBuilder()
282 .setPort(new PortBuilder()
283 .setPortDeviceName("Some port-device-name")
284 .setPortType("Some port-type")
285 .setPortName("Some port-name")
286 .setPortRack("Some port-rack")
287 .setPortShelf("Some port-shelf")
288 .setPortSlot("Some port-slot")
289 .setPortSubSlot("Some port-sub-slot")
293 .setServiceZEnd(new ServiceZEndBuilder()
294 .setServiceFormat(ServiceFormat.Ethernet)
295 .setServiceRate(Uint32.valueOf(0))
296 .setClli("Some clli11")
297 .setNodeId("XPONDER-1-2")
298 .setTxDirection(new TxDirectionBuilder()
299 .setPort(new PortBuilder()
300 .setPortDeviceName("Some port-device-name")
301 .setPortType("Some port-type")
302 .setPortName("Some port-name")
303 .setPortRack("Some port-rack")
304 .setPortShelf("Some port-shelf")
305 .setPortSlot("Some port-slot")
306 .setPortSubSlot("Some port-sub-slot")
309 .setRxDirection(new RxDirectionBuilder()
310 .setPort(new PortBuilder()
311 .setPortDeviceName("Some port-device-name")
312 .setPortType("Some port-type")
313 .setPortName("Some port-name")
314 .setPortRack("Some port-rack")
315 .setPortShelf("Some port-shelf")
316 .setPortSlot("Some port-slot")
317 .setPortSubSlot("Some port-sub-slot")
321 .setHardConstraints(new HardConstraintsBuilder()
322 .setCustomerCode(Set.of("Some customer-code"))
323 .setCoRouting(new CoRoutingBuilder()
324 .setServiceIdentifierList(Map.of(
325 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
326 .routing.ServiceIdentifierListKey("Some existing-service"),
327 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
330 .setSoftConstraints(new SoftConstraintsBuilder()
331 .setCustomerCode(Set.of("Some customer-code"))
332 .setCoRouting(new CoRoutingBuilder()
333 .setServiceIdentifierList(Map.of(
334 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
335 .routing.ServiceIdentifierListKey("Some existing-service"),
336 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
342 public static PathComputationRerouteRequestInput getPCERerouteRequest() {
343 return new PathComputationRerouteRequestInputBuilder()
344 .setPceRoutingMetric(PceMetric.HopCount)
345 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
346 .setRequestId("request1")
348 .setServiceAEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808
349 .path.computation.reroute.request.input.ServiceAEndBuilder()
350 .setServiceFormat(ServiceFormat.Ethernet)
351 .setServiceRate(Uint32.valueOf(100))
353 .setNodeId("XPONDER-2-2")
354 .setTxDirection(new TxDirectionBuilder()
355 .setPort(new PortBuilder()
356 .setPortDeviceName("Some port-device-name")
357 .setPortType("Some port-type")
358 .setPortName("Some port-name")
359 .setPortRack("Some port-rack")
360 .setPortShelf("Some port-shelf")
361 .setPortSlot("Some port-slot")
362 .setPortSubSlot("Some port-sub-slot")
365 .setRxDirection(new RxDirectionBuilder()
366 .setPort(new PortBuilder()
367 .setPortDeviceName("Some port-device-name")
368 .setPortType("Some port-type")
369 .setPortName("Some port-name")
370 .setPortRack("Some port-rack")
371 .setPortShelf("Some port-shelf")
372 .setPortSlot("Some port-slot")
373 .setPortSubSlot("Some port-sub-slot")
377 .setServiceZEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808
378 .path.computation.reroute.request.input.ServiceZEndBuilder()
379 .setServiceFormat(ServiceFormat.Ethernet)
380 .setServiceRate(Uint32.valueOf(0))
381 .setClli("Some clli11")
382 .setNodeId("XPONDER-1-2")
383 .setTxDirection(new TxDirectionBuilder()
384 .setPort(new PortBuilder()
385 .setPortDeviceName("Some port-device-name")
386 .setPortType("Some port-type")
387 .setPortName("Some port-name")
388 .setPortRack("Some port-rack")
389 .setPortShelf("Some port-shelf")
390 .setPortSlot("Some port-slot")
391 .setPortSubSlot("Some port-sub-slot")
394 .setRxDirection(new RxDirectionBuilder()
395 .setPort(new PortBuilder()
396 .setPortDeviceName("Some port-device-name")
397 .setPortType("Some port-type")
398 .setPortName("Some port-name")
399 .setPortRack("Some port-rack")
400 .setPortShelf("Some port-shelf")
401 .setPortSlot("Some port-slot")
402 .setPortSubSlot("Some port-sub-slot")
406 .setHardConstraints(new HardConstraintsBuilder()
407 .setCustomerCode(Set.of("Some customer-code"))
408 .setCoRouting(new CoRoutingBuilder()
409 .setServiceIdentifierList(Map.of(
410 new org.opendaylight.yang.gen.v1
411 .http.org.openroadm.routing.constraints.rev211210
412 .constraints.co.routing.ServiceIdentifierListKey("test"),
413 new ServiceIdentifierListBuilder().setServiceIdentifier("test").build()))
416 .setSoftConstraints(new SoftConstraintsBuilder()
417 .setCustomerCode(Set.of("Some customer-code"))
418 .setCoRouting(new CoRoutingBuilder()
419 .setServiceIdentifierList(Map.of(
420 new org.opendaylight.yang.gen.v1
421 .http.org.openroadm.routing.constraints.rev211210
422 .constraints.co.routing.ServiceIdentifierListKey("test"),
423 new ServiceIdentifierListBuilder().setServiceIdentifier("test").build()))
426 .setEndpoints(new EndpointsBuilder()
433 public static PathComputationRequestOutput getFailedPCEResultYes() {
434 return new PathComputationRequestOutputBuilder()
435 .setConfigurationResponseCommon(
436 new ConfigurationResponseCommonBuilder()
437 .setAckFinalIndicator("Yes")
438 .setRequestId("request1")
439 .setResponseCode("Path not calculated")
440 .setResponseMessage("Service Name is not set")
442 .setResponseParameters(null)
446 public static PathComputationRequestOutput getPCEResultOk(Long wl) {
447 return new PathComputationRequestOutputBuilder()
448 .setConfigurationResponseCommon(createCommonSuccessResponse())
449 .setResponseParameters(
450 new ResponseParametersBuilder()
451 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
457 * Generate Data for Test 1 request 5-4.
460 * "pce:service-name": "service 1",
461 * "pce:resource-reserve": "true",
462 * "pce:service-handler-header": {
463 * "pce:request-id": "request 1"
465 * "pce:service-a-end": {
466 * "pce:service-rate": "0",
467 * "pce:node-id": "XPONDER-1-2"
469 * "pce:service-z-end": {
470 * "pce:service-rate": "0",
471 * "pce:node-id": "XPONDER-3-2"
473 * "pce:pce-metric": "hop-count"
476 * @return input PathComputationRequestInput data
478 public static PathComputationRequestInput getPCE_test1_request_54() {
479 return new PathComputationRequestInputBuilder()
480 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
481 .setRequestId("request 1")
483 .setServiceName("service 1")
484 .setResourceReserve(true)
485 .setPceRoutingMetric(PceMetric.HopCount)
486 .setServiceAEnd(new ServiceAEndBuilder()
487 .setServiceRate(Uint32.valueOf(0))
488 .setNodeId("XPONDER-1-2")
490 .setServiceZEnd(new ServiceZEndBuilder()
491 .setServiceRate(Uint32.valueOf(0))
492 .setNodeId("XPONDER-3-2")
498 * Generate Data for Test 1 result 5-4.
499 * @param wl WaveLength
500 * @return output PathComputationRequestOutput data
502 public static PathComputationRequestOutput getPCE_test_result_54(Long wl) {
503 return new PathComputationRequestOutputBuilder()
504 .setConfigurationResponseCommon(createCommonSuccessResponse())
505 .setResponseParameters(
506 new ResponseParametersBuilder()
507 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
513 * Generate Data for Test 2 request 5-4.
516 * "pce:service-name": "service 1",
517 * "pce:resource-reserve": "true",
518 * "pce:service-handler-header": {
519 * "pce:request-id": "request 1"
521 * "pce:service-a-end": {
522 * "pce:service-rate": "0",
523 * "pce:node-id": "XPONDER-1-2"
525 * "pce:service-z-end": {
526 * "pce:service-rate": "0",
527 * "pce:node-id": "XPONDER-3-2"
529 * "pce:hard-constraints": {
531 * "node-id": [ "OpenROADM-2-2" ]
534 * "pce:pce-metric": "hop-count"
537 * @return input PathComputationRequestInput data
539 public static PathComputationRequestInput getPCE_test2_request_54() {
540 return new PathComputationRequestInputBuilder()
541 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
542 .setRequestId("request 1")
544 .setServiceName("service 1")
545 .setResourceReserve(true)
546 .setPceRoutingMetric(PceMetric.HopCount)
547 .setServiceAEnd(new ServiceAEndBuilder()
548 .setServiceRate(Uint32.valueOf(0))
549 .setNodeId("XPONDER-1-2")
551 .setServiceZEnd(new ServiceZEndBuilder()
552 .setServiceRate(Uint32.valueOf(0))
553 .setNodeId("XPONDER-3-2")
555 .setHardConstraints(new HardConstraintsBuilder()
556 .setExclude(new ExcludeBuilder()
557 .setNodeId(Set.of(new NodeIdType("OpenROADM-2-2")))
559 .setInclude(new IncludeBuilder()
560 .setNodeId(Set.of(new NodeIdType("XPONDER-1-2")))
562 .setLatency(new LatencyBuilder()
563 .setMaxLatency(Decimal64.valueOf("3223"))
570 * Generate Data for Test 2 result 5-4.
571 * @return output PathComputationRequestOutput data
573 public static PathComputationRequestOutput getPCE_test2_result_54() {
574 return new PathComputationRequestOutputBuilder()
575 .setConfigurationResponseCommon(createCommonSuccessResponse())
576 .setResponseParameters(
577 new ResponseParametersBuilder()
578 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
583 public static PathComputationRerouteRequestInput getPCEReroute() {
584 return new PathComputationRerouteRequestInputBuilder()
585 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
586 .setRequestId("request 1")
588 .setPceRoutingMetric(PceMetric.HopCount)
589 .setServiceAEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808
590 .path.computation.reroute.request.input.ServiceAEndBuilder()
591 .setServiceRate(Uint32.valueOf(100))
592 .setServiceFormat(ServiceFormat.Ethernet)
593 .setNodeId("XPONDER-1-2")
595 .setServiceZEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808
596 .path.computation.reroute.request.input.ServiceZEndBuilder()
597 .setServiceRate(Uint32.valueOf(0))
598 .setServiceFormat(ServiceFormat.Ethernet)
599 .setNodeId("XPONDER-3-2")
601 .setHardConstraints(new HardConstraintsBuilder()
602 .setExclude(new ExcludeBuilder()
604 new NodeIdType("OpenROADM-2-1"),
605 new NodeIdType("OpenROADM-2-2")))
608 .setEndpoints(new EndpointsBuilder()
616 * Generate Data for Test 2 request 5-4.
619 * "pce:service-name": "service 1",
620 * "pce:resource-reserve": "true",
621 * "pce:service-handler-header": {
622 * "pce:request-id": "request 1"
624 * "pce:service-a-end": {
625 * "pce:service-rate": "0",
626 * "pce:node-id": "XPONDER-1-2"
628 * "pce:service-z-end": {
629 * "pce:service-rate": "0",
630 * "pce:node-id": "XPONDER-3-2"
632 * "pce:hard-constraints": {
634 * "node-id": [ "OpenROADM-2-1", "OpenROADM-2-2" ]
637 * "pce:pce-metric": "hop-count"
640 * @return input PathComputationRequestInput data
642 public static PathComputationRequestInput getPCE_test3_request_54() {
643 return new PathComputationRequestInputBuilder()
644 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
645 .setRequestId("request 1")
647 .setServiceName("service 1")
648 .setResourceReserve(true)
649 .setPceRoutingMetric(PceMetric.HopCount)
650 .setServiceAEnd(new ServiceAEndBuilder()
651 .setServiceRate(Uint32.valueOf(100))
652 .setServiceFormat(ServiceFormat.Ethernet)
653 .setNodeId("XPONDER-1-2")
655 .setServiceZEnd(new ServiceZEndBuilder()
656 .setServiceRate(Uint32.valueOf(0))
657 .setServiceFormat(ServiceFormat.Ethernet)
658 .setNodeId("XPONDER-3-2")
660 .setHardConstraints(new HardConstraintsBuilder()
661 .setExclude(new ExcludeBuilder()
663 new NodeIdType("OpenROADM-2-1"),
664 new NodeIdType("OpenROADM-2-2")))
671 * Generate Data for Test 3 result 5-4.
672 * @return output PathComputationRequestOutput data
674 public static PathComputationRequestOutput getPCE_test3_result_54() {
675 return new PathComputationRequestOutputBuilder()
676 .setConfigurationResponseCommon(createCommonSuccessResponse())
677 .setResponseParameters(new ResponseParametersBuilder()
678 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
683 public static PathComputationRequestInput getPCE_simpletopology_test1_requestSetHardAndSoftConstrains() {
684 return new PathComputationRequestInputBuilder()
685 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
686 .setRequestId("request 1")
688 .setServiceName("service 1")
689 .setResourceReserve(true)
690 .setPceRoutingMetric(PceMetric.HopCount)
691 .setServiceAEnd(new ServiceAEndBuilder()
692 .setServiceRate(Uint32.valueOf(0))
693 .setNodeId("XPONDER-1-2")
695 .setServiceZEnd(new ServiceZEndBuilder()
696 .setServiceRate(Uint32.valueOf(0))
697 .setNodeId("XPONDER-3-2")
699 .setHardConstraints(new HardConstraintsBuilder().build())
700 .setSoftConstraints(new SoftConstraintsBuilder().build())
704 public static PathComputationRequestInput getPCE_simpletopology_test1_request() {
705 return new PathComputationRequestInputBuilder()
706 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
707 .setRequestId("request 1")
709 .setServiceName("service 1")
710 .setResourceReserve(true)
711 .setPceRoutingMetric(PceMetric.HopCount)
712 .setServiceAEnd(new ServiceAEndBuilder()
713 .setServiceRate(Uint32.valueOf(0))
714 .setNodeId("XPONDER-1-2")
716 .setServiceZEnd(new ServiceZEndBuilder()
717 .setServiceRate(Uint32.valueOf(0))
718 .setNodeId("XPONDER-3-2")
723 public static PathComputationRequestOutput getPCE_simpletopology_test1_result(Long wl) {
724 return new PathComputationRequestOutputBuilder()
725 .setConfigurationResponseCommon(createCommonSuccessResponse())
726 .setResponseParameters(new ResponseParametersBuilder()
727 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
732 private static ConfigurationResponseCommon createCommonSuccessResponse() {
733 return new ConfigurationResponseCommonBuilder()
734 .setAckFinalIndicator(ResponseCodes.FINAL_ACK_YES)
735 .setRequestId("request 1")
736 .setResponseCode(ResponseCodes.RESPONSE_OK)
737 .setResponseMessage("Path is calculated")
741 private static PathDescription createPathDescription(long azRate, long azWaveLength, long zaRate,
743 return new PathDescriptionBuilder()
744 .setAToZDirection(new AToZDirectionBuilder()
745 .setRate(Uint32.valueOf(azRate))
746 .setAToZWavelengthNumber(Uint32.valueOf(azWaveLength))
748 .setZToADirection(new ZToADirectionBuilder()
749 .setRate(Uint32.valueOf(zaRate))
750 .setZToAWavelengthNumber(Uint32.valueOf(zaWaveLength))
756 * Generate Data for Test Diversity test 1 request 5-4.
759 * "pce:service-name": "service 1",
760 * "pce:resource-reserve": "true",
761 * "pce:service-handler-header": {
762 * "pce:request-id": "request 1"
764 * "pce:service-a-end": {
765 * "pce:service-rate": "0",
766 * "pce:node-id": "XPONDER-1-1"
768 * "pce:service-z-end": {
769 * "pce:service-rate": "0",
770 * "pce:node-id": "XPONDER-3-1"
772 * "pce:hard-constraints": {
774 * "existing-service": ["Path test-1-54"],
775 * "existing-service-applicability": {
780 * "pce:pce-metric": "hop-count"
783 * @param base Path Computation Request Input base
784 * @return input PathComputationRequestInput data
786 public static PathComputationRequestInput build_diversity_from_request(PathComputationRequestInput base) {
787 return new PathComputationRequestInputBuilder(base)
788 .setServiceName("service 2")
789 .setServiceAEnd(new ServiceAEndBuilder()
790 .setServiceRate(Uint32.valueOf(0))
791 .setNodeId("XPONDER-1-1")
793 .setServiceZEnd(new ServiceZEndBuilder()
794 .setServiceRate(Uint32.valueOf(0))
795 .setNodeId("XPONDER-3-1")
797 .setHardConstraints(new HardConstraintsBuilder()
798 .setLatency(new LatencyBuilder()
799 .setMaxLatency(Decimal64.valueOf("3223"))
801 .setDiversity(new DiversityBuilder()
802 .setServiceIdentifierList(Map.of(
803 new ServiceIdentifierListKey(base.getServiceName()),
804 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.diversity
805 .existing.service.constraints.ServiceIdentifierListBuilder()
806 .setServiceIndentifier(base.getServiceName())
807 .setServiceApplicability(new ServiceApplicabilityBuilder()
816 public static ServiceCreateInput buildServiceCreateInput() {
817 return new ServiceCreateInputBuilder()
818 .setCommonId("commonId")
819 .setConnectionType(ConnectionType.Service)
820 .setCustomer("Customer")
821 .setServiceName("service 1")
823 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input
824 .ServiceAEndBuilder()
826 .setServiceRate(Uint32.valueOf(0))
827 .setNodeId(new NodeIdType("XPONDER-1-2"))
828 .setTxDirection(Map.of(
829 new TxDirectionKey(Uint8.ZERO),
830 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
831 .endpoint.TxDirectionBuilder()
832 .setPort(new PortBuilder().build())
834 .setRxDirection(Map.of(
835 new RxDirectionKey(Uint8.ZERO),
836 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
837 .endpoint.RxDirectionBuilder()
838 .setPort(new PortBuilder().build())
842 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input
843 .ServiceZEndBuilder()
845 .setServiceRate(Uint32.valueOf(0))
846 .setNodeId(new NodeIdType("XPONDER-3-2"))
847 .setTxDirection(Map.of(
848 new TxDirectionKey(Uint8.ZERO),
849 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
850 .endpoint.TxDirectionBuilder()
851 .setPort(new PortBuilder().build())
853 .setRxDirection(Map.of(
854 new RxDirectionKey(Uint8.ZERO),
855 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
856 .endpoint.RxDirectionBuilder()
857 .setPort(new PortBuilder().build())
860 .setSdncRequestHeader(
861 new SdncRequestHeaderBuilder()
862 .setRequestId("request 1")
867 public static PathComputationRequestInput getGnpyPCERequest(String nodeA, String nodeZ) {
868 return new PathComputationRequestInputBuilder()
869 .setServiceName("service1")
870 .setResourceReserve(true)
871 .setPceRoutingMetric(PceMetric.HopCount)
872 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().setRequestId("request1").build())
873 .setServiceAEnd(new ServiceAEndBuilder()
874 .setServiceFormat(ServiceFormat.Ethernet)
875 .setServiceRate(Uint32.valueOf(100))
878 .setTxDirection(new TxDirectionBuilder()
879 .setPort(new PortBuilder()
880 .setPortDeviceName("Some port-device-name")
881 .setPortType("Some port-type")
882 .setPortName("Some port-name")
883 .setPortRack("Some port-rack")
884 .setPortShelf("Some port-shelf")
885 .setPortSlot("Some port-slot")
886 .setPortSubSlot("Some port-sub-slot")
889 .setRxDirection(new RxDirectionBuilder()
890 .setPort(new PortBuilder()
891 .setPortDeviceName("Some port-device-name")
892 .setPortType("Some port-type")
893 .setPortName("Some port-name")
894 .setPortRack("Some port-rack")
895 .setPortShelf("Some port-shelf")
896 .setPortSlot("Some port-slot")
897 .setPortSubSlot("Some port-sub-slot")
901 .setServiceZEnd(new ServiceZEndBuilder()
902 .setServiceFormat(ServiceFormat.Ethernet)
903 .setServiceRate(Uint32.valueOf(0))
904 .setClli("Some clli11")
906 .setTxDirection(new TxDirectionBuilder()
907 .setPort(new PortBuilder()
908 .setPortDeviceName("Some port-device-name")
909 .setPortType("Some port-type")
910 .setPortName("Some port-name")
911 .setPortRack("Some port-rack")
912 .setPortShelf("Some port-shelf")
913 .setPortSlot("Some port-slot")
914 .setPortSubSlot("Some port-sub-slot")
917 .setRxDirection(new RxDirectionBuilder()
918 .setPort(new PortBuilder()
919 .setPortDeviceName("Some port-device-name")
920 .setPortType("Some port-type")
921 .setPortName("Some port-name")
922 .setPortRack("Some port-rack")
923 .setPortShelf("Some port-shelf")
924 .setPortSlot("Some port-slot")
925 .setPortSubSlot("Some port-sub-slot")
929 .setHardConstraints(new HardConstraintsBuilder()
930 .setCustomerCode(Set.of("Some customer-code"))
931 .setCoRouting(new CoRoutingBuilder()
932 .setServiceIdentifierList(Map.of(
933 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
934 .routing.ServiceIdentifierListKey("Some existing-service"),
935 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
938 .setSoftConstraints(new SoftConstraintsBuilder()
939 .setCustomerCode(Set.of("Some customer-code"))
940 .setCoRouting(new CoRoutingBuilder()
941 .setServiceIdentifierList(Map.of(
942 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
943 .routing.ServiceIdentifierListKey("Some existing-service"),
944 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))