Added default experimenter serializers
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / serialization / factories / OF10StatsRequestInputFactoryTest.java
index 845d7c2a462473919f6eebaa0ee2c6aec80e1e6e..a576c20e93bcf65d88ac4231d15cc1a0dc3a7a9e 100644 (file)
@@ -29,11 +29,13 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.matc
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestInput;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestInputBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestDescCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenterCaseBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlowCaseBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStatsCaseBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueueCaseBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableCaseBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.desc._case.MultipartRequestDescBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.experimenter._case.MultipartRequestExperimenterBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.flow._case.MultipartRequestFlowBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.port.stats._case.MultipartRequestPortStatsBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.queue._case.MultipartRequestQueueBuilder;\r
@@ -145,7 +147,7 @@ public class OF10StatsRequestInputFactoryTest {
         Assert.assertEquals("Wrong nw-dst", 167772162, out.readUnsignedInt());\r
         Assert.assertEquals("Wrong tp-src", 57, out.readUnsignedShort());\r
         Assert.assertEquals("Wrong tp-dst", 58, out.readUnsignedShort());\r
-        Assert.assertEquals("Wrong registry-id", 1, out.readUnsignedByte());\r
+        Assert.assertEquals("Wrong table-id", 1, out.readUnsignedByte());\r
         out.skipBytes(1);\r
         Assert.assertEquals("Wrong out-port", 42, out.readUnsignedShort());\r
         Assert.assertTrue("Unread data", out.readableBytes() == 0);\r
@@ -212,7 +214,7 @@ public class OF10StatsRequestInputFactoryTest {
         Assert.assertEquals("Wrong nw-dst", 167772162, out.readUnsignedInt());\r
         Assert.assertEquals("Wrong tp-src", 57, out.readUnsignedShort());\r
         Assert.assertEquals("Wrong tp-dst", 58, out.readUnsignedShort());\r
-        Assert.assertEquals("Wrong registry-id", 42, out.readUnsignedByte());\r
+        Assert.assertEquals("Wrong table-id", 42, out.readUnsignedByte());\r
         out.skipBytes(1);\r
         Assert.assertEquals("Wrong out-port", 6653, out.readUnsignedShort());\r
         Assert.assertTrue("Unread data", out.readableBytes() == 0);\r
@@ -300,4 +302,63 @@ public class OF10StatsRequestInputFactoryTest {
         Assert.assertEquals("Wrong queue-id", 16, out.readUnsignedInt());\r
         Assert.assertTrue("Unread data", out.readableBytes() == 0);\r
     }\r
+    \r
+    /**\r
+     * Testing OF10StatsRequestInputFactory (Vendor) for correct serialization\r
+     * @throws Exception\r
+     */\r
+    @Test\r
+    public void testExperimenter() throws Exception {\r
+        MultipartRequestInputBuilder builder = new MultipartRequestInputBuilder();\r
+        BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID);\r
+        builder.setType(MultipartType.OFPMPEXPERIMENTER);\r
+        builder.setFlags(new MultipartRequestFlags(false));\r
+        MultipartRequestExperimenterCaseBuilder caseBuilder = new MultipartRequestExperimenterCaseBuilder();\r
+        MultipartRequestExperimenterBuilder expBuilder = new MultipartRequestExperimenterBuilder();\r
+        expBuilder.setExperimenter(56L);\r
+        byte[] expData = new byte[]{0, 1, 2, 3, 4, 5, 6, 7};\r
+        expBuilder.setData(expData);\r
+        caseBuilder.setMultipartRequestExperimenter(expBuilder.build());\r
+        builder.setMultipartRequestBody(caseBuilder.build());\r
+        MultipartRequestInput message = builder.build();\r
+        \r
+        ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
+        multipartFactory.serialize(message, out);\r
+        \r
+        BufferHelper.checkHeaderV10(out, (byte) 16, 24);\r
+        Assert.assertEquals("Wrong type", 0xFFFF, out.readUnsignedShort());\r
+        Assert.assertEquals("Wrong flags", 0, out.readUnsignedShort());\r
+        Assert.assertEquals("Wrong experimenter", 56, out.readUnsignedInt());\r
+        byte[] temp = new byte[8];\r
+        out.readBytes(temp);\r
+        Assert.assertArrayEquals("Wrong data", expData, temp);\r
+        Assert.assertTrue("Unread data", out.readableBytes() == 0);\r
+    }\r
+\r
+    /**\r
+     * Testing OF10StatsRequestInputFactory (Vendor) for correct serialization\r
+     * @throws Exception\r
+     */\r
+    @Test\r
+    public void testExperimenterWithoutData() throws Exception {\r
+        MultipartRequestInputBuilder builder = new MultipartRequestInputBuilder();\r
+        BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID);\r
+        builder.setType(MultipartType.OFPMPEXPERIMENTER);\r
+        builder.setFlags(new MultipartRequestFlags(false));\r
+        MultipartRequestExperimenterCaseBuilder caseBuilder = new MultipartRequestExperimenterCaseBuilder();\r
+        MultipartRequestExperimenterBuilder expBuilder = new MultipartRequestExperimenterBuilder();\r
+        expBuilder.setExperimenter(56L);\r
+        caseBuilder.setMultipartRequestExperimenter(expBuilder.build());\r
+        builder.setMultipartRequestBody(caseBuilder.build());\r
+        MultipartRequestInput message = builder.build();\r
+        \r
+        ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
+        multipartFactory.serialize(message, out);\r
+        \r
+        BufferHelper.checkHeaderV10(out, (byte) 16, 16);\r
+        Assert.assertEquals("Wrong type", 0xFFFF, out.readUnsignedShort());\r
+        Assert.assertEquals("Wrong flags", 0, out.readUnsignedShort());\r
+        Assert.assertEquals("Wrong experimenter", 56, out.readUnsignedInt());\r
+        Assert.assertTrue("Unread data", out.readableBytes() == 0);\r
+    }\r
 }\r