Added a bit more tests for correctness and code coverage. 91/22891/2
authorDana Kutenicsova <dkutenic@cisco.com>
Thu, 18 Jun 2015 14:23:40 +0000 (16:23 +0200)
committerGerrit Code Review <gerrit@opendaylight.org>
Mon, 22 Jun 2015 08:30:41 +0000 (08:30 +0000)
Change-Id: I21f1497279d4b297b533b5dc0872b545e594b11a
Signed-off-by: Dana Kutenicsova <dkutenic@cisco.com>
bgp/parser-impl/src/main/java/org/opendaylight/protocol/bgp/parser/impl/message/update/AsPathSegmentParser.java
bgp/parser-impl/src/test/java/org/opendaylight/protocol/bgp/parser/impl/ComplementaryTest.java
bgp/parser-spi/src/test/java/org/opendaylight/protocol/bgp/parser/spi/AbstractMessageRegistryTest.java
concepts/src/test/java/org/opendaylight/protocol/concepts/HandlerRegistryTest.java
pcep/segment-routing/src/test/java/org/opendaylight/protocol/pcep/segment/routing/SrObjectParserTest.java

index 178c039f2c0840f6f4ce90d69c367f805c0b371d..2bc08e57af143d59534ebdda6c8f269252ed2731 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.protocol.bgp.parser.impl.message.update;
 
 import static org.opendaylight.protocol.bgp.parser.impl.message.update.AsPathSegmentParser.SegmentType.AS_SEQUENCE;
 import static org.opendaylight.protocol.bgp.parser.impl.message.update.AsPathSegmentParser.SegmentType.AS_SET;
+
 import io.netty.buffer.ByteBuf;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -40,7 +41,7 @@ public final class AsPathSegmentParser {
     }
 
     private AsPathSegmentParser() {
-
+        throw new UnsupportedOperationException();
     }
 
     static int serializeType(final SegmentType type) {
index 693d3fbe955780776294094b7b196d8ce8f2bf7b..3abf89d797a6984699891ef24de617cc22819ef1 100644 (file)
@@ -15,13 +15,14 @@ import static org.junit.Assert.fail;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.List;
 import org.junit.Test;
 import org.opendaylight.protocol.bgp.parser.BGPDocumentedException;
+import org.opendaylight.protocol.bgp.parser.impl.message.update.AsPathSegmentParser;
 import org.opendaylight.protocol.bgp.parser.impl.message.update.ExtendedCommunitiesAttributeParser;
-import org.opendaylight.protocol.bgp.parser.spi.MessageRegistry;
-import org.opendaylight.protocol.bgp.parser.spi.pojo.ServiceLoaderBGPExtensionProviderContext;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.protocol.util.NoopReferenceCache;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber;
@@ -228,26 +229,15 @@ public class ComplementaryTest {
         }
     }
 
-    @Test
-    public void testBGPHeaderParser() throws Exception {
-        final MessageRegistry msgReg = ServiceLoaderBGPExtensionProviderContext.getSingletonInstance().getMessageRegistry();
-        try {
-            msgReg.parseMessage(Unpooled.copiedBuffer(new byte[] { (byte) 0, (byte) 0 }));
-            fail("Exception should have occured.");
-        } catch (final IllegalArgumentException e) {
-            assertEquals("Too few bytes in passed array. Passed: 2. Expected: >= 19.", e.getMessage());
-        }
-    }
 
-    @Test
-    public void testMessageParser() throws Exception {
-        final MessageRegistry msgReg = ServiceLoaderBGPExtensionProviderContext.getSingletonInstance().getMessageRegistry();
-        String ex = "";
+    @Test(expected=UnsupportedOperationException.class)
+    public void testAsPathSegmentParserPrivateConstructor() throws Throwable {
+        final Constructor<AsPathSegmentParser> c = AsPathSegmentParser.class.getDeclaredConstructor();
+        c.setAccessible(true);
         try {
-            msgReg.serializeMessage(null, Unpooled.EMPTY_BUFFER);
-        } catch (final NullPointerException e) {
-            ex = e.getMessage();
+            c.newInstance();
+        } catch (final InvocationTargetException e) {
+            throw e.getCause();
         }
-        assertEquals("BGPMessage is mandatory.", ex);
     }
 }
index 48df8ba3aa1c8ae291231e8af4dfc327b8836e04..eaef04d144d3ca1bbd3988a5b1101c29aa92bd05 100644 (file)
@@ -8,7 +8,9 @@
 package org.opendaylight.protocol.bgp.parser.spi;
 
 import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
@@ -16,6 +18,7 @@ import org.junit.Assert;
 import org.junit.Test;
 import org.opendaylight.protocol.bgp.parser.BGPDocumentedException;
 import org.opendaylight.protocol.bgp.parser.BGPParsingException;
+import org.opendaylight.protocol.bgp.parser.spi.pojo.ServiceLoaderBGPExtensionProviderContext;
 import org.opendaylight.protocol.util.ByteArray;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.Keepalive;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.KeepaliveBuilder;
@@ -35,7 +38,7 @@ public class AbstractMessageRegistryTest {
         }
 
         @Override
-        protected Notification parseBody(int type, ByteBuf body, int messageLength) throws BGPDocumentedException {
+        protected Notification parseBody(final int type, final ByteBuf body, final int messageLength) throws BGPDocumentedException {
             return new KeepaliveBuilder().build();
         }
     };
@@ -92,4 +95,27 @@ public class AbstractMessageRegistryTest {
             Assert.assertTrue(e.getMessage().startsWith("Size doesn't match size specified in header."));
         }
     }
+
+    @Test
+    public void testBGPHeaderParser() throws Exception {
+        final MessageRegistry msgReg = ServiceLoaderBGPExtensionProviderContext.getSingletonInstance().getMessageRegistry();
+        try {
+            msgReg.parseMessage(Unpooled.copiedBuffer(new byte[] { (byte) 0, (byte) 0 }));
+            fail("Exception should have occured.");
+        } catch (final IllegalArgumentException e) {
+            assertEquals("Too few bytes in passed array. Passed: 2. Expected: >= 19.", e.getMessage());
+        }
+    }
+
+    @Test
+    public void testMessageParser() throws Exception {
+        final MessageRegistry msgReg = ServiceLoaderBGPExtensionProviderContext.getSingletonInstance().getMessageRegistry();
+        String ex = "";
+        try {
+            msgReg.serializeMessage(null, Unpooled.EMPTY_BUFFER);
+        } catch (final NullPointerException e) {
+            ex = e.getMessage();
+        }
+        assertEquals("BGPMessage is mandatory.", ex);
+    }
 }
index 9efbbd118b26ebf9843715b2d711281b04ce96c7..30e2e29d9dd156ef6998b26fde1f731d8dc2c7cd 100644 (file)
@@ -33,6 +33,7 @@ public class HandlerRegistryTest {
 
         parserReg.close();
         serializerReg.close();
+        serializerReg.close();
         Assert.assertNull(registry.getParser(TYPE));
         Assert.assertNull(registry.getSerializer(Object.class));
     }
index 221a1722112d9432304a22132bcc3cf78db5bc55..9e12ba771d9fc9bb87fdf19461a9c400f06efc00 100644 (file)
@@ -92,6 +92,8 @@ public class SrObjectParserTest {
                 parser.parseObject(new ObjectHeaderImpl(false, false), result.slice(4, result.readableBytes() - 4)));
         final ByteBuf buffer = Unpooled.buffer();
         parser.serializeObject(builder.build(), buffer);
+        parser.serializeTlvs(null, Unpooled.EMPTY_BUFFER);
+        parser.serializeTlvs(new TlvsBuilder().build(), Unpooled.EMPTY_BUFFER);
         assertArrayEquals(openObjectBytes, ByteArray.getAllBytes(buffer));
     }