X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=bgp%2Fparser-api%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fprotocol%2Fbgp%2Fparser%2FAPITest.java;h=90dab89fcf5ccf1daf760263e765f18b5aa7f84c;hb=3860d202e14ae693d515cf40f4795fd086a5d75d;hp=db2485088c83a36cb3fdb7823bf32478b54b56bc;hpb=f42f7ae2dfd795aad601c693c3983948a6a7dcd9;p=bgpcep.git diff --git a/bgp/parser-api/src/test/java/org/opendaylight/protocol/bgp/parser/APITest.java b/bgp/parser-api/src/test/java/org/opendaylight/protocol/bgp/parser/APITest.java index db2485088c..90dab89fcf 100644 --- a/bgp/parser-api/src/test/java/org/opendaylight/protocol/bgp/parser/APITest.java +++ b/bgp/parser-api/src/test/java/org/opendaylight/protocol/bgp/parser/APITest.java @@ -8,35 +8,91 @@ package org.opendaylight.protocol.bgp.parser; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import java.util.ArrayList; +import java.util.List; import org.junit.Test; -import org.opendaylight.protocol.framework.DeserializerException; -import org.opendaylight.protocol.framework.DocumentedException; +import org.opendaylight.protocol.util.ByteArray; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev200120.Open; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev200120.OpenBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev200120.open.message.BgpParameters; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev200120.open.message.BgpParametersBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev200120.open.message.bgp.parameters.OptionalCapabilities; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev200120.open.message.bgp.parameters.OptionalCapabilitiesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev200120.open.message.bgp.parameters.optional.capabilities.CParametersBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev200120.open.message.bgp.parameters.optional.capabilities.c.parameters.As4BytesCapabilityBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.CParameters1Builder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.mp.capabilities.MultiprotocolCapabilityBuilder; +import org.opendaylight.yangtools.yang.common.Uint16; +import org.opendaylight.yangtools.yang.common.Uint32; +import org.opendaylight.yangtools.yang.common.Uint8; public class APITest { - @Test - public void testDocumentedException() { - final DocumentedException de = new BGPDocumentedException("Some message", BGPError.BAD_BGP_ID); - assertEquals("Some message", de.getMessage()); - assertEquals(BGPError.BAD_BGP_ID, ((BGPDocumentedException) de).getError()); - assertNull(((BGPDocumentedException) de).getData()); - } - - @Test - public void testParsingException() { - final DeserializerException de = new BGPParsingException("Some message"); - assertEquals("Some message", de.getMessage()); - } - - @Test - public void testBGPError() { - assertEquals(BGPError.BAD_MSG_TYPE, BGPError.forValue(1, 3)); - } - - @Test - public void testTerminationReason() { - assertEquals(BGPError.BAD_PEER_AS.toString(), new BGPTerminationReason(BGPError.BAD_PEER_AS).getErrorMessage()); - } + @Test + public void testDocumentedException() { + final BGPDocumentedException de = new BGPDocumentedException("Some message", BGPError.BAD_BGP_ID); + assertEquals("Some message", de.getMessage()); + assertEquals(BGPError.BAD_BGP_ID, de.getError()); + assertEquals(0, de.getData().length); + + final BGPDocumentedException doc = BGPDocumentedException.badMessageLength("Wrong length", 5000); + assertEquals(5000, ByteArray.bytesToInt(doc.getData())); + } + + @Test + public void testParsingException() { + final BGPParsingException de = new BGPParsingException("Some message"); + assertEquals("Some message", de.getMessage()); + + final BGPParsingException de1 = new BGPParsingException("Some message", new IllegalArgumentException("text")); + assertEquals("text", de1.getCause().getMessage()); + } + + @Test + public void testBGPError() { + assertEquals(BGPError.BAD_MSG_TYPE, BGPError.forValue(Uint8.ONE, Uint8.valueOf(3))); + } + + @Test + public void testAsNumberUtil() { + final List params = new ArrayList<>(); + final List capas = new ArrayList<>(); + capas.add(new OptionalCapabilitiesBuilder() + .setCParameters(new CParametersBuilder() + .addAugmentation(new CParameters1Builder() + .setMultiprotocolCapability(new MultiprotocolCapabilityBuilder().build()) + .build()) + .build()) + .build()); + capas.add(new OptionalCapabilitiesBuilder().setCParameters( + new CParametersBuilder().setAs4BytesCapability(new As4BytesCapabilityBuilder().setAsNumber( + new AsNumber(Uint32.valueOf(35))).build()).build()).build()); + params.add(new BgpParametersBuilder().setOptionalCapabilities(capas).build()); + final Open open1 = new OpenBuilder().setBgpParameters(params).build(); + assertEquals(35L, AsNumberUtil.advertizedAsNumber(open1).getValue().longValue()); + + final Open open2 = new OpenBuilder().setMyAsNumber(Uint16.valueOf(10)).build(); + assertEquals(10, AsNumberUtil.advertizedAsNumber(open2).getValue().intValue()); + } + + @Test + public void testBgpExtendedMessageUtil() { + final List params = new ArrayList<>(); + final List capas = new ArrayList<>(); + capas.add(new OptionalCapabilitiesBuilder() + .setCParameters(new CParametersBuilder() + .addAugmentation(new CParameters1Builder() + .setMultiprotocolCapability(new MultiprotocolCapabilityBuilder().build()) + .build()) + .build()) + .build()); + capas.add(new OptionalCapabilitiesBuilder().setCParameters( + BgpExtendedMessageUtil.EXTENDED_MESSAGE_CAPABILITY).build()); + params.add(new BgpParametersBuilder().setOptionalCapabilities(capas).build()); + final Open open1 = new OpenBuilder().setBgpParameters(params).build(); + assertTrue(BgpExtendedMessageUtil.advertizedBgpExtendedMessageCapability(open1)); + } }