2 * Copyright (c) 2016 AT&T Services, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.protocol.bgp.parser.impl;
11 import io.netty.buffer.ByteBuf;
12 import io.netty.buffer.Unpooled;
13 import org.junit.Assert;
14 import org.junit.Before;
15 import org.junit.Test;
16 import org.opendaylight.protocol.bgp.parser.BGPDocumentedException;
17 import org.opendaylight.protocol.bgp.parser.BGPParsingException;
18 import org.opendaylight.protocol.bgp.parser.impl.message.open.BgpExtendedMessageCapabilityHandler;
19 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
20 import org.opendaylight.protocol.bgp.parser.spi.pojo.ServiceLoaderBGPExtensionProviderContext;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.open.message.bgp.parameters.optional.capabilities.CParametersBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.open.message.bgp.parameters.optional.capabilities.c.parameters.BgpExtendedMessageCapabilityBuilder;
24 public class BgpExtendedMessageCapabilityHandlerTest {
26 private BGPExtensionProviderContext ctx;
30 this.ctx = ServiceLoaderBGPExtensionProviderContext.getSingletonInstance();
34 public void testBgpExtendedMessageCapabilityHandler() throws BGPDocumentedException, BGPParsingException {
35 final BgpExtendedMessageCapabilityHandler handler = new BgpExtendedMessageCapabilityHandler();
37 final byte[] bgpExeBytes = {(byte) 0x06, (byte) 0x00};
38 final BgpExtendedMessageCapabilityBuilder bgpExtBuilder = new BgpExtendedMessageCapabilityBuilder();
40 final ByteBuf buffer = Unpooled.buffer(bgpExeBytes.length);
41 handler.serializeCapability( new CParametersBuilder().setBgpExtendedMessageCapability(bgpExtBuilder.build()).build(), buffer);
42 Assert.assertArrayEquals(bgpExeBytes, buffer.array());
43 Assert.assertEquals(handler.parseCapability(Unpooled.wrappedBuffer(bgpExeBytes)), new CParametersBuilder().setBgpExtendedMessageCapability(bgpExtBuilder.build()).build());
45 final byte[] bgpExeBytes2 = {(byte) 0x40, (byte) 0x06};
47 handler.serializeCapability(new CParametersBuilder().setBgpExtendedMessageCapability(bgpExtBuilder.build()).build(), buffer);
48 Assert.assertNotSame(bgpExeBytes2, buffer.array());