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.rev220615.PathComputationRequestInput;
14 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220615.PathComputationRequestInputBuilder;
15 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220615.PathComputationRequestOutput;
16 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220615.PathComputationRequestOutputBuilder;
17 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220615.path.computation.request.input.ServiceAEndBuilder;
18 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220615.path.computation.request.input.ServiceZEndBuilder;
19 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev210528.NodeIdType;
20 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.ConnectionType;
21 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.configuration.response.common.ConfigurationResponseCommon;
22 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.configuration.response.common.ConfigurationResponseCommonBuilder;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.sdnc.request.header.SdncRequestHeaderBuilder;
24 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.endpoint.RxDirectionKey;
25 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.endpoint.TxDirectionKey;
26 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.port.PortBuilder;
27 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.CoRoutingBuilder;
28 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.DiversityBuilder;
29 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.ExcludeBuilder;
30 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.IncludeBuilder;
31 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.LatencyBuilder;
32 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co.routing.ServiceIdentifierListBuilder;
33 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.diversity.existing.service.constraints.ServiceIdentifierListKey;
34 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.HardConstraintsBuilder;
35 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.SoftConstraintsBuilder;
36 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.service.applicability.g.ServiceApplicabilityBuilder;
37 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev191129.ServiceFormat;
38 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateInput;
39 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateInputBuilder;
40 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.AToZDirectionBuilder;
41 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.ZToADirectionBuilder;
42 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.PceMetric;
43 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.ResponseParametersBuilder;
44 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.response.parameters.PathDescription;
45 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.response.parameters.PathDescriptionBuilder;
46 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder;
47 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder;
48 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.handler.header.ServiceHandlerHeaderBuilder;
49 import org.opendaylight.yangtools.yang.common.Decimal64;
50 import org.opendaylight.yangtools.yang.common.Uint32;
51 import org.opendaylight.yangtools.yang.common.Uint8;
53 public final class PceTestData {
55 private PceTestData() {
58 public static PathComputationRequestInput getEmptyPCERequest() {
59 return new PathComputationRequestInputBuilder()
60 .setServiceHandlerHeader(
61 new ServiceHandlerHeaderBuilder()
62 .setRequestId("request1")
67 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithRequestId() {
68 return new PathComputationRequestInputBuilder()
69 .setServiceName("serviceName")
70 .setServiceHandlerHeader(
71 new ServiceHandlerHeaderBuilder()
72 .setRequestId("request1")
77 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithOutRequestId() {
78 return new PathComputationRequestInputBuilder()
79 .setServiceName("serviceName")
80 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().build())
84 public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral2() {
85 return new PathComputationRequestInputBuilder()
86 .setServiceName("service1")
87 .setResourceReserve(true)
88 .setPceRoutingMetric(PceMetric.HopCount)
89 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
90 .setRequestId("request1")
92 .setServiceAEnd(new ServiceAEndBuilder()
93 .setServiceFormat(ServiceFormat.ODU)
94 .setServiceRate(Uint32.valueOf(100))
96 .setNodeId("XPONDER-2-2")
97 .setTxDirection(new TxDirectionBuilder()
98 .setPort(new PortBuilder()
99 .setPortDeviceName("Some port-device-name")
100 .setPortType("Some port-type")
101 .setPortName("Some port-name")
102 .setPortRack("Some port-rack")
103 .setPortShelf("Some port-shelf")
104 .setPortSlot("Some port-slot")
105 .setPortSubSlot("Some port-sub-slot")
108 .setRxDirection(new RxDirectionBuilder()
109 .setPort(new PortBuilder()
110 .setPortDeviceName("Some port-device-name")
111 .setPortType("Some port-type")
112 .setPortName("Some port-name")
113 .setPortRack("Some port-rack")
114 .setPortShelf("Some port-shelf")
115 .setPortSlot("Some port-slot")
116 .setPortSubSlot("Some port-sub-slot")
120 .setServiceZEnd(new ServiceZEndBuilder()
121 .setServiceFormat(ServiceFormat.ODU)
122 .setServiceRate(Uint32.valueOf(0))
123 .setClli("Some clli11")
124 .setNodeId("XPONDER-1-2")
125 .setTxDirection(new TxDirectionBuilder()
126 .setPort(new PortBuilder()
127 .setPortDeviceName("Some port-device-name")
128 .setPortType("Some port-type")
129 .setPortName("Some port-name")
130 .setPortRack("Some port-rack")
131 .setPortShelf("Some port-shelf")
132 .setPortSlot("Some port-slot")
133 .setPortSubSlot("Some port-sub-slot")
136 .setRxDirection(new RxDirectionBuilder()
137 .setPort(new PortBuilder()
138 .setPortDeviceName("Some port-device-name")
139 .setPortType("Some port-type")
140 .setPortName("Some port-name")
141 .setPortRack("Some port-rack")
142 .setPortShelf("Some port-shelf")
143 .setPortSlot("Some port-slot")
144 .setPortSubSlot("Some port-sub-slot")
148 .setHardConstraints(new HardConstraintsBuilder()
149 .setCustomerCode(Set.of("Some customer-code"))
150 .setCoRouting(new CoRoutingBuilder()
151 .setServiceIdentifierList(Map.of(
152 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
153 .routing.ServiceIdentifierListKey("Some existing-service"),
154 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
157 .setSoftConstraints(new SoftConstraintsBuilder()
158 .setCustomerCode(Set.of("Some customer-code"))
159 .setCoRouting(new CoRoutingBuilder()
160 .setServiceIdentifierList(Map.of(
161 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
162 .routing.ServiceIdentifierListKey("Some existing-service"),
163 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
169 public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral() {
170 return new PathComputationRequestInputBuilder()
171 .setServiceName("service1")
172 .setResourceReserve(true)
173 .setPceRoutingMetric(PceMetric.HopCount)
174 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
175 .setRequestId("request1")
177 .setServiceAEnd(new ServiceAEndBuilder()
178 .setServiceFormat(ServiceFormat.Ethernet)
179 .setServiceRate(Uint32.valueOf(100))
181 .setNodeId("XPONDER-2-2")
182 .setTxDirection(new TxDirectionBuilder()
183 .setPort(new PortBuilder()
184 .setPortDeviceName("Some port-device-name")
185 .setPortType("Some port-type")
186 .setPortName("Some port-name")
187 .setPortRack("Some port-rack")
188 .setPortShelf("Some port-shelf")
189 .setPortSlot("Some port-slot")
190 .setPortSubSlot("Some port-sub-slot")
193 .setRxDirection(new RxDirectionBuilder()
194 .setPort(new PortBuilder()
195 .setPortDeviceName("Some port-device-name")
196 .setPortType("Some port-type")
197 .setPortName("Some port-name")
198 .setPortRack("Some port-rack")
199 .setPortShelf("Some port-shelf")
200 .setPortSlot("Some port-slot")
201 .setPortSubSlot("Some port-sub-slot")
205 .setServiceZEnd(new ServiceZEndBuilder()
206 .setServiceFormat(ServiceFormat.Ethernet)
207 .setServiceRate(Uint32.valueOf(0))
208 .setClli("Some clli11")
209 .setNodeId("XPONDER-1-2")
210 .setTxDirection(new TxDirectionBuilder()
211 .setPort(new PortBuilder()
212 .setPortDeviceName("Some port-device-name")
213 .setPortType("Some port-type")
214 .setPortName("Some port-name")
215 .setPortRack("Some port-rack")
216 .setPortShelf("Some port-shelf")
217 .setPortSlot("Some port-slot")
218 .setPortSubSlot("Some port-sub-slot")
221 .setRxDirection(new RxDirectionBuilder()
222 .setPort(new PortBuilder()
223 .setPortDeviceName("Some port-device-name")
224 .setPortType("Some port-type")
225 .setPortName("Some port-name")
226 .setPortRack("Some port-rack")
227 .setPortShelf("Some port-shelf")
228 .setPortSlot("Some port-slot")
229 .setPortSubSlot("Some port-sub-slot")
233 .setHardConstraints(new HardConstraintsBuilder()
234 .setCustomerCode(Set.of("Some customer-code"))
235 .setCoRouting(new CoRoutingBuilder()
236 .setServiceIdentifierList(Map.of(
237 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
238 .routing.ServiceIdentifierListKey("Some existing-service"),
239 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
242 .setSoftConstraints(new SoftConstraintsBuilder()
243 .setCustomerCode(Set.of("Some customer-code"))
244 .setCoRouting(new CoRoutingBuilder()
245 .setServiceIdentifierList(Map.of(
246 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
247 .routing.ServiceIdentifierListKey("Some existing-service"),
248 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
254 public static PathComputationRequestInput getPCERequest() {
255 return new PathComputationRequestInputBuilder()
256 .setServiceName("service1")
257 .setResourceReserve(true)
258 .setPceRoutingMetric(PceMetric.HopCount)
259 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
260 .setRequestId("request1")
262 .setServiceAEnd(new ServiceAEndBuilder()
263 .setServiceFormat(ServiceFormat.Ethernet)
264 .setServiceRate(Uint32.valueOf(100))
266 .setNodeId("XPONDER-2-2")
267 .setTxDirection(new TxDirectionBuilder()
268 .setPort(new PortBuilder()
269 .setPortDeviceName("Some port-device-name")
270 .setPortType("Some port-type")
271 .setPortName("Some port-name")
272 .setPortRack("Some port-rack")
273 .setPortShelf("Some port-shelf")
274 .setPortSlot("Some port-slot")
275 .setPortSubSlot("Some port-sub-slot")
278 .setRxDirection(new RxDirectionBuilder()
279 .setPort(new PortBuilder()
280 .setPortDeviceName("Some port-device-name")
281 .setPortType("Some port-type")
282 .setPortName("Some port-name")
283 .setPortRack("Some port-rack")
284 .setPortShelf("Some port-shelf")
285 .setPortSlot("Some port-slot")
286 .setPortSubSlot("Some port-sub-slot")
290 .setServiceZEnd(new ServiceZEndBuilder()
291 .setServiceFormat(ServiceFormat.Ethernet)
292 .setServiceRate(Uint32.valueOf(0))
293 .setClli("Some clli11")
294 .setNodeId("XPONDER-1-2")
295 .setTxDirection(new TxDirectionBuilder()
296 .setPort(new PortBuilder()
297 .setPortDeviceName("Some port-device-name")
298 .setPortType("Some port-type")
299 .setPortName("Some port-name")
300 .setPortRack("Some port-rack")
301 .setPortShelf("Some port-shelf")
302 .setPortSlot("Some port-slot")
303 .setPortSubSlot("Some port-sub-slot")
306 .setRxDirection(new RxDirectionBuilder()
307 .setPort(new PortBuilder()
308 .setPortDeviceName("Some port-device-name")
309 .setPortType("Some port-type")
310 .setPortName("Some port-name")
311 .setPortRack("Some port-rack")
312 .setPortShelf("Some port-shelf")
313 .setPortSlot("Some port-slot")
314 .setPortSubSlot("Some port-sub-slot")
318 .setHardConstraints(new HardConstraintsBuilder()
319 .setCustomerCode(Set.of("Some customer-code"))
320 .setCoRouting(new CoRoutingBuilder()
321 .setServiceIdentifierList(Map.of(
322 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
323 .routing.ServiceIdentifierListKey("Some existing-service"),
324 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
327 .setSoftConstraints(new SoftConstraintsBuilder()
328 .setCustomerCode(Set.of("Some customer-code"))
329 .setCoRouting(new CoRoutingBuilder()
330 .setServiceIdentifierList(Map.of(
331 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
332 .routing.ServiceIdentifierListKey("Some existing-service"),
333 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
339 public static PathComputationRequestOutput getFailedPCEResultYes() {
340 return new PathComputationRequestOutputBuilder()
341 .setConfigurationResponseCommon(
342 new ConfigurationResponseCommonBuilder()
343 .setAckFinalIndicator("Yes")
344 .setRequestId("request1")
345 .setResponseCode("Path not calculated")
346 .setResponseMessage("Service Name is not set")
348 .setResponseParameters(null)
352 public static PathComputationRequestOutput getPCEResultOk(Long wl) {
353 return new PathComputationRequestOutputBuilder()
354 .setConfigurationResponseCommon(createCommonSuccessResponse())
355 .setResponseParameters(
356 new ResponseParametersBuilder()
357 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
363 * Generate Data for Test 1 request 5-4.
366 * "pce:service-name": "service 1",
367 * "pce:resource-reserve": "true",
368 * "pce:service-handler-header": {
369 * "pce:request-id": "request 1"
371 * "pce:service-a-end": {
372 * "pce:service-rate": "0",
373 * "pce:node-id": "XPONDER-1-2"
375 * "pce:service-z-end": {
376 * "pce:service-rate": "0",
377 * "pce:node-id": "XPONDER-3-2"
379 * "pce:pce-metric": "hop-count"
382 * @return input PathComputationRequestInput data
384 public static PathComputationRequestInput getPCE_test1_request_54() {
385 return new PathComputationRequestInputBuilder()
386 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
387 .setRequestId("request 1")
389 .setServiceName("service 1")
390 .setResourceReserve(true)
391 .setPceRoutingMetric(PceMetric.HopCount)
392 .setServiceAEnd(new ServiceAEndBuilder()
393 .setServiceRate(Uint32.valueOf(0))
394 .setNodeId("XPONDER-1-2")
396 .setServiceZEnd(new ServiceZEndBuilder()
397 .setServiceRate(Uint32.valueOf(0))
398 .setNodeId("XPONDER-3-2")
404 * Generate Data for Test 1 result 5-4.
405 * @param wl WaveLength
406 * @return output PathComputationRequestOutput data
408 public static PathComputationRequestOutput getPCE_test_result_54(Long wl) {
409 return new PathComputationRequestOutputBuilder()
410 .setConfigurationResponseCommon(createCommonSuccessResponse())
411 .setResponseParameters(
412 new ResponseParametersBuilder()
413 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
419 * Generate Data for Test 2 request 5-4.
422 * "pce:service-name": "service 1",
423 * "pce:resource-reserve": "true",
424 * "pce:service-handler-header": {
425 * "pce:request-id": "request 1"
427 * "pce:service-a-end": {
428 * "pce:service-rate": "0",
429 * "pce:node-id": "XPONDER-1-2"
431 * "pce:service-z-end": {
432 * "pce:service-rate": "0",
433 * "pce:node-id": "XPONDER-3-2"
435 * "pce:hard-constraints": {
437 * "node-id": [ "OpenROADM-2-2" ]
440 * "pce:pce-metric": "hop-count"
443 * @return input PathComputationRequestInput data
445 public static PathComputationRequestInput getPCE_test2_request_54() {
446 return new PathComputationRequestInputBuilder()
447 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
448 .setRequestId("request 1")
450 .setServiceName("service 1")
451 .setResourceReserve(true)
452 .setPceRoutingMetric(PceMetric.HopCount)
453 .setServiceAEnd(new ServiceAEndBuilder()
454 .setServiceRate(Uint32.valueOf(0))
455 .setNodeId("XPONDER-1-2")
457 .setServiceZEnd(new ServiceZEndBuilder()
458 .setServiceRate(Uint32.valueOf(0))
459 .setNodeId("XPONDER-3-2")
461 .setHardConstraints(new HardConstraintsBuilder()
462 .setExclude(new ExcludeBuilder()
463 .setNodeId(Set.of(new NodeIdType("OpenROADM-2-2")))
465 .setInclude(new IncludeBuilder()
466 .setNodeId(Set.of(new NodeIdType("XPONDER-1-2")))
468 .setLatency(new LatencyBuilder()
469 .setMaxLatency(Decimal64.valueOf("3223"))
476 * Generate Data for Test 2 result 5-4.
477 * @return output PathComputationRequestOutput data
479 public static PathComputationRequestOutput getPCE_test2_result_54() {
480 return new PathComputationRequestOutputBuilder()
481 .setConfigurationResponseCommon(createCommonSuccessResponse())
482 .setResponseParameters(
483 new ResponseParametersBuilder()
484 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
490 * Generate Data for Test 2 request 5-4.
493 * "pce:service-name": "service 1",
494 * "pce:resource-reserve": "true",
495 * "pce:service-handler-header": {
496 * "pce:request-id": "request 1"
498 * "pce:service-a-end": {
499 * "pce:service-rate": "0",
500 * "pce:node-id": "XPONDER-1-2"
502 * "pce:service-z-end": {
503 * "pce:service-rate": "0",
504 * "pce:node-id": "XPONDER-3-2"
506 * "pce:hard-constraints": {
508 * "node-id": [ "OpenROADM-2-1", "OpenROADM-2-2" ]
511 * "pce:pce-metric": "hop-count"
514 * @return input PathComputationRequestInput data
516 public static PathComputationRequestInput getPCE_test3_request_54() {
517 return new PathComputationRequestInputBuilder()
518 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
519 .setRequestId("request 1")
521 .setServiceName("service 1")
522 .setResourceReserve(true)
523 .setPceRoutingMetric(PceMetric.HopCount)
524 .setServiceAEnd(new ServiceAEndBuilder()
525 .setServiceRate(Uint32.valueOf(100))
526 .setServiceFormat(ServiceFormat.Ethernet)
527 .setNodeId("XPONDER-1-2")
529 .setServiceZEnd(new ServiceZEndBuilder()
530 .setServiceRate(Uint32.valueOf(0))
531 .setServiceFormat(ServiceFormat.Ethernet)
532 .setNodeId("XPONDER-3-2")
534 .setHardConstraints(new HardConstraintsBuilder()
535 .setExclude(new ExcludeBuilder()
537 new NodeIdType("OpenROADM-2-1"),
538 new NodeIdType("OpenROADM-2-2")))
545 * Generate Data for Test 3 result 5-4.
546 * @return output PathComputationRequestOutput data
548 public static PathComputationRequestOutput getPCE_test3_result_54() {
549 return new PathComputationRequestOutputBuilder()
550 .setConfigurationResponseCommon(createCommonSuccessResponse())
551 .setResponseParameters(new ResponseParametersBuilder()
552 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
557 public static PathComputationRequestInput getPCE_simpletopology_test1_requestSetHardAndSoftConstrains() {
558 return new PathComputationRequestInputBuilder()
559 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
560 .setRequestId("request 1")
562 .setServiceName("service 1")
563 .setResourceReserve(true)
564 .setPceRoutingMetric(PceMetric.HopCount)
565 .setServiceAEnd(new ServiceAEndBuilder()
566 .setServiceRate(Uint32.valueOf(0))
567 .setNodeId("XPONDER-1-2")
569 .setServiceZEnd(new ServiceZEndBuilder()
570 .setServiceRate(Uint32.valueOf(0))
571 .setNodeId("XPONDER-3-2")
573 .setHardConstraints(new HardConstraintsBuilder().build())
574 .setSoftConstraints(new SoftConstraintsBuilder().build())
578 public static PathComputationRequestInput getPCE_simpletopology_test1_request() {
579 return new PathComputationRequestInputBuilder()
580 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
581 .setRequestId("request 1")
583 .setServiceName("service 1")
584 .setResourceReserve(true)
585 .setPceRoutingMetric(PceMetric.HopCount)
586 .setServiceAEnd(new ServiceAEndBuilder()
587 .setServiceRate(Uint32.valueOf(0))
588 .setNodeId("XPONDER-1-2")
590 .setServiceZEnd(new ServiceZEndBuilder()
591 .setServiceRate(Uint32.valueOf(0))
592 .setNodeId("XPONDER-3-2")
597 public static PathComputationRequestOutput getPCE_simpletopology_test1_result(Long wl) {
598 return new PathComputationRequestOutputBuilder()
599 .setConfigurationResponseCommon(createCommonSuccessResponse())
600 .setResponseParameters(new ResponseParametersBuilder()
601 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
606 private static ConfigurationResponseCommon createCommonSuccessResponse() {
607 return new ConfigurationResponseCommonBuilder()
608 .setAckFinalIndicator(ResponseCodes.FINAL_ACK_YES)
609 .setRequestId("request 1")
610 .setResponseCode(ResponseCodes.RESPONSE_OK)
611 .setResponseMessage("Path is calculated")
615 private static PathDescription createPathDescription(long azRate, long azWaveLength, long zaRate,
617 return new PathDescriptionBuilder()
618 .setAToZDirection(new AToZDirectionBuilder()
619 .setRate(Uint32.valueOf(azRate))
620 .setAToZWavelengthNumber(Uint32.valueOf(azWaveLength))
622 .setZToADirection(new ZToADirectionBuilder()
623 .setRate(Uint32.valueOf(zaRate))
624 .setZToAWavelengthNumber(Uint32.valueOf(zaWaveLength))
630 * Generate Data for Test Diversity test 1 request 5-4.
633 * "pce:service-name": "service 1",
634 * "pce:resource-reserve": "true",
635 * "pce:service-handler-header": {
636 * "pce:request-id": "request 1"
638 * "pce:service-a-end": {
639 * "pce:service-rate": "0",
640 * "pce:node-id": "XPONDER-1-1"
642 * "pce:service-z-end": {
643 * "pce:service-rate": "0",
644 * "pce:node-id": "XPONDER-3-1"
646 * "pce:hard-constraints": {
648 * "existing-service": ["Path test-1-54"],
649 * "existing-service-applicability": {
654 * "pce:pce-metric": "hop-count"
657 * @param base Path Computation Request Input base
658 * @return input PathComputationRequestInput data
660 public static PathComputationRequestInput build_diversity_from_request(PathComputationRequestInput base) {
661 return new PathComputationRequestInputBuilder(base)
662 .setServiceName("service 2")
663 .setServiceAEnd(new ServiceAEndBuilder()
664 .setServiceRate(Uint32.valueOf(0))
665 .setNodeId("XPONDER-1-1")
667 .setServiceZEnd(new ServiceZEndBuilder()
668 .setServiceRate(Uint32.valueOf(0))
669 .setNodeId("XPONDER-3-1")
671 .setHardConstraints(new HardConstraintsBuilder()
672 .setLatency(new LatencyBuilder()
673 .setMaxLatency(Decimal64.valueOf("3223"))
675 .setDiversity(new DiversityBuilder()
676 .setServiceIdentifierList(Map.of(
677 new ServiceIdentifierListKey(base.getServiceName()),
678 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.diversity
679 .existing.service.constraints.ServiceIdentifierListBuilder()
680 .setServiceIndentifier(base.getServiceName())
681 .setServiceApplicability(new ServiceApplicabilityBuilder()
690 public static ServiceCreateInput buildServiceCreateInput() {
691 return new ServiceCreateInputBuilder()
692 .setCommonId("commonId")
693 .setConnectionType(ConnectionType.Service)
694 .setCustomer("Customer")
695 .setServiceName("service 1")
697 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input
698 .ServiceAEndBuilder()
700 .setServiceRate(Uint32.valueOf(0))
701 .setNodeId(new NodeIdType("XPONDER-1-2"))
702 .setTxDirection(Map.of(
703 new TxDirectionKey(Uint8.ZERO),
704 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
705 .endpoint.TxDirectionBuilder()
706 .setPort(new PortBuilder().build())
708 .setRxDirection(Map.of(
709 new RxDirectionKey(Uint8.ZERO),
710 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
711 .endpoint.RxDirectionBuilder()
712 .setPort(new PortBuilder().build())
716 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input
717 .ServiceZEndBuilder()
719 .setServiceRate(Uint32.valueOf(0))
720 .setNodeId(new NodeIdType("XPONDER-3-2"))
721 .setTxDirection(Map.of(
722 new TxDirectionKey(Uint8.ZERO),
723 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
724 .endpoint.TxDirectionBuilder()
725 .setPort(new PortBuilder().build())
727 .setRxDirection(Map.of(
728 new RxDirectionKey(Uint8.ZERO),
729 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service
730 .endpoint.RxDirectionBuilder()
731 .setPort(new PortBuilder().build())
734 .setSdncRequestHeader(
735 new SdncRequestHeaderBuilder()
736 .setRequestId("request 1")
741 public static PathComputationRequestInput getGnpyPCERequest(String nodeA, String nodeZ) {
742 return new PathComputationRequestInputBuilder()
743 .setServiceName("service1")
744 .setResourceReserve(true)
745 .setPceRoutingMetric(PceMetric.HopCount)
746 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().setRequestId("request1").build())
747 .setServiceAEnd(new ServiceAEndBuilder()
748 .setServiceFormat(ServiceFormat.Ethernet)
749 .setServiceRate(Uint32.valueOf(100))
752 .setTxDirection(new TxDirectionBuilder()
753 .setPort(new PortBuilder()
754 .setPortDeviceName("Some port-device-name")
755 .setPortType("Some port-type")
756 .setPortName("Some port-name")
757 .setPortRack("Some port-rack")
758 .setPortShelf("Some port-shelf")
759 .setPortSlot("Some port-slot")
760 .setPortSubSlot("Some port-sub-slot")
763 .setRxDirection(new RxDirectionBuilder()
764 .setPort(new PortBuilder()
765 .setPortDeviceName("Some port-device-name")
766 .setPortType("Some port-type")
767 .setPortName("Some port-name")
768 .setPortRack("Some port-rack")
769 .setPortShelf("Some port-shelf")
770 .setPortSlot("Some port-slot")
771 .setPortSubSlot("Some port-sub-slot")
775 .setServiceZEnd(new ServiceZEndBuilder()
776 .setServiceFormat(ServiceFormat.Ethernet)
777 .setServiceRate(Uint32.valueOf(0))
778 .setClli("Some clli11")
780 .setTxDirection(new TxDirectionBuilder()
781 .setPort(new PortBuilder()
782 .setPortDeviceName("Some port-device-name")
783 .setPortType("Some port-type")
784 .setPortName("Some port-name")
785 .setPortRack("Some port-rack")
786 .setPortShelf("Some port-shelf")
787 .setPortSlot("Some port-slot")
788 .setPortSubSlot("Some port-sub-slot")
791 .setRxDirection(new RxDirectionBuilder()
792 .setPort(new PortBuilder()
793 .setPortDeviceName("Some port-device-name")
794 .setPortType("Some port-type")
795 .setPortName("Some port-name")
796 .setPortRack("Some port-rack")
797 .setPortShelf("Some port-shelf")
798 .setPortSlot("Some port-slot")
799 .setPortSubSlot("Some port-sub-slot")
803 .setHardConstraints(new HardConstraintsBuilder()
804 .setCustomerCode(Set.of("Some customer-code"))
805 .setCoRouting(new CoRoutingBuilder()
806 .setServiceIdentifierList(Map.of(
807 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
808 .routing.ServiceIdentifierListKey("Some existing-service"),
809 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
812 .setSoftConstraints(new SoftConstraintsBuilder()
813 .setCustomerCode(Set.of("Some customer-code"))
814 .setCoRouting(new CoRoutingBuilder()
815 .setServiceIdentifierList(Map.of(
816 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
817 .routing.ServiceIdentifierListKey("Some existing-service"),
818 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))