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=4f53fab5d946238a1fbf87c4c0c8f8592aea9c74;hb=305edb32e1579ae73a1c10019ba4471ad2953a71;hp=6cd82982b1550d4f36b56991e3d2ea714618761a;hpb=beb1e8344dd18bd674ecfb529fd306656fb1520a;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 6cd82982b1..4f53fab5d9 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,58 +8,85 @@ package org.opendaylight.protocol.bgp.parser; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotSame; -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.DocumentedException; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130918.Keepalive; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130918.KeepaliveBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130918.Notify; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130918.NotifyBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130918.Open; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130918.OpenBuilder; -import org.opendaylight.yangtools.yang.binding.Notification; - +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.rev180329.Open; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.OpenBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.BgpParameters; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.BgpParametersBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.bgp.parameters.OptionalCapabilities; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.bgp.parameters.OptionalCapabilitiesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.bgp.parameters.optional.capabilities.CParametersBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.open.message.bgp.parameters.optional.capabilities.c.parameters.As4BytesCapabilityBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.CParameters1; +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 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 testBGPKeepAliveMessage() { - final Notification msg = new KeepaliveBuilder().build(); - assertTrue(msg instanceof Keepalive); - } + @Test + public void testBGPError() { + assertEquals(BGPError.BAD_MSG_TYPE, BGPError.forValue(Uint8.ONE, Uint8.valueOf(3))); + } - @Test - public void testBGPNotificationMessage() { - final Notify msg = new NotifyBuilder().setErrorCode(BGPError.AS_PATH_MALFORMED.getCode()).setErrorSubcode( - BGPError.AS_PATH_MALFORMED.getSubcode()).build(); - assertTrue(msg instanceof Notify); - assertEquals(BGPError.AS_PATH_MALFORMED.getCode(), msg.getErrorCode().shortValue()); - assertEquals(BGPError.AS_PATH_MALFORMED.getSubcode(), msg.getErrorSubcode().shortValue()); - assertNull(msg.getData()); - } + @Test + public void testAsNumberUtil() { + final List params = new ArrayList<>(); + final List capas = new ArrayList<>(); + capas.add(new OptionalCapabilitiesBuilder().setCParameters(new CParametersBuilder().addAugmentation( + CParameters1.class, 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()); - @Test - public void testBGPOpenMessage() { - final Notification msg = new OpenBuilder().setMyAsNumber(58).setHoldTimer(5).build(); - assertNull(((Open) msg).getBgpParameters()); - } + final Open open2 = new OpenBuilder().setMyAsNumber(Uint16.valueOf(10)).build(); + assertEquals(10, AsNumberUtil.advertizedAsNumber(open2).getValue().intValue()); + } - @Test - public void testToString() { - final Notification o = new OpenBuilder().setMyAsNumber(58).setHoldTimer(5).build(); - final Notification n = new NotifyBuilder().setErrorCode(BGPError.AS_PATH_MALFORMED.getCode()).setErrorSubcode( - BGPError.AS_PATH_MALFORMED.getSubcode()).build(); - assertNotSame(o.toString(), n.toString()); - } + @Test + public void testBgpExtendedMessageUtil() { + final List params = new ArrayList<>(); + final List capas = new ArrayList<>(); + capas.add(new OptionalCapabilitiesBuilder().setCParameters(new CParametersBuilder().addAugmentation( + CParameters1.class, 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)); + } }