X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=pcep%2Ftopology%2Ftopology-provider%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fbgpcep%2Fpcep%2Ftopology%2Fprovider%2FPCEPTriggeredReSynchronizationProcedureTest.java;h=2c1c4e89de83a9c1dc8bc648622b091a3099c7e7;hb=f603371ea70d6c82d2c2ada06d6e741c27f7e5ba;hp=43c19847e7c86213815c461450161082f5ed5582;hpb=3860d202e14ae693d515cf40f4795fd086a5d75d;p=bgpcep.git diff --git a/pcep/topology/topology-provider/src/test/java/org/opendaylight/bgpcep/pcep/topology/provider/PCEPTriggeredReSynchronizationProcedureTest.java b/pcep/topology/topology-provider/src/test/java/org/opendaylight/bgpcep/pcep/topology/provider/PCEPTriggeredReSynchronizationProcedureTest.java index 43c19847e7..2c1c4e89de 100644 --- a/pcep/topology/topology-provider/src/test/java/org/opendaylight/bgpcep/pcep/topology/provider/PCEPTriggeredReSynchronizationProcedureTest.java +++ b/pcep/topology/topology-provider/src/test/java/org/opendaylight/bgpcep/pcep/topology/provider/PCEPTriggeredReSynchronizationProcedureTest.java @@ -22,36 +22,32 @@ import org.junit.Before; import org.junit.Test; import org.opendaylight.protocol.pcep.PCEPSession; import org.opendaylight.protocol.pcep.pcc.mock.spi.MsgBuilderUtil; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.sync.optimizations.rev181109.Tlvs3; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.sync.optimizations.rev181109.Tlvs3Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.sync.optimizations.rev181109.lsp.db.version.tlv.LspDbVersion; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.sync.optimizations.rev181109.lsp.db.version.tlv.LspDbVersionBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated.rev181109.Stateful1; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.crabbe.initiated.rev181109.Stateful1Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.OperationalStatus; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.Pcrpt; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.PlspId; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.SrpIdNumber; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.SymbolicPathName; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.Tlvs1; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.Tlvs1Builder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.lsp.identifiers.tlv.LspIdentifiersBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.lsp.object.LspBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.srp.object.SrpBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.stateful.capability.tlv.StatefulBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.symbolic.path.name.tlv.SymbolicPathNameBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.sync.optimizations.rev200720.Tlvs3Builder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.sync.optimizations.rev200720.lsp.db.version.tlv.LspDbVersion; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.sync.optimizations.rev200720.lsp.db.version.tlv.LspDbVersionBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.initiated.rev200720.Stateful1Builder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.OperationalStatus; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.Pcrpt; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.PlspId; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.SrpIdNumber; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.SymbolicPathName; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.Tlvs1Builder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.lsp.identifiers.tlv.LspIdentifiersBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.lsp.object.LspBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.srp.object.SrpBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.stateful.capability.tlv.StatefulBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.symbolic.path.name.tlv.SymbolicPathNameBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.open.object.Open; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.open.object.OpenBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.open.object.open.TlvsBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.LspId; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev200120.PccSyncState; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev200120.TriggerSyncInputBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.PccSyncState; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.TriggerSyncInputBuilder; import org.opendaylight.yangtools.yang.common.Uint32; import org.opendaylight.yangtools.yang.common.Uint64; -public class PCEPTriggeredReSynchronizationProcedureTest - extends AbstractPCEPSessionTest { - private Stateful07TopologySessionListener listener; +public class PCEPTriggeredReSynchronizationProcedureTest extends AbstractPCEPSessionTest { + private PCEPTopologySessionListener listener; private PCEPSession session; private final LspDbVersion lspDbVersion = new LspDbVersionBuilder().setLspDbVersionValue(Uint64.ONE).build(); @@ -60,43 +56,43 @@ public class PCEPTriggeredReSynchronizationProcedureTest @Before public void setUp() throws Exception { super.setUp(); - this.listener = (Stateful07TopologySessionListener) getSessionListener(); + listener = getSessionListener(); } @Test public void testTriggeredResynchronization() throws Exception { //session up - sync skipped (LSP-DBs match) - this.session = getPCEPSession(getOpen(), getOpen()); - this.listener.onSessionUp(this.session); + session = getPCEPSession(getOpen(), getOpen()); + listener.onSessionUp(session); //report LSP + LSP-DB version number final Pcrpt pcRpt = getPcrt(); - this.listener.onMessage(this.session, pcRpt); + listener.onMessage(session, pcRpt); - readDataOperational(getDataBroker(), this.pathComputationClientIId, pcc -> { + readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> { assertEquals(PccSyncState.Synchronized, pcc.getStateSync()); assertFalse(pcc.nonnullReportedLsp().isEmpty()); return pcc; }); //PCEP Trigger Full Resync - this.listener.triggerSync(new TriggerSyncInputBuilder().setNode(this.nodeId).build()); - readDataOperational(getDataBroker(), this.pathComputationClientIId, pcc -> { + listener.triggerSync(new TriggerSyncInputBuilder().setNode(nodeId).build()); + readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> { assertEquals(PccSyncState.PcepTriggeredResync, pcc.getStateSync()); return pcc; }); //end of sync final Pcrpt syncMsg = getSyncMsg(); - this.listener.onMessage(this.session, syncMsg); - readDataOperational(getDataBroker(), this.pathComputationClientIId, pcc -> { + listener.onMessage(session, syncMsg); + readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> { //check node - synchronized assertEquals(PccSyncState.Synchronized, pcc.getStateSync()); return pcc; }); - this.listener.onMessage(this.session, pcRpt); - readDataOperational(getDataBroker(), this.pathComputationClientIId, pcc -> { + listener.onMessage(session, pcRpt); + readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> { final Map lsp = pcc.getReportedLsp(); assertNotNull(lsp); assertEquals(1, lsp.size()); @@ -104,11 +100,11 @@ public class PCEPTriggeredReSynchronizationProcedureTest }); //Trigger Full Resync - this.listener.triggerSync(new TriggerSyncInputBuilder().setNode(this.nodeId).build()); - this.listener.onMessage(this.session, pcRpt); + listener.triggerSync(new TriggerSyncInputBuilder().setNode(nodeId).build()); + listener.onMessage(session, pcRpt); //end of sync - this.listener.onMessage(this.session, syncMsg); - readDataOperational(getDataBroker(), this.pathComputationClientIId, pcc -> { + listener.onMessage(session, syncMsg); + readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> { //check node - synchronized assertEquals(PccSyncState.Synchronized, pcc.getStateSync()); //check reported LSP is not empty, Stale LSP state were purged @@ -121,36 +117,36 @@ public class PCEPTriggeredReSynchronizationProcedureTest public void testTriggeredResynchronizationLsp() throws Exception { //session up - sync skipped (LSP-DBs match) - this.session = getPCEPSession(getOpen(), getOpen()); - this.listener.onSessionUp(this.session); + session = getPCEPSession(getOpen(), getOpen()); + listener.onSessionUp(session); //report LSP + LSP-DB version number final Pcrpt pcRpt = getPcrt(); - this.listener.onMessage(this.session, pcRpt); - readDataOperational(getDataBroker(), this.pathComputationClientIId, pcc -> { + listener.onMessage(session, pcRpt); + readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> { assertEquals(PccSyncState.Synchronized, pcc.getStateSync()); assertFalse(pcc.nonnullReportedLsp().isEmpty()); return pcc; }); //Trigger Full Resync - this.listener.triggerSync(new TriggerSyncInputBuilder().setNode(this.nodeId).setName("test").build()); - readDataOperational(getDataBroker(), this.pathComputationClientIId, pcc -> { + listener.triggerSync(new TriggerSyncInputBuilder().setNode(nodeId).setName("test").build()); + readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> { assertEquals(PccSyncState.PcepTriggeredResync, pcc.getStateSync()); assertFalse(pcc.nonnullReportedLsp().isEmpty()); return pcc; }); - this.listener.onMessage(this.session, pcRpt); - readDataOperational(getDataBroker(), this.pathComputationClientIId, pcc -> { + listener.onMessage(session, pcRpt); + readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> { assertFalse(pcc.nonnullReportedLsp().isEmpty()); return pcc; }); //sync rpt + LSP-DB final Pcrpt syncMsg = getSyncMsg(); - this.listener.onMessage(this.session, syncMsg); - readDataOperational(getDataBroker(), this.pathComputationClientIId, pcc -> { + listener.onMessage(session, syncMsg); + readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> { //check node - synchronized assertEquals(PccSyncState.Synchronized, pcc.getStateSync()); //check reported LSP @@ -159,9 +155,9 @@ public class PCEPTriggeredReSynchronizationProcedureTest }); //Trigger Full Resync - this.listener.triggerSync(new TriggerSyncInputBuilder().setNode(this.nodeId).setName("test").build()); - this.listener.onMessage(this.session, syncMsg); - readDataOperational(getDataBroker(), this.pathComputationClientIId, pcc -> { + listener.triggerSync(new TriggerSyncInputBuilder().setNode(nodeId).setName("test").build()); + listener.onMessage(session, syncMsg); + readDataOperational(getDataBroker(), pathComputationClientIId, pcc -> { //check node - synchronized assertEquals(PccSyncState.Synchronized, pcc.getStateSync()); //check reported LSP @@ -171,14 +167,15 @@ public class PCEPTriggeredReSynchronizationProcedureTest } private Open getOpen() { - return new OpenBuilder(super.getLocalPref()).setTlvs(new TlvsBuilder().addAugmentation(Tlvs1.class, - new Tlvs1Builder().setStateful(new StatefulBuilder().addAugmentation(Stateful1.class, new Stateful1Builder() - .setInitiation(Boolean.TRUE).build()).addAugmentation(org.opendaylight.yang.gen.v1.urn.opendaylight - .params.xml.ns.yang.controller.pcep.sync.optimizations.rev181109.Stateful1.class, - new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.sync.optimizations - .rev181109.Stateful1Builder().setIncludeDbVersion(Boolean.TRUE).setTriggeredResync(Boolean.TRUE) - .build()).build()).build()).addAugmentation(Tlvs3.class, new Tlvs3Builder() - .setLspDbVersion(this.lspDbVersion).build()).build()).build(); + return new OpenBuilder(super.getLocalPref()).setTlvs(new TlvsBuilder().addAugmentation(new Tlvs1Builder() + .setStateful(new StatefulBuilder() + .addAugmentation(new Stateful1Builder().setInitiation(Boolean.TRUE).build()) + .addAugmentation(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep + .sync.optimizations.rev200720.Stateful1Builder() + .setIncludeDbVersion(Boolean.TRUE).setTriggeredResync(Boolean.TRUE) + .build()) + .build()) + .build()).addAugmentation(new Tlvs3Builder().setLspDbVersion(lspDbVersion).build()).build()).build(); } private static Pcrpt getSyncMsg() { @@ -186,26 +183,22 @@ public class PCEPTriggeredReSynchronizationProcedureTest // not sue whether use 0 instead of nextRequest() or do not insert srp == SRP-ID-number = 0 srpBuilder.setOperationId(new SrpIdNumber(Uint32.ONE)); return MsgBuilderUtil.createPcRtpMessage(createLsp(Uint32.ZERO, false, Optional.of( - new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.lsp - .object.lsp.TlvsBuilder().addAugmentation(org.opendaylight.yang.gen.v1.urn.opendaylight.params - .xml.ns.yang.controller.pcep.sync.optimizations.rev181109.Tlvs1.class, - new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.sync - .optimizations.rev181109.Tlvs1Builder() - .setLspDbVersion(new LspDbVersionBuilder().setLspDbVersionValue(Uint64.valueOf(3L)) + new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.lsp + .object.lsp.TlvsBuilder().addAugmentation(new org.opendaylight.yang.gen.v1.urn.opendaylight + .params.xml.ns.yang.controller.pcep.sync.optimizations.rev200720.Tlvs1Builder() + .setLspDbVersion(new LspDbVersionBuilder().setLspDbVersionValue(Uint64.valueOf(3L)) .build()).build()).build()), true, false), - Optional.of(srpBuilder.build()), createPath(Collections.emptyList())); + Optional.of(srpBuilder.build()), createPath(Collections.emptyList())); } private static Pcrpt getPcrt() { return MsgBuilderUtil.createPcRtpMessage(new LspBuilder().setPlspId(new PlspId(Uint32.ONE)).setTlvs( - new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev181109.lsp + new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.lsp .object.lsp.TlvsBuilder().setLspIdentifiers(new LspIdentifiersBuilder() .setLspId(new LspId(Uint32.ONE)).build()).setSymbolicPathName( - new SymbolicPathNameBuilder().setPathName(new SymbolicPathName("test".getBytes())).build()) - .addAugmentation(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep - .sync.optimizations.rev181109.Tlvs1.class, - new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.sync - .optimizations.rev181109.Tlvs1Builder().setLspDbVersion(new LspDbVersionBuilder() + new SymbolicPathNameBuilder().setPathName(new SymbolicPathName("test".getBytes())).build()) + .addAugmentation(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller + .pcep.sync.optimizations.rev200720.Tlvs1Builder().setLspDbVersion(new LspDbVersionBuilder() .setLspDbVersionValue(Uint64.ONE).build()).build()).build()) .setPlspId(new PlspId(Uint32.ONE)).setSync(true).setRemove(false) .setOperational(OperationalStatus.Active).build(), Optional.empty(),