Fix previous and add new PCE Junit test cases
[transportpce.git] / pce / src / test / java / org / opendaylight / transportpce / pce / utils / PceTestData.java
index b822b7a8bf3b0f31b2f338c21856e07285c25a22..d471002dba9c10a8f3625d42a6ad65f478aea132 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.transportpce.pce.utils;
 
 import java.util.Arrays;
+
 import org.opendaylight.transportpce.common.ResponseCodes;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInputBuilder;
@@ -35,9 +36,14 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.GeneralBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.DiversityBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.ExcludeBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.IncludeBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.LatencyBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.include_.OrderedHopsBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.diversity.existing.service.contraints.sp.ExistingServiceApplicability;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.diversity.existing.service.contraints.sp.ExistingServiceApplicabilityBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.HardConstraints;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.HardConstraintsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.SoftConstraints;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.SoftConstraintsBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.response.parameters.sp.ResponseParameters;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.response.parameters.sp.ResponseParametersBuilder;
@@ -48,6 +54,8 @@ 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.rev200128.service.handler.header.ServiceHandlerHeader;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.handler.header.ServiceHandlerHeaderBuilder;
 
+
+
 public final class PceTestData {
 
     private PceTestData() {
@@ -63,6 +71,120 @@ public final class PceTestData {
         return input;
     }
 
+    public static PathComputationRequestInput getEmptyPCERequestServiceNameWithRequestId() {
+        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
+                .setRequestId("request1")
+                .build();
+        PathComputationRequestInput input = new PathComputationRequestInputBuilder()
+                .setServiceName("serviceName")
+                .setServiceHandlerHeader(serviceHandlerHeader)
+                .build();
+        return input;
+    }
+
+    public static PathComputationRequestInput getEmptyPCERequestServiceNameWithOutRequestId() {
+        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
+                .build();
+        PathComputationRequestInput input = new PathComputationRequestInputBuilder()
+                .setServiceName("serviceName")
+                .setServiceHandlerHeader(serviceHandlerHeader)
+                .build();
+        return input;
+    }
+
+    public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral() {
+        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
+                .setRequestId("request1")
+                .build();
+        ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
+                .setServiceFormat(ServiceFormat.Ethernet)
+                .setServiceRate(100L)
+                .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();
+        ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
+                .setServiceFormat(ServiceFormat.Ethernet)
+                .setServiceRate(0L)
+                .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();
+        PathComputationRequestInput input = new PathComputationRequestInputBuilder()
+                .setServiceName("service1")
+                .setResourceReserve(true)
+                .setPceMetric(PceMetric.HopCount)
+                .setLocallyProtectedLinks(true)
+                .setServiceHandlerHeader(serviceHandlerHeader)
+                .setServiceAEnd(serviceAEnd)
+                .setServiceZEnd(serviceZEnd)
+                .setHardConstraints(new HardConstraintsBuilder()
+                        .setCustomerCode(Arrays.asList("Some customer-code"))
+                        .setCoRoutingOrGeneral(new CoRoutingBuilder()
+                                .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
+                                        .transportpce.b.c._interface.routing.constraints.rev171017
+                                        .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
+                                        .setExistingService(Arrays.asList("Some existing-service"))
+
+                                        .build())
+                                .build())
+                        .build())
+                .setSoftConstraints(new SoftConstraintsBuilder()
+                        .setCustomerCode(Arrays.asList("Some customer-code"))
+                        .setCoRoutingOrGeneral(new CoRoutingBuilder()
+                                .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
+                                        .transportpce.b.c._interface.routing.constraints.rev171017
+                                        .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
+                                        .setExistingService(Arrays.asList("Some existing-service"))
+                                        .build())
+                                .build())
+                        .build())
+                .build();
+        return input;
+    }
+
     public static PathComputationRequestInput getPCERequest() {
         ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
                 .setRequestId("request1")
@@ -124,32 +246,34 @@ public final class PceTestData {
                 ).build())
                 .build();
         PathComputationRequestInput input = new PathComputationRequestInputBuilder()
-            .setServiceName("service1")
-            .setResourceReserve(true)
-            .setPceMetric(PceMetric.HopCount)
-            .setLocallyProtectedLinks(true)
-            .setServiceHandlerHeader(serviceHandlerHeader)
-            .setServiceAEnd(serviceAEnd)
-            .setServiceZEnd(serviceZEnd)
-            .setHardConstraints(new HardConstraintsBuilder()
-            .setCustomerCode(Arrays.asList("Some customer-code"))
-            .setCoRoutingOrGeneral(new CoRoutingBuilder()
-            .setCoRouting(new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints
-                 .rev171017.constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
-            .setExistingService(Arrays.asList("Some existing-service"))
-            .build())
-            .build())
-            .build())
-            .setSoftConstraints(new SoftConstraintsBuilder()
-            .setCustomerCode(Arrays.asList("Some customer-code"))
-            .setCoRoutingOrGeneral(new CoRoutingBuilder()
-            .setCoRouting(new org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints
-                .rev171017.constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
-            .setExistingService(Arrays.asList("Some existing-service"))
-            .build())
-            .build())
-            .build())
-            .build();
+                .setServiceName("service1")
+                .setResourceReserve(true)
+                .setPceMetric(PceMetric.HopCount)
+                .setLocallyProtectedLinks(true)
+                .setServiceHandlerHeader(serviceHandlerHeader)
+                .setServiceAEnd(serviceAEnd)
+                .setServiceZEnd(serviceZEnd)
+                .setHardConstraints(new HardConstraintsBuilder()
+                        .setCustomerCode(Arrays.asList("Some customer-code"))
+                        .setCoRoutingOrGeneral(new CoRoutingBuilder()
+                                .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
+                                        .transportpce.b.c._interface.routing.constraints.rev171017
+                                        .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
+                                        .setExistingService(Arrays.asList("Some existing-service"))
+                                        .build())
+                                .build())
+                        .build())
+                .setSoftConstraints(new SoftConstraintsBuilder()
+                        .setCustomerCode(Arrays.asList("Some customer-code"))
+                        .setCoRoutingOrGeneral(new CoRoutingBuilder()
+                                .setCoRouting(new org.opendaylight.yang.gen.v1.http.org
+                                        .transportpce.b.c._interface.routing.constraints.rev171017
+                                        .constraints.sp.co.routing.or.general.co.routing.CoRoutingBuilder()
+                                        .setExistingService(Arrays.asList("Some existing-service"))
+                                        .build())
+                                .build())
+                        .build())
+                .build();
         return input;
     }
 
@@ -178,23 +302,23 @@ public final class PceTestData {
     /**
      * Generate Data for Test 1 request 5-4.
      * <code>{
-       "pce:input": {
-         "pce:service-name": "service 1",
-         "pce:resource-reserve": "true",
-         "pce:service-handler-header": {
-           "pce:request-id": "request 1"
-         },
-         "pce:service-a-end": {
-           "pce:service-rate": "0",
-           "pce:node-id": "XPONDER-1-2"
-         },
-         "pce:service-z-end": {
-           "pce:service-rate": "0",
-           "pce:node-id": "XPONDER-3-2"
-         },
-         "pce:pce-metric": "hop-count"
-       }
-     }</code>
+     * "pce:input": {
+     * "pce:service-name": "service 1",
+     * "pce:resource-reserve": "true",
+     * "pce:service-handler-header": {
+     * "pce:request-id": "request 1"
+     * },
+     * "pce:service-a-end": {
+     * "pce:service-rate": "0",
+     * "pce:node-id": "XPONDER-1-2"
+     * },
+     * "pce:service-z-end": {
+     * "pce:service-rate": "0",
+     * "pce:node-id": "XPONDER-3-2"
+     * },
+     * "pce:pce-metric": "hop-count"
+     * }
+     }</code>
      *
      * @return input PathComputationRequestInput data
      */
@@ -223,8 +347,8 @@ public final class PceTestData {
 
     /**
      * Generate Data for Test 1 result 5-4.
-     * @param wl WaveLength
      *
+     * @param wl WaveLength
      * @return output PathComputationRequestOutput data
      */
     public static PathComputationRequestOutput getPCE_test_result_54(Long wl) {
@@ -239,29 +363,30 @@ public final class PceTestData {
 
     /**
      * Generate Data for Test 2 request 5-4.
-     *<code>{
-       "pce:input": {
-         "pce:service-name": "service 1",
-         "pce:resource-reserve": "true",
-         "pce:service-handler-header": {
-           "pce:request-id": "request 1"
-         },
-         "pce:service-a-end": {
-           "pce:service-rate": "0",
-           "pce:node-id": "XPONDER-1-2"
-         },
-         "pce:service-z-end": {
-           "pce:service-rate": "0",
-           "pce:node-id": "XPONDER-3-2"
-         },
-         "pce:hard-constraints": {
-           "pce:exclude_": {
-             "node-id": [ "OpenROADM-2-2" ]
-           }
-         },
-         "pce:pce-metric": "hop-count"
-       }
-     }</code>
+     * <code>{
+     * "pce:input": {
+     * "pce:service-name": "service 1",
+     * "pce:resource-reserve": "true",
+     * "pce:service-handler-header": {
+     * "pce:request-id": "request 1"
+     * },
+     * "pce:service-a-end": {
+     * "pce:service-rate": "0",
+     * "pce:node-id": "XPONDER-1-2"
+     * },
+     * "pce:service-z-end": {
+     * "pce:service-rate": "0",
+     * "pce:node-id": "XPONDER-3-2"
+     * },
+     * "pce:hard-constraints": {
+     * "pce:exclude_": {
+     * "node-id": [ "OpenROADM-2-2" ]
+     * }
+     * },
+     * "pce:pce-metric": "hop-count"
+     * }
+     * }</code>
+     *
      * @return input PathComputationRequestInput data
      */
     public static PathComputationRequestInput getPCE_test2_request_54() {
@@ -288,6 +413,16 @@ public final class PceTestData {
                                 .setExclude(new ExcludeBuilder()
                                         .setNodeId(Arrays.asList("OpenROADM-2-2"))
                                         .build())
+                                .setLatency(new LatencyBuilder()
+                                        .setMaxLatency(3223L).build())
+                                .setInclude(new IncludeBuilder()
+                                        .setOrderedHops(
+                                                Arrays.asList(new OrderedHopsBuilder()
+                                                        .setHopNumber(22)
+                                                        // .setHopType(new HopTypeBuilder()
+                                                        // .setHopType(new ClliBuilder().getClli())
+                                                        .build()))
+                                        .build())
                                 .build())
                         .build())
                 .build();
@@ -296,6 +431,7 @@ public final class PceTestData {
 
     /**
      * Generate Data for Test 2 result 5-4.
+     *
      * @return output PathComputationRequestOutput data
      */
     public static PathComputationRequestOutput getPCE_test2_result_54() {
@@ -310,29 +446,30 @@ public final class PceTestData {
 
     /**
      * Generate Data for Test 2 request 5-4.
-     *<code>{
-       "pce:input": {
-         "pce:service-name": "service 1",
-         "pce:resource-reserve": "true",
-         "pce:service-handler-header": {
-           "pce:request-id": "request 1"
-         },
-         "pce:service-a-end": {
-           "pce:service-rate": "0",
-           "pce:node-id": "XPONDER-1-2"
-         },
-         "pce:service-z-end": {
-           "pce:service-rate": "0",
-           "pce:node-id": "XPONDER-3-2"
-         },
-         "pce:hard-constraints": {
-           "pce:exclude_": {
-             "node-id": [ "OpenROADM-2-1", "OpenROADM-2-2" ]
-           }
-         },
-         "pce:pce-metric": "hop-count"
-       }
-     }</code>
+     * <code>{
+     * "pce:input": {
+     * "pce:service-name": "service 1",
+     * "pce:resource-reserve": "true",
+     * "pce:service-handler-header": {
+     * "pce:request-id": "request 1"
+     * },
+     * "pce:service-a-end": {
+     * "pce:service-rate": "0",
+     * "pce:node-id": "XPONDER-1-2"
+     * },
+     * "pce:service-z-end": {
+     * "pce:service-rate": "0",
+     * "pce:node-id": "XPONDER-3-2"
+     * },
+     * "pce:hard-constraints": {
+     * "pce:exclude_": {
+     * "node-id": [ "OpenROADM-2-1", "OpenROADM-2-2" ]
+     * }
+     * },
+     * "pce:pce-metric": "hop-count"
+     * }
+     * }</code>
+     *
      * @return input PathComputationRequestInput data
      */
     public static PathComputationRequestInput getPCE_test3_request_54() {
@@ -367,6 +504,7 @@ public final class PceTestData {
 
     /**
      * Generate Data for Test 3 result 5-4.
+     *
      * @return output PathComputationRequestOutput data
      */
     public static PathComputationRequestOutput getPCE_test3_result_54() {
@@ -379,6 +517,33 @@ public final class PceTestData {
         return outputBuilder.build();
     }
 
+    public static PathComputationRequestInput getPCE_simpletopology_test1_requestSetHardAndSoftConstrains() {
+        ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
+                .setRequestId("request 1")
+                .build();
+        ServiceAEnd serviceAEnd = new ServiceAEndBuilder()
+                .setServiceRate(0L)
+                .setNodeId("XPONDER-1-2")
+                .build();
+        ServiceZEnd serviceZEnd = new ServiceZEndBuilder()
+                .setServiceRate(0L)
+                .setNodeId("XPONDER-3-2")
+                .build();
+        HardConstraints hardConstrains = new HardConstraintsBuilder().build();
+        SoftConstraints softConstraints = new SoftConstraintsBuilder().build();
+        PathComputationRequestInput input = new PathComputationRequestInputBuilder()
+                .setServiceHandlerHeader(serviceHandlerHeader)
+                .setServiceName("service 1")
+                .setResourceReserve(true)
+                .setPceMetric(PceMetric.HopCount)
+                .setServiceAEnd(serviceAEnd)
+                .setServiceZEnd(serviceZEnd)
+                .setHardConstraints(hardConstrains)
+                .setSoftConstraints(softConstraints)
+                .build();
+        return input;
+    }
+
     public static PathComputationRequestInput getPCE_simpletopology_test1_request() {
         ServiceHandlerHeader serviceHandlerHeader = new ServiceHandlerHeaderBuilder()
                 .setRequestId("request 1")
@@ -422,7 +587,7 @@ public final class PceTestData {
     }
 
     private static PathDescription createPathDescription(long azRate, long azWaveLength, long zaRate,
-        long zaWaveLength) {
+                                                         long zaWaveLength) {
         AToZDirection atozDirection = new AToZDirectionBuilder()
                 .setRate(azRate)
                 .setAToZWavelengthNumber(azWaveLength)
@@ -442,34 +607,34 @@ public final class PceTestData {
 
     /**
      * Generate Data for Test Diversity test 1 request 5-4.
-     *<code>{
-       "pce:input": {
-         "pce:service-name": "service 1",
-         "pce:resource-reserve": "true",
-         "pce:service-handler-header": {
-           "pce:request-id": "request 1"
-         },
-         "pce:service-a-end": {
-           "pce:service-rate": "0",
-           "pce:node-id": "XPONDER-1-1"
-         },
-         "pce:service-z-end": {
-           "pce:service-rate": "0",
-           "pce:node-id": "XPONDER-3-1"
-         },
-         "pce:hard-constraints": {
-           "pce:diversity": {
-            "existing-service": ["Path test-1-54"],
-            "existing-service-applicability": {
-                "node": "true"
-            }
-           }
-         },
-         "pce:pce-metric": "hop-count"
-       }
-     }</code>
-     * @param base Path Computation Request Input base
+     * <code>{
+     * "pce:input": {
+     * "pce:service-name": "service 1",
+     * "pce:resource-reserve": "true",
+     * "pce:service-handler-header": {
+     * "pce:request-id": "request 1"
+     * },
+     * "pce:service-a-end": {
+     * "pce:service-rate": "0",
+     * "pce:node-id": "XPONDER-1-1"
+     * },
+     * "pce:service-z-end": {
+     * "pce:service-rate": "0",
+     * "pce:node-id": "XPONDER-3-1"
+     * },
+     * "pce:hard-constraints": {
+     * "pce:diversity": {
+     * "existing-service": ["Path test-1-54"],
+     * "existing-service-applicability": {
+     * "node": "true"
+     * }
+     * }
+     * },
+     * "pce:pce-metric": "hop-count"
+     * }
+     * }</code>
      *
+     * @param base Path Computation Request Input base
      * @return input PathComputationRequestInput data
      */
     public static PathComputationRequestInput build_diversity_from_request(PathComputationRequestInput base) {
@@ -505,47 +670,47 @@ public final class PceTestData {
     public static ServiceCreateInput buildServiceCreateInput() {
 
         org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceAEnd serviceAEnd =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.service
-                .rev190531.service.create.input.ServiceAEndBuilder()
-                .setClli("clli")
-                .setServiceRate((long)0)
-                .setNodeId(new NodeIdType("XPONDER-1-2"))
-                .setTxDirection(new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types
-                    .rev190531.service.endpoint.TxDirectionBuilder()
-                    .setPort(new PortBuilder().build())
-                    .build())
-                .setRxDirection(new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types
-                    .rev190531.service.endpoint.RxDirectionBuilder()
-                    .setPort(new PortBuilder().build())
-                    .build())
-                .build();
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531
+                        .service.create.input.ServiceAEndBuilder()
+                        .setClli("clli")
+                        .setServiceRate((long) 0)
+                        .setNodeId(new NodeIdType("XPONDER-1-2"))
+                        .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
+                                .openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder()
+                                .setPort(new PortBuilder().build())
+                                .build())
+                        .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
+                                .openroadm.common.service.types.rev190531.service.endpoint.RxDirectionBuilder()
+                                .setPort(new PortBuilder().build())
+                                .build())
+                        .build();
 
         org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceZEnd serviceZEnd =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.service
-            .rev190531.service.create.input.ServiceZEndBuilder()
-                .setClli("clli")
-                .setServiceRate((long)0)
-                .setNodeId(new NodeIdType("XPONDER-3-2"))
-                .setTxDirection(new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types
-                    .rev190531.service.endpoint.TxDirectionBuilder()
-                    .setPort(new PortBuilder().build())
-                    .build())
-                .setRxDirection(new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types
-                    .rev190531.service.endpoint.RxDirectionBuilder()
-                    .setPort(new PortBuilder().build())
-                    .build())
-                .build();
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531
+                        .service.create.input.ServiceZEndBuilder()
+                        .setClli("clli")
+                        .setServiceRate((long) 0)
+                        .setNodeId(new NodeIdType("XPONDER-3-2"))
+                        .setTxDirection(new org.opendaylight.yang.gen.v1.http.org
+                                .openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder()
+                                .setPort(new PortBuilder().build())
+                                .build())
+                        .setRxDirection(new org.opendaylight.yang.gen.v1.http.org
+                                .openroadm.common.service.types.rev190531.service.endpoint.RxDirectionBuilder()
+                                .setPort(new PortBuilder().build())
+                                .build())
+                        .build();
 
         ServiceCreateInputBuilder builtInput = new ServiceCreateInputBuilder()
-            .setCommonId("commonId")
-            .setConnectionType(ConnectionType.Service)
-            .setCustomer("Customer")
-            .setServiceName("service 1")
-            .setServiceAEnd(serviceAEnd)
-            .setServiceZEnd(serviceZEnd)
-            .setSdncRequestHeader(new SdncRequestHeaderBuilder()
-                .setRequestId("request 1")
-                .build());
+                .setCommonId("commonId")
+                .setConnectionType(ConnectionType.Service)
+                .setCustomer("Customer")
+                .setServiceName("service 1")
+                .setServiceAEnd(serviceAEnd)
+                .setServiceZEnd(serviceZEnd)
+                .setSdncRequestHeader(new SdncRequestHeaderBuilder()
+                        .setRequestId("request 1")
+                        .build());
 
         return builtInput.build();
     }