Add unit tests PCE RPC path-computation-reroute
[transportpce.git] / pce / src / test / java / org / opendaylight / transportpce / pce / utils / PceTestData.java
index 6e1b5fab13a0422d29c3cc3f7bf49fa2e890c9b2..1921c3c0246473fd87b43589d922f19df4efc818 100644 (file)
@@ -7,16 +7,18 @@
  */
 package org.opendaylight.transportpce.pce.utils;
 
-import java.math.BigDecimal;
-import java.util.Arrays;
 import java.util.Map;
+import java.util.Set;
 import org.opendaylight.transportpce.common.ResponseCodes;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220615.PathComputationRequestInput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220615.PathComputationRequestInputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220615.PathComputationRequestOutput;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220615.PathComputationRequestOutputBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220615.path.computation.request.input.ServiceAEndBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220615.path.computation.request.input.ServiceZEndBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRequestInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRequestOutput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRequestOutputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRerouteRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRerouteRequestInputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.path.computation.request.input.ServiceAEndBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.path.computation.request.input.ServiceZEndBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.path.computation.reroute.request.input.EndpointsBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev210528.NodeIdType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.ConnectionType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.configuration.response.common.ConfigurationResponseCommon;
@@ -47,6 +49,7 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.handler.header.ServiceHandlerHeaderBuilder;
+import org.opendaylight.yangtools.yang.common.Decimal64;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.common.Uint8;
 
@@ -146,7 +149,7 @@ public final class PceTestData {
                     .build())
                 .build())
             .setHardConstraints(new HardConstraintsBuilder()
-                .setCustomerCode(Arrays.asList("Some customer-code"))
+                .setCustomerCode(Set.of("Some customer-code"))
                 .setCoRouting(new CoRoutingBuilder()
                     .setServiceIdentifierList(Map.of(
                         new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
@@ -155,7 +158,7 @@ public final class PceTestData {
                     .build())
                 .build())
             .setSoftConstraints(new SoftConstraintsBuilder()
-                .setCustomerCode(Arrays.asList("Some customer-code"))
+                .setCustomerCode(Set.of("Some customer-code"))
                 .setCoRouting(new CoRoutingBuilder()
                     .setServiceIdentifierList(Map.of(
                         new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
@@ -231,7 +234,7 @@ public final class PceTestData {
                     .build())
                 .build())
             .setHardConstraints(new HardConstraintsBuilder()
-                .setCustomerCode(Arrays.asList("Some customer-code"))
+                .setCustomerCode(Set.of("Some customer-code"))
                 .setCoRouting(new CoRoutingBuilder()
                     .setServiceIdentifierList(Map.of(
                         new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
@@ -240,7 +243,7 @@ public final class PceTestData {
                     .build())
                 .build())
             .setSoftConstraints(new SoftConstraintsBuilder()
-                .setCustomerCode(Arrays.asList("Some customer-code"))
+                .setCustomerCode(Set.of("Some customer-code"))
                 .setCoRouting(new CoRoutingBuilder()
                     .setServiceIdentifierList(Map.of(
                         new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
@@ -316,7 +319,7 @@ public final class PceTestData {
                     .build())
                 .build())
             .setHardConstraints(new HardConstraintsBuilder()
-                .setCustomerCode(Arrays.asList("Some customer-code"))
+                .setCustomerCode(Set.of("Some customer-code"))
                 .setCoRouting(new CoRoutingBuilder()
                     .setServiceIdentifierList(Map.of(
                         new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
@@ -325,7 +328,7 @@ public final class PceTestData {
                     .build())
                 .build())
             .setSoftConstraints(new SoftConstraintsBuilder()
-                .setCustomerCode(Arrays.asList("Some customer-code"))
+                .setCustomerCode(Set.of("Some customer-code"))
                 .setCoRouting(new CoRoutingBuilder()
                     .setServiceIdentifierList(Map.of(
                         new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
@@ -336,6 +339,97 @@ public final class PceTestData {
             .build();
     }
 
+    public static PathComputationRerouteRequestInput getPCERerouteRequest() {
+        return new PathComputationRerouteRequestInputBuilder()
+                .setPceRoutingMetric(PceMetric.HopCount)
+                .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
+                        .setRequestId("request1")
+                        .build())
+                .setServiceAEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808
+                        .path.computation.reroute.request.input.ServiceAEndBuilder()
+                        .setServiceFormat(ServiceFormat.Ethernet)
+                        .setServiceRate(Uint32.valueOf(100))
+                        .setClli("clli11")
+                        .setNodeId("XPONDER-2-2")
+                        .setTxDirection(new TxDirectionBuilder()
+                                .setPort(new PortBuilder()
+                                        .setPortDeviceName("Some port-device-name")
+                                        .setPortType("Some port-type")
+                                        .setPortName("Some port-name")
+                                        .setPortRack("Some port-rack")
+                                        .setPortShelf("Some port-shelf")
+                                        .setPortSlot("Some port-slot")
+                                        .setPortSubSlot("Some port-sub-slot")
+                                        .build())
+                                .build())
+                        .setRxDirection(new RxDirectionBuilder()
+                                .setPort(new PortBuilder()
+                                        .setPortDeviceName("Some port-device-name")
+                                        .setPortType("Some port-type")
+                                        .setPortName("Some port-name")
+                                        .setPortRack("Some port-rack")
+                                        .setPortShelf("Some port-shelf")
+                                        .setPortSlot("Some port-slot")
+                                        .setPortSubSlot("Some port-sub-slot")
+                                        .build())
+                                .build())
+                        .build())
+                .setServiceZEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808
+                        .path.computation.reroute.request.input.ServiceZEndBuilder()
+                        .setServiceFormat(ServiceFormat.Ethernet)
+                        .setServiceRate(Uint32.valueOf(0))
+                        .setClli("Some clli11")
+                        .setNodeId("XPONDER-1-2")
+                        .setTxDirection(new TxDirectionBuilder()
+                                .setPort(new PortBuilder()
+                                        .setPortDeviceName("Some port-device-name")
+                                        .setPortType("Some port-type")
+                                        .setPortName("Some port-name")
+                                        .setPortRack("Some port-rack")
+                                        .setPortShelf("Some port-shelf")
+                                        .setPortSlot("Some port-slot")
+                                        .setPortSubSlot("Some port-sub-slot")
+                                        .build())
+                                .build())
+                        .setRxDirection(new RxDirectionBuilder()
+                                .setPort(new PortBuilder()
+                                        .setPortDeviceName("Some port-device-name")
+                                        .setPortType("Some port-type")
+                                        .setPortName("Some port-name")
+                                        .setPortRack("Some port-rack")
+                                        .setPortShelf("Some port-shelf")
+                                        .setPortSlot("Some port-slot")
+                                        .setPortSubSlot("Some port-sub-slot")
+                                        .build())
+                                .build())
+                        .build())
+                .setHardConstraints(new HardConstraintsBuilder()
+                        .setCustomerCode(Set.of("Some customer-code"))
+                        .setCoRouting(new CoRoutingBuilder()
+                                .setServiceIdentifierList(Map.of(
+                                        new org.opendaylight.yang.gen.v1
+                                                .http.org.openroadm.routing.constraints.rev211210
+                                                .constraints.co.routing.ServiceIdentifierListKey("test"),
+                                        new ServiceIdentifierListBuilder().setServiceIdentifier("test").build()))
+                                .build())
+                        .build())
+                .setSoftConstraints(new SoftConstraintsBuilder()
+                        .setCustomerCode(Set.of("Some customer-code"))
+                        .setCoRouting(new CoRoutingBuilder()
+                                .setServiceIdentifierList(Map.of(
+                                        new org.opendaylight.yang.gen.v1
+                                                .http.org.openroadm.routing.constraints.rev211210
+                                                .constraints.co.routing.ServiceIdentifierListKey("test"),
+                                        new ServiceIdentifierListBuilder().setServiceIdentifier("test").build()))
+                                .build())
+                        .build())
+                .setEndpoints(new EndpointsBuilder()
+                        .setAEndTp("AendTP")
+                        .setZEndTp("ZendTP")
+                        .build())
+                .build();
+    }
+
     public static PathComputationRequestOutput getFailedPCEResultYes() {
         return new PathComputationRequestOutputBuilder()
             .setConfigurationResponseCommon(
@@ -460,13 +554,13 @@ public final class PceTestData {
                 .build())
             .setHardConstraints(new HardConstraintsBuilder()
                 .setExclude(new ExcludeBuilder()
-                    .setNodeId(Arrays.asList(new NodeIdType("OpenROADM-2-2")))
+                    .setNodeId(Set.of(new NodeIdType("OpenROADM-2-2")))
                     .build())
                 .setInclude(new IncludeBuilder()
-                    .setNodeId(Arrays.asList(new NodeIdType("XPONDER-1-2")))
+                    .setNodeId(Set.of(new NodeIdType("XPONDER-1-2")))
                     .build())
                 .setLatency(new LatencyBuilder()
-                    .setMaxLatency(BigDecimal.valueOf(3223))
+                    .setMaxLatency(Decimal64.valueOf("3223"))
                     .build())
                 .build())
             .build();
@@ -486,6 +580,38 @@ public final class PceTestData {
             .build();
     }
 
+    public static PathComputationRerouteRequestInput getPCEReroute() {
+        return new PathComputationRerouteRequestInputBuilder()
+                .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
+                        .setRequestId("request 1")
+                        .build())
+                .setPceRoutingMetric(PceMetric.HopCount)
+                .setServiceAEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808
+                        .path.computation.reroute.request.input.ServiceAEndBuilder()
+                        .setServiceRate(Uint32.valueOf(100))
+                        .setServiceFormat(ServiceFormat.Ethernet)
+                        .setNodeId("XPONDER-1-2")
+                        .build())
+                .setServiceZEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808
+                        .path.computation.reroute.request.input.ServiceZEndBuilder()
+                        .setServiceRate(Uint32.valueOf(0))
+                        .setServiceFormat(ServiceFormat.Ethernet)
+                        .setNodeId("XPONDER-3-2")
+                        .build())
+                .setHardConstraints(new HardConstraintsBuilder()
+                        .setExclude(new ExcludeBuilder()
+                                .setNodeId(Set.of(
+                                        new NodeIdType("OpenROADM-2-1"),
+                                        new NodeIdType("OpenROADM-2-2")))
+                                .build())
+                        .build())
+                .setEndpoints(new EndpointsBuilder()
+                        .setAEndTp("AendTP")
+                        .setZEndTp("ZendTP")
+                        .build())
+                .build();
+    }
+
     /**
      * Generate Data for Test 2 request 5-4.
      * <code>{
@@ -533,7 +659,7 @@ public final class PceTestData {
                 .build())
             .setHardConstraints(new HardConstraintsBuilder()
                 .setExclude(new ExcludeBuilder()
-                    .setNodeId(Arrays.asList(
+                    .setNodeId(Set.of(
                         new NodeIdType("OpenROADM-2-1"),
                         new NodeIdType("OpenROADM-2-2")))
                     .build())
@@ -670,7 +796,7 @@ public final class PceTestData {
                 .build())
             .setHardConstraints(new HardConstraintsBuilder()
                 .setLatency(new LatencyBuilder()
-                    .setMaxLatency(BigDecimal.valueOf(3223))
+                    .setMaxLatency(Decimal64.valueOf("3223"))
                     .build())
                 .setDiversity(new DiversityBuilder()
                     .setServiceIdentifierList(Map.of(
@@ -801,7 +927,7 @@ public final class PceTestData {
                     .build())
                 .build())
             .setHardConstraints(new HardConstraintsBuilder()
-                .setCustomerCode(Arrays.asList("Some customer-code"))
+                .setCustomerCode(Set.of("Some customer-code"))
                 .setCoRouting(new CoRoutingBuilder()
                     .setServiceIdentifierList(Map.of(
                         new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co
@@ -810,7 +936,7 @@ public final class PceTestData {
                     .build())
                 .build())
             .setSoftConstraints(new SoftConstraintsBuilder()
-                .setCustomerCode(Arrays.asList("Some customer-code"))
+                .setCustomerCode(Set.of("Some customer-code"))
                 .setCoRouting(new CoRoutingBuilder()
                     .setServiceIdentifierList(Map.of(
                         new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co