X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=inline;f=servicehandler%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fservicehandler%2FModelMappingUtilsTest.java;h=ef1fe31cf48bf504f38cc4a91ae89cd974971001;hb=1738b9acf35017603fdc53e4e3b65578c0a4b8e9;hp=f997a227d23831e897e7cf5ba19b32802d33d1c0;hpb=63f9cf83704bb9fa87f2215b2173b0f7a7c9bb48;p=transportpce.git diff --git a/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtilsTest.java b/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtilsTest.java index f997a227d..ef1fe31cf 100644 --- a/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtilsTest.java +++ b/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtilsTest.java @@ -13,7 +13,8 @@ import com.google.common.util.concurrent.MoreExecutors; import java.time.OffsetDateTime; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; -import java.util.Arrays; +import java.util.Map; +import java.util.Set; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executors; @@ -24,44 +25,46 @@ import org.junit.Test; import org.opendaylight.transportpce.common.ResponseCodes; import org.opendaylight.transportpce.servicehandler.utils.ServiceDataUtils; import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestOutput; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestOutputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.ConnectionType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommon; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.configuration.response.common.ConfigurationResponseCommonBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.sdnc.request.header.SdncRequestHeaderBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev190531.RpcStatus; -import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.constraints.co.routing.or.general.CoRoutingBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.routing.constraints.HardConstraintsBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constrains.rev190329.routing.constraints.SoftConstraintsBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteInputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceFeasibilityCheckInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceFeasibilityCheckInputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceFeasibilityCheckOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceReconfigureInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceReconfigureInputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRerouteInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRerouteInputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRestorationInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRestorationInputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceRestorationOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceCreateInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceCreateInputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceCreateOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.AToZDirectionBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.ZToADirectionBuilder; -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; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.response.parameters.sp.response.parameters.PathDescriptionBuilder; +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.openroadm.common.service.types.rev211210.ConnectionType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.configuration.response.common.ConfigurationResponseCommon; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.configuration.response.common.ConfigurationResponseCommonBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.sdnc.request.header.SdncRequestHeaderBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.CoRoutingBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.co.routing.ServiceIdentifierListBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.HardConstraintsBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.SoftConstraintsBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateInputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceDeleteInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceDeleteInputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceDeleteOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceFeasibilityCheckInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceFeasibilityCheckInputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceFeasibilityCheckOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceReconfigureInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceReconfigureInputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRerouteInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRerouteInputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRestorationInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRestorationInputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceRestorationOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceCreateInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceCreateInputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.TempServiceCreateOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.list.Services; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.list.ServicesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.list.ServicesKey; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.AToZDirectionBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.ZToADirectionBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.ResponseParameters; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.ResponseParametersBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.response.parameters.PathDescriptionBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePaths; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsKey; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.Uint32; @@ -71,13 +74,11 @@ public class ModelMappingUtilsTest extends AbstractTest { private ListeningExecutorService executorService; private CountDownLatch endSignal; private static final int NUM_THREADS = 5; - private boolean callbackRan; @Before public void setUp() { executorService = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(NUM_THREADS)); endSignal = new CountDownLatch(1); - callbackRan = false; } @After @@ -98,24 +99,26 @@ public class ModelMappingUtilsTest extends AbstractTest { .setServiceAEnd(ServiceDataUtils.getServiceAEndBuildReconfigure().build()) .setServiceZEnd(ServiceDataUtils.getServiceZEndBuildReconfigure().build()) .setHardConstraints(new HardConstraintsBuilder() - .setCoRoutingOrGeneral(new CoRoutingBuilder() - .setCoRouting(new org.opendaylight.yang.gen.v1.http.org.openroadm.routing - .constrains.rev190329.constraints.co.routing.or.general.co.routing - .CoRoutingBuilder().setExistingService( - Arrays.asList("Some existing-service")).build()) - .build()) - .setCustomerCode(Arrays.asList("Some customer-code")) - .build()) - .setSoftConstraints(new SoftConstraintsBuilder() - .setCoRoutingOrGeneral(new CoRoutingBuilder() - .setCoRouting(new org.opendaylight.yang.gen.v1.http.org.openroadm.routing - .constrains.rev190329.constraints.co.routing.or.general.co.routing - .CoRoutingBuilder().setExistingService( - Arrays.asList("Some existing-service")).build()) - .build()) - .setCustomerCode(Arrays.asList("Some customer-code")) - .build()) - .build(); + .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("Some existing-service"), + new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service") + .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("Some existing-service"), + new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service") + .build())) + .build()) + .build()) + .build(); } private PathComputationRequestOutput buildPathComputationOutput() { @@ -134,9 +137,10 @@ public class ModelMappingUtilsTest extends AbstractTest { } @Test + //TODO : is this unit test relevant ? public void mappingServicesNullServiceCreateInput() { Services services = ModelMappingUtils.mappingServices(null, null); - Assert.assertEquals(new ServicesBuilder().build(), services); + Assert.assertEquals(new ServicesBuilder().withKey(new ServicesKey("unknown")).build(), services); } @Test @@ -153,9 +157,10 @@ public class ModelMappingUtilsTest extends AbstractTest { } @Test + //TODO : is this unit test relevant ? public void mappingServicesPathNullServiceCreateInput() { ServicePaths services = ModelMappingUtils.mappingServicePaths(null, buildPathComputationOutput()); - Assert.assertEquals(new ServicePathsBuilder().build(), services); + Assert.assertEquals(new ServicePathsBuilder().withKey(new ServicePathsKey("unknown")).build(), services); } @Test @@ -180,8 +185,9 @@ public class ModelMappingUtilsTest extends AbstractTest { public void createServiceDeleteInputWithServiceRerouteInput() { ServiceRerouteInput serviceRerouteinput = new ServiceRerouteInputBuilder().setServiceName("reroute").build(); Services services = new ServicesBuilder() - .setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("123").build()).build(); - org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520.ServiceDeleteInput + .withKey(new ServicesKey("reroute")) + .setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("123").build()).build(); + org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput serviceDeleteInput = ModelMappingUtils.createServiceDeleteInput(serviceRerouteinput, services); Assert.assertEquals("reroute", serviceDeleteInput.getServiceName()); @@ -192,7 +198,7 @@ public class ModelMappingUtilsTest extends AbstractTest { public void createServiceDeleteInputWithServiceReconfigureInput() { ServiceReconfigureInput serviceReconfigureInput = new ServiceReconfigureInputBuilder() .setServiceName("reconf").build(); - org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520.ServiceDeleteInput + org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput serviceDeleteInput = ModelMappingUtils.createServiceDeleteInput(serviceReconfigureInput); Assert.assertEquals("reconf", serviceDeleteInput.getServiceName()); @@ -202,10 +208,11 @@ public class ModelMappingUtilsTest extends AbstractTest { @Test public void createServiceDeleteInputWithServiceRestorationInput() { Services services = new ServicesBuilder() - .setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("123").build()).build(); + .withKey(new ServicesKey("rest")) + .setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("123").build()).build(); ServiceRestorationInput serviceRestorationInput = new ServiceRestorationInputBuilder().setServiceName("rest").build(); - org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520.ServiceDeleteInput + org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceDeleteInput serviceDeleteInput = ModelMappingUtils.createServiceDeleteInput(serviceRestorationInput, services); Assert.assertEquals("rest", serviceDeleteInput.getServiceName()); @@ -222,7 +229,6 @@ public class ModelMappingUtilsTest extends AbstractTest { serviceDeleteOutputF.addListener(new Runnable() { @Override public void run() { - callbackRan = true; endSignal.countDown(); } }, executorService); @@ -246,7 +252,6 @@ public class ModelMappingUtilsTest extends AbstractTest { serviceDeleteOutputF.addListener(new Runnable() { @Override public void run() { - callbackRan = true; endSignal.countDown(); } }, executorService); @@ -272,7 +277,6 @@ public class ModelMappingUtilsTest extends AbstractTest { serviceCreatOutputF.addListener(new Runnable() { @Override public void run() { - callbackRan = true; endSignal.countDown(); } }, executorService); @@ -296,7 +300,6 @@ public class ModelMappingUtilsTest extends AbstractTest { serviceCreatOutputF.addListener(new Runnable() { @Override public void run() { - callbackRan = true; endSignal.countDown(); } }, executorService); @@ -322,7 +325,6 @@ public class ModelMappingUtilsTest extends AbstractTest { serviceCreatOutputF.addListener(new Runnable() { @Override public void run() { - callbackRan = true; endSignal.countDown(); } }, executorService); @@ -346,7 +348,6 @@ public class ModelMappingUtilsTest extends AbstractTest { serviceCreatOutputF.addListener(new Runnable() { @Override public void run() { - callbackRan = true; endSignal.countDown(); } }, executorService); @@ -372,7 +373,6 @@ public class ModelMappingUtilsTest extends AbstractTest { serviceCreatOutputF.addListener(new Runnable() { @Override public void run() { - callbackRan = true; endSignal.countDown(); } }, executorService); @@ -396,7 +396,6 @@ public class ModelMappingUtilsTest extends AbstractTest { serviceCreatOutputF.addListener(new Runnable() { @Override public void run() { - callbackRan = true; endSignal.countDown(); } }, executorService); @@ -414,17 +413,14 @@ public class ModelMappingUtilsTest extends AbstractTest { @Test public void testCreateRestoreServiceReply() throws ExecutionException, InterruptedException { ListenableFuture> serviceRestorationOutputF = - ModelMappingUtils.createRestoreServiceReply("message", RpcStatus.Failed); + ModelMappingUtils.createRestoreServiceReply("message"); serviceRestorationOutputF.addListener(new Runnable() { @Override public void run() { - callbackRan = true; endSignal.countDown(); } }, executorService); endSignal.await(); - RpcResult serviceRestorationOutput = serviceRestorationOutputF.get(); - Assert.assertEquals("message", serviceRestorationOutput.getResult().getStatusMessage()); } }