From: Dana Kutenicsova Date: Thu, 23 Jan 2014 15:45:19 +0000 (+0100) Subject: Added meta-inf to stateful02. X-Git-Tag: jenkins-bgpcep-bulk-release-prepare-only-4~3 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=9c60935cfe786bc4deed6a78322bbf2e4dbfc8f8;p=bgpcep.git Added meta-inf to stateful02. Change-Id: I32894efdc61650619555c9dcec67dc9b9c18dded Signed-off-by: Dana Kutenicsova --- diff --git a/pcep/ietf-stateful02/src/main/resources/META-INF/services/org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderActivator b/pcep/ietf-stateful02/src/main/resources/META-INF/services/org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderActivator new file mode 100644 index 0000000000..431e633f50 --- /dev/null +++ b/pcep/ietf-stateful02/src/main/resources/META-INF/services/org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderActivator @@ -0,0 +1,2 @@ +org.opendaylight.protocol.pcep.ietf.stateful02.StatefulActivator +org.opendaylight.protocol.pcep.crabbe.initiated00.InitiatedActivator diff --git a/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPEROSubobjectParserTest.java b/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPEROSubobjectParserTest.java index fa9fb16cf5..b73468ba35 100644 --- a/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPEROSubobjectParserTest.java +++ b/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPEROSubobjectParserTest.java @@ -12,6 +12,7 @@ import static org.junit.Assert.assertEquals; import java.util.List; +import org.junit.Before; import org.junit.Test; import org.opendaylight.protocol.concepts.Ipv6Util; import org.opendaylight.protocol.pcep.impl.subobject.EROAsNumberSubobjectParser; @@ -23,7 +24,7 @@ import org.opendaylight.protocol.pcep.impl.subobject.EROPathKey128SubobjectParse import org.opendaylight.protocol.pcep.impl.subobject.EROPathKey32SubobjectParser; import org.opendaylight.protocol.pcep.impl.subobject.EROUnnumberedInterfaceSubobjectParser; import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException; -import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext; +import org.opendaylight.protocol.pcep.spi.pojo.SimplePCEPExtensionProviderContext; import org.opendaylight.protocol.util.ByteArray; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix; @@ -66,6 +67,16 @@ public class PCEPEROSubobjectParserTest { (byte) 0xFF }; private static final byte[] exrsBytes = { (byte) 0xa1, (byte) 0x06, (byte) 0xa0, (byte) 0x04, (byte) 0x00, (byte) 0x64 }; + private SimplePCEPExtensionProviderContext ctx; + private Activator act; + + @Before + public void setUp() { + this.ctx = new SimplePCEPExtensionProviderContext(); + this.act = new Activator(); + this.act.start(this.ctx); + } + @Test public void testEROIp4PrefixSubobject() throws PCEPDeserializerException { final EROIpv4PrefixSubobjectParser parser = new EROIpv4PrefixSubobjectParser(); @@ -141,7 +152,8 @@ public class PCEPEROSubobjectParserTest { @Test public void testEROLabelSubobject() throws Exception { - final EROLabelSubobjectParser parser = new EROLabelSubobjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getLabelHandlerRegistry()); + final EROLabelSubobjectParser parser = new EROLabelSubobjectParser(this.ctx.getLabelHandlerRegistry()); + final SubobjectBuilder subs = new SubobjectBuilder(); subs.setLoose(true); subs.setSubobjectType(new LabelCaseBuilder().setLabel( @@ -155,7 +167,7 @@ public class PCEPEROSubobjectParserTest { @Test public void testEROEXRSSubobject() throws Exception { - final EROExplicitExclusionRouteSubobjectParser parser = new EROExplicitExclusionRouteSubobjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getXROSubobjectHandlerRegistry()); + final EROExplicitExclusionRouteSubobjectParser parser = new EROExplicitExclusionRouteSubobjectParser(this.ctx.getXROSubobjectHandlerRegistry()); final SubobjectBuilder subs = new SubobjectBuilder(); subs.setLoose(true); final List list = Lists.newArrayList(); diff --git a/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPObjectParserTest.java b/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPObjectParserTest.java index d648c5ce78..bdc595a891 100644 --- a/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPObjectParserTest.java +++ b/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPObjectParserTest.java @@ -42,7 +42,7 @@ import org.opendaylight.protocol.pcep.impl.object.PCEPSvecObjectParser; import org.opendaylight.protocol.pcep.spi.ObjectHeaderImpl; import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException; import org.opendaylight.protocol.pcep.spi.TlvHandlerRegistry; -import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext; +import org.opendaylight.protocol.pcep.spi.pojo.SimplePCEPExtensionProviderContext; import org.opendaylight.protocol.util.ByteArray; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix; @@ -104,9 +104,15 @@ public class PCEPObjectParserTest { private TlvHandlerRegistry tlvRegistry; + private SimplePCEPExtensionProviderContext ctx; + private Activator act; + @Before - public void setUp() throws Exception { - this.tlvRegistry = ServiceLoaderPCEPExtensionProviderContext.create().getTlvHandlerRegistry(); + public void setUp() { + this.ctx = new SimplePCEPExtensionProviderContext(); + this.act = new Activator(); + this.act.start(this.ctx); + this.tlvRegistry = this.ctx.getTlvHandlerRegistry(); } @Test @@ -159,7 +165,7 @@ public class PCEPObjectParserTest { @Test public void testERObject() throws Exception { - final PCEPExplicitRouteObjectParser parser = new PCEPExplicitRouteObjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getEROSubobjectHandlerRegistry()); + final PCEPExplicitRouteObjectParser parser = new PCEPExplicitRouteObjectParser(this.ctx.getEROSubobjectHandlerRegistry()); final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPExplicitRouteObject1PackOfSubobjects.bin"); final EroBuilder builder = new EroBuilder(); @@ -185,7 +191,7 @@ public class PCEPObjectParserTest { @Test public void testIRObject() throws Exception { - final PCEPIncludeRouteObjectParser parser = new PCEPIncludeRouteObjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getEROSubobjectHandlerRegistry()); + final PCEPIncludeRouteObjectParser parser = new PCEPIncludeRouteObjectParser(this.ctx.getEROSubobjectHandlerRegistry()); final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPIncludeRouteObject1PackOfSubobjects.bin"); final byte[] ip6PrefixBytes = { (byte) 0x12, (byte) 0x34, (byte) 0x54, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00 }; @@ -213,7 +219,7 @@ public class PCEPObjectParserTest { @Test public void testRRObject() throws Exception { - final PCEPReportedRouteObjectParser parser = new PCEPReportedRouteObjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getRROSubobjectHandlerRegistry()); + final PCEPReportedRouteObjectParser parser = new PCEPReportedRouteObjectParser(this.ctx.getRROSubobjectHandlerRegistry()); final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPReportedRouteObject1PackOfSubobjects.bin"); final byte[] ip6PrefixBytes = { (byte) 0x12, (byte) 0x34, (byte) 0x54, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00 }; @@ -543,7 +549,7 @@ public class PCEPObjectParserTest { @Test public void testExcludeRouteObject() throws Exception { - final PCEPExcludeRouteObjectParser parser = new PCEPExcludeRouteObjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getXROSubobjectHandlerRegistry()); + final PCEPExcludeRouteObjectParser parser = new PCEPExcludeRouteObjectParser(this.ctx.getXROSubobjectHandlerRegistry()); final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPExcludeRouteObject.1.bin"); final XroBuilder builder = new XroBuilder(); @@ -565,7 +571,7 @@ public class PCEPObjectParserTest { @Test public void testPathKeyObject() throws Exception { - final PCEPPathKeyObjectParser parser = new PCEPPathKeyObjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getEROSubobjectHandlerRegistry()); + final PCEPPathKeyObjectParser parser = new PCEPPathKeyObjectParser(this.ctx.getEROSubobjectHandlerRegistry()); final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPPathKeyObject.bin"); final PathKeyBuilder builder = new PathKeyBuilder(); diff --git a/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPRROSubobjectParserTest.java b/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPRROSubobjectParserTest.java index 1ed5cd83d3..d99eaedb5d 100644 --- a/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPRROSubobjectParserTest.java +++ b/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPRROSubobjectParserTest.java @@ -19,7 +19,7 @@ import org.opendaylight.protocol.pcep.impl.subobject.RROPathKey128SubobjectParse import org.opendaylight.protocol.pcep.impl.subobject.RROPathKey32SubobjectParser; import org.opendaylight.protocol.pcep.impl.subobject.RROUnnumberedInterfaceSubobjectParser; import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException; -import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext; +import org.opendaylight.protocol.pcep.spi.pojo.SimplePCEPExtensionProviderContext; import org.opendaylight.protocol.util.ByteArray; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpPrefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix; @@ -120,14 +120,18 @@ public class PCEPRROSubobjectParserTest { @Test public void testRROLabelSubobject() throws Exception { - final RROLabelSubobjectParser parser = new RROLabelSubobjectParser(ServiceLoaderPCEPExtensionProviderContext.create().getLabelHandlerRegistry()); - final SubobjectBuilder subs = new SubobjectBuilder(); - subs.setSubobjectType(new LabelCaseBuilder().setLabel( - new LabelBuilder().setUniDirectional(true).setGlobal(true).setLabelType( - new GeneralizedLabelCaseBuilder().setGeneralizedLabel( - new GeneralizedLabelBuilder().setGeneralizedLabel( - new byte[] { (byte) 0x12, (byte) 0x00, (byte) 0x25, (byte) 0xFF }).build()).build()).build()).build()); - assertEquals(subs.build(), parser.parseSubobject(ByteArray.cutBytes(labelBytes, 2))); - assertArrayEquals(labelBytes, parser.serializeSubobject(subs.build())); + final SimplePCEPExtensionProviderContext ctx = new SimplePCEPExtensionProviderContext(); + try (Activator a = new Activator()) { + a.start(ctx); + final RROLabelSubobjectParser parser = new RROLabelSubobjectParser(ctx.getLabelHandlerRegistry()); + final SubobjectBuilder subs = new SubobjectBuilder(); + subs.setSubobjectType(new LabelCaseBuilder().setLabel( + new LabelBuilder().setUniDirectional(true).setGlobal(true).setLabelType( + new GeneralizedLabelCaseBuilder().setGeneralizedLabel( + new GeneralizedLabelBuilder().setGeneralizedLabel( + new byte[] { (byte) 0x12, (byte) 0x00, (byte) 0x25, (byte) 0xFF }).build()).build()).build()).build()); + assertEquals(subs.build(), parser.parseSubobject(ByteArray.cutBytes(labelBytes, 2))); + assertArrayEquals(labelBytes, parser.serializeSubobject(subs.build())); + } } } diff --git a/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPValidatorTest.java b/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPValidatorTest.java index 42237bbb27..eced8ebc8a 100644 --- a/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPValidatorTest.java +++ b/pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPValidatorTest.java @@ -18,9 +18,11 @@ import java.util.List; import org.junit.Before; import org.junit.Test; +import org.opendaylight.protocol.pcep.ietf.initiated00.CrabbeInitiatedActivator; import org.opendaylight.protocol.pcep.ietf.initiated00.PcinitiateMessageParser; import org.opendaylight.protocol.pcep.ietf.stateful07.PCEPReportMessageParser; import org.opendaylight.protocol.pcep.ietf.stateful07.PCEPUpdateRequestMessageParser; +import org.opendaylight.protocol.pcep.ietf.stateful07.StatefulActivator; import org.opendaylight.protocol.pcep.impl.message.PCEPCloseMessageParser; import org.opendaylight.protocol.pcep.impl.message.PCEPErrorMessageParser; import org.opendaylight.protocol.pcep.impl.message.PCEPKeepAliveMessageParser; @@ -30,7 +32,7 @@ import org.opendaylight.protocol.pcep.impl.message.PCEPReplyMessageParser; import org.opendaylight.protocol.pcep.impl.message.PCEPRequestMessageParser; import org.opendaylight.protocol.pcep.spi.ObjectHandlerRegistry; import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException; -import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext; +import org.opendaylight.protocol.pcep.spi.pojo.SimplePCEPExtensionProviderContext; import org.opendaylight.protocol.util.ByteArray; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ieee754.rev130819.Float32; @@ -166,9 +168,15 @@ public class PCEPValidatorTest { private AsNumberCase eroASSubobject; private UnnumberedCase rroUnnumberedSub; + private SimplePCEPExtensionProviderContext ctx; + private Activator act; + @Before public void setUp() throws Exception { - this.objectRegistry = ServiceLoaderPCEPExtensionProviderContext.create().getObjectHandlerRegistry(); + this.ctx = new SimplePCEPExtensionProviderContext(); + this.act = new Activator(); + this.act.start(this.ctx); + this.objectRegistry = this.ctx.getObjectHandlerRegistry(); final RpBuilder rpBuilder = new RpBuilder(); rpBuilder.setProcessingRule(true); rpBuilder.setIgnore(false); @@ -312,27 +320,30 @@ public class PCEPValidatorTest { @Test public void testOpenMsg() throws IOException, PCEPDeserializerException { - final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPOpenMessage1.bin"); - final PCEPOpenMessageParser parser = new PCEPOpenMessageParser(this.objectRegistry); - final OpenMessageBuilder builder = new OpenMessageBuilder(); - - final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.OpenBuilder b = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.OpenBuilder(); - b.setProcessingRule(false); - b.setIgnore(false); - b.setVersion(new ProtocolVersion((short) 1)); - b.setKeepalive((short) 30); - b.setDeadTimer((short) 120); - b.setSessionId((short) 1); - final Stateful tlv1 = new StatefulBuilder().setLspUpdateCapability(Boolean.TRUE).build(); - b.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.open.TlvsBuilder().addAugmentation( - Tlvs2.class, new Tlvs2Builder().setStateful(tlv1).build()).build()); - builder.setOpen(b.build()); - - assertEquals(new OpenBuilder().setOpenMessage(builder.build()).build(), - parser.parseMessage(result, Collections. emptyList())); - final ByteBuf buf = Unpooled.buffer(result.length); - parser.serializeMessage(new OpenBuilder().setOpenMessage(builder.build()).build(), buf); - assertArrayEquals(result, buf.array()); + try (StatefulActivator a = new StatefulActivator()) { + a.start(this.ctx); + final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPOpenMessage1.bin"); + final PCEPOpenMessageParser parser = new PCEPOpenMessageParser(this.ctx.getObjectHandlerRegistry()); + final OpenMessageBuilder builder = new OpenMessageBuilder(); + + final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.OpenBuilder b = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.OpenBuilder(); + b.setProcessingRule(false); + b.setIgnore(false); + b.setVersion(new ProtocolVersion((short) 1)); + b.setKeepalive((short) 30); + b.setDeadTimer((short) 120); + b.setSessionId((short) 1); + final Stateful tlv1 = new StatefulBuilder().setLspUpdateCapability(Boolean.TRUE).build(); + b.setTlvs(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.open.TlvsBuilder().addAugmentation( + Tlvs2.class, new Tlvs2Builder().setStateful(tlv1).build()).build()); + builder.setOpen(b.build()); + + assertEquals(new OpenBuilder().setOpenMessage(builder.build()).build(), + parser.parseMessage(result, Collections. emptyList())); + final ByteBuf buf = Unpooled.buffer(result.length); + parser.serializeMessage(new OpenBuilder().setOpenMessage(builder.build()).build(), buf); + assertArrayEquals(result, buf.array()); + } } @Test @@ -485,134 +496,143 @@ public class PCEPValidatorTest { @Test public void testUpdMsg() throws IOException, PCEPDeserializerException { - byte[] result = ByteArray.fileToBytes("src/test/resources/PCUpd.2.bin"); - - final PCEPUpdateRequestMessageParser parser = new PCEPUpdateRequestMessageParser(this.objectRegistry); - - final PcupdMessageBuilder builder = new PcupdMessageBuilder(); - - final List updates = Lists.newArrayList(); - final PathBuilder pBuilder = new PathBuilder(); - pBuilder.setEro(this.ero); - pBuilder.setLspa(this.lspa); - updates.add(new UpdatesBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build()); - builder.setUpdates(updates); - - assertEquals(new PcupdBuilder().setPcupdMessage(builder.build()).build(), - parser.parseMessage(result, Collections. emptyList())); - ByteBuf buf = Unpooled.buffer(result.length); - parser.serializeMessage(new PcupdBuilder().setPcupdMessage(builder.build()).build(), buf); - assertArrayEquals(result, buf.array()); - - result = ByteArray.fileToBytes("src/test/resources/PCUpd.5.bin"); - - final List updates1 = Lists.newArrayList(); - final PathBuilder pBuilder1 = new PathBuilder(); - pBuilder1.setEro(this.ero); - pBuilder1.setLspa(this.lspa); - updates1.add(new UpdatesBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build()); - updates1.add(new UpdatesBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder1.build()).build()); - builder.setUpdates(updates1); - - assertEquals(new PcupdBuilder().setPcupdMessage(builder.build()).build(), - parser.parseMessage(result, Collections. emptyList())); - buf = Unpooled.buffer(result.length); - parser.serializeMessage(new PcupdBuilder().setPcupdMessage(builder.build()).build(), buf); - assertArrayEquals(result, buf.array()); + try (CrabbeInitiatedActivator a = new CrabbeInitiatedActivator()) { + a.start(this.ctx); + byte[] result = ByteArray.fileToBytes("src/test/resources/PCUpd.2.bin"); + + final PCEPUpdateRequestMessageParser parser = new PCEPUpdateRequestMessageParser(this.ctx.getObjectHandlerRegistry()); + + final PcupdMessageBuilder builder = new PcupdMessageBuilder(); + + final List updates = Lists.newArrayList(); + final PathBuilder pBuilder = new PathBuilder(); + pBuilder.setEro(this.ero); + pBuilder.setLspa(this.lspa); + updates.add(new UpdatesBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build()); + builder.setUpdates(updates); + + assertEquals(new PcupdBuilder().setPcupdMessage(builder.build()).build(), + parser.parseMessage(result, Collections. emptyList())); + ByteBuf buf = Unpooled.buffer(result.length); + parser.serializeMessage(new PcupdBuilder().setPcupdMessage(builder.build()).build(), buf); + assertArrayEquals(result, buf.array()); + + result = ByteArray.fileToBytes("src/test/resources/PCUpd.5.bin"); + + final List updates1 = Lists.newArrayList(); + final PathBuilder pBuilder1 = new PathBuilder(); + pBuilder1.setEro(this.ero); + pBuilder1.setLspa(this.lspa); + updates1.add(new UpdatesBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build()); + updates1.add(new UpdatesBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder1.build()).build()); + builder.setUpdates(updates1); + + assertEquals(new PcupdBuilder().setPcupdMessage(builder.build()).build(), + parser.parseMessage(result, Collections. emptyList())); + buf = Unpooled.buffer(result.length); + parser.serializeMessage(new PcupdBuilder().setPcupdMessage(builder.build()).build(), buf); + assertArrayEquals(result, buf.array()); + } } @Test public void testRptMsg() throws IOException, PCEPDeserializerException { - byte[] result = ByteArray.fileToBytes("src/test/resources/PCRpt.1.bin"); - - final PCEPReportMessageParser parser = new PCEPReportMessageParser(this.objectRegistry); - - final PcrptMessageBuilder builder = new PcrptMessageBuilder(); - - final List reports = Lists.newArrayList(); - reports.add(new ReportsBuilder().setLsp(this.lsp).build()); - builder.setReports(reports); - - assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(), - parser.parseMessage(result, Collections. emptyList())); - ByteBuf buf = Unpooled.buffer(result.length); - parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf); - assertArrayEquals(result, buf.array()); - - result = ByteArray.fileToBytes("src/test/resources/PCRpt.2.bin"); - - final List reports1 = Lists.newArrayList(); - reports1.add(new ReportsBuilder().setLsp(this.lsp).setPath( - new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder().setEro( - this.ero).setLspa(this.lspa).build()).build()); - builder.setReports(reports1); - - assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(), - parser.parseMessage(result, Collections. emptyList())); - buf = Unpooled.buffer(result.length); - parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf); - assertArrayEquals(result, buf.array()); - - result = ByteArray.fileToBytes("src/test/resources/PCRpt.3.bin"); - - final List reports2 = Lists.newArrayList(); - final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder pBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder(); - pBuilder.setEro(this.ero); - pBuilder.setLspa(this.lspa); - pBuilder.setMetrics(Lists.newArrayList(this.metrics, this.metrics)); - pBuilder.setRro(this.rro); - reports2.add(new ReportsBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build()); - builder.setReports(reports2); - - assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(), - parser.parseMessage(result, Collections. emptyList())); - buf = Unpooled.buffer(result.length); - parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf); - assertArrayEquals(result, buf.array()); - - result = ByteArray.fileToBytes("src/test/resources/PCRpt.5.bin"); - - final List reports3 = Lists.newArrayList(); - final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder pBuilder1 = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder(); - pBuilder1.setEro(this.ero); - pBuilder1.setLspa(this.lspa); - pBuilder1.setMetrics(Lists.newArrayList(this.metrics, this.metrics)); - pBuilder1.setRro(this.rro); - reports3.add(new ReportsBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build()); - reports3.add(new ReportsBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder1.build()).build()); - builder.setReports(reports3); - - assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(), - parser.parseMessage(result, Collections. emptyList())); - buf = Unpooled.buffer(result.length); - parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf); - assertArrayEquals(result, buf.array()); + try (CrabbeInitiatedActivator a = new CrabbeInitiatedActivator()) { + a.start(this.ctx); + byte[] result = ByteArray.fileToBytes("src/test/resources/PCRpt.1.bin"); + + final PCEPReportMessageParser parser = new PCEPReportMessageParser(this.ctx.getObjectHandlerRegistry()); + + final PcrptMessageBuilder builder = new PcrptMessageBuilder(); + + final List reports = Lists.newArrayList(); + reports.add(new ReportsBuilder().setLsp(this.lsp).build()); + builder.setReports(reports); + + assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(), + parser.parseMessage(result, Collections. emptyList())); + ByteBuf buf = Unpooled.buffer(result.length); + parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf); + assertArrayEquals(result, buf.array()); + + result = ByteArray.fileToBytes("src/test/resources/PCRpt.2.bin"); + + final List reports1 = Lists.newArrayList(); + reports1.add(new ReportsBuilder().setLsp(this.lsp).setPath( + new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder().setEro( + this.ero).setLspa(this.lspa).build()).build()); + builder.setReports(reports1); + + assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(), + parser.parseMessage(result, Collections. emptyList())); + buf = Unpooled.buffer(result.length); + parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf); + assertArrayEquals(result, buf.array()); + + result = ByteArray.fileToBytes("src/test/resources/PCRpt.3.bin"); + + final List reports2 = Lists.newArrayList(); + final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder pBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder(); + pBuilder.setEro(this.ero); + pBuilder.setLspa(this.lspa); + pBuilder.setMetrics(Lists.newArrayList(this.metrics, this.metrics)); + pBuilder.setRro(this.rro); + reports2.add(new ReportsBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build()); + builder.setReports(reports2); + + assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(), + parser.parseMessage(result, Collections. emptyList())); + buf = Unpooled.buffer(result.length); + parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf); + assertArrayEquals(result, buf.array()); + + result = ByteArray.fileToBytes("src/test/resources/PCRpt.5.bin"); + + final List reports3 = Lists.newArrayList(); + final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder pBuilder1 = new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev131222.pcrpt.message.pcrpt.message.reports.PathBuilder(); + pBuilder1.setEro(this.ero); + pBuilder1.setLspa(this.lspa); + pBuilder1.setMetrics(Lists.newArrayList(this.metrics, this.metrics)); + pBuilder1.setRro(this.rro); + reports3.add(new ReportsBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder.build()).build()); + reports3.add(new ReportsBuilder().setSrp(this.srp).setLsp(this.lsp).setPath(pBuilder1.build()).build()); + builder.setReports(reports3); + + assertEquals(new PcrptBuilder().setPcrptMessage(builder.build()).build(), + parser.parseMessage(result, Collections. emptyList())); + buf = Unpooled.buffer(result.length); + parser.serializeMessage(new PcrptBuilder().setPcrptMessage(builder.build()).build(), buf); + assertArrayEquals(result, buf.array()); + } } @Test public void testPcinitMsg() throws IOException, PCEPDeserializerException { - final byte[] result = ByteArray.fileToBytes("src/test/resources/Pcinit.bin"); - - final PcinitiateMessageParser parser = new PcinitiateMessageParser(this.objectRegistry); - - final PcinitiateMessageBuilder builder = new PcinitiateMessageBuilder(); - final RequestsBuilder rBuilder = new RequestsBuilder(); - - final List reqs = Lists.newArrayList(); - rBuilder.setSrp(this.srp); - rBuilder.setLsp(this.lsp); - rBuilder.setEro(this.ero); - rBuilder.setLspa(this.lspa); - rBuilder.setMetrics(Lists.newArrayList(this.metrics)); - rBuilder.setIro(this.iro); - reqs.add(rBuilder.build()); - builder.setRequests(reqs); - - assertEquals(new PcinitiateBuilder().setPcinitiateMessage(builder.build()).build(), - parser.parseMessage(result, Collections. emptyList())); - final ByteBuf buf = Unpooled.buffer(result.length); - parser.serializeMessage(new PcinitiateBuilder().setPcinitiateMessage(builder.build()).build(), buf); - assertArrayEquals(result, buf.array()); + try (CrabbeInitiatedActivator a = new CrabbeInitiatedActivator()) { + a.start(this.ctx); + final byte[] result = ByteArray.fileToBytes("src/test/resources/Pcinit.bin"); + + final PcinitiateMessageParser parser = new PcinitiateMessageParser(this.ctx.getObjectHandlerRegistry()); + + final PcinitiateMessageBuilder builder = new PcinitiateMessageBuilder(); + final RequestsBuilder rBuilder = new RequestsBuilder(); + + final List reqs = Lists.newArrayList(); + rBuilder.setSrp(this.srp); + rBuilder.setLsp(this.lsp); + rBuilder.setEro(this.ero); + rBuilder.setLspa(this.lspa); + rBuilder.setMetrics(Lists.newArrayList(this.metrics)); + rBuilder.setIro(this.iro); + reqs.add(rBuilder.build()); + builder.setRequests(reqs); + + assertEquals(new PcinitiateBuilder().setPcinitiateMessage(builder.build()).build(), + parser.parseMessage(result, Collections. emptyList())); + final ByteBuf buf = Unpooled.buffer(result.length); + parser.serializeMessage(new PcinitiateBuilder().setPcinitiateMessage(builder.build()).build(), buf); + assertArrayEquals(result, buf.array()); + } } @Test @@ -660,41 +680,45 @@ public class PCEPValidatorTest { @Test public void testErrorMsg() throws IOException, PCEPDeserializerException { - byte[] result = ByteArray.fileToBytes("src/test/resources/PCErr.3.bin"); + try (StatefulActivator a = new StatefulActivator()) { + a.start(this.ctx); + byte[] result = ByteArray.fileToBytes("src/test/resources/PCErr.3.bin"); - final ErrorObject error1 = new ErrorObjectBuilder().setIgnore(false).setProcessingRule(false).setType((short) 3).setValue((short) 1).build(); + final ErrorObject error1 = new ErrorObjectBuilder().setIgnore(false).setProcessingRule(false).setType((short) 3).setValue( + (short) 1).build(); - final PCEPErrorMessageParser parser = new PCEPErrorMessageParser(this.objectRegistry); + final PCEPErrorMessageParser parser = new PCEPErrorMessageParser(this.ctx.getObjectHandlerRegistry()); - List innerErr = Lists.newArrayList(); - innerErr.add(new ErrorsBuilder().setErrorObject(error1).build()); + List innerErr = Lists.newArrayList(); + innerErr.add(new ErrorsBuilder().setErrorObject(error1).build()); - final PcerrMessageBuilder builder = new PcerrMessageBuilder(); - builder.setErrors(innerErr); - builder.setErrorType(new SessionCaseBuilder().setSession(new SessionBuilder().setOpen(this.open).build()).build()); + final PcerrMessageBuilder builder = new PcerrMessageBuilder(); + builder.setErrors(innerErr); + builder.setErrorType(new SessionCaseBuilder().setSession(new SessionBuilder().setOpen(this.open).build()).build()); - assertEquals(new PcerrBuilder().setPcerrMessage(builder.build()).build(), - parser.parseMessage(result, Collections. emptyList())); - ByteBuf buf = Unpooled.buffer(result.length); - parser.serializeMessage(new PcerrBuilder().setPcerrMessage(builder.build()).build(), buf); - assertArrayEquals(result, buf.array()); + assertEquals(new PcerrBuilder().setPcerrMessage(builder.build()).build(), + parser.parseMessage(result, Collections. emptyList())); + ByteBuf buf = Unpooled.buffer(result.length); + parser.serializeMessage(new PcerrBuilder().setPcerrMessage(builder.build()).build(), buf); + assertArrayEquals(result, buf.array()); - result = ByteArray.fileToBytes("src/test/resources/PCErr.5.bin"); + result = ByteArray.fileToBytes("src/test/resources/PCErr.5.bin"); - final List rps = Lists.newArrayList(); - rps.add(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.pcerr.message.error.type.request._case.request.RpsBuilder().setRp( - this.rpFalse).build()); + final List rps = Lists.newArrayList(); + rps.add(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.pcerr.message.pcerr.message.error.type.request._case.request.RpsBuilder().setRp( + this.rpFalse).build()); - innerErr = Lists.newArrayList(); - innerErr.add(new ErrorsBuilder().setErrorObject(error1).build()); + innerErr = Lists.newArrayList(); + innerErr.add(new ErrorsBuilder().setErrorObject(error1).build()); - builder.setErrors(innerErr); - builder.setErrorType(new RequestCaseBuilder().setRequest(new RequestBuilder().setRps(rps).build()).build()); + builder.setErrors(innerErr); + builder.setErrorType(new RequestCaseBuilder().setRequest(new RequestBuilder().setRps(rps).build()).build()); - assertEquals(new PcerrBuilder().setPcerrMessage(builder.build()).build(), - parser.parseMessage(result, Collections. emptyList())); - buf = Unpooled.buffer(result.length); - parser.serializeMessage(new PcerrBuilder().setPcerrMessage(builder.build()).build(), buf); - assertArrayEquals(result, buf.array()); + assertEquals(new PcerrBuilder().setPcerrMessage(builder.build()).build(), + parser.parseMessage(result, Collections. emptyList())); + buf = Unpooled.buffer(result.length); + parser.serializeMessage(new PcerrBuilder().setPcerrMessage(builder.build()).build(), buf); + assertArrayEquals(result, buf.array()); + } } }