Added default experimenter serializers
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / serialization / factories / multipart / TableFeaturesTest.java
index 8ca6f174fbc7cbf9acc125490493cc2c4c60fed4..084c3d6c99d83fcd0f6556bb494e406770d7d8b6 100644 (file)
@@ -26,6 +26,8 @@ import org.opendaylight.openflowjava.protocol.impl.serialization.factories.Multi
 import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;\r
 import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;\r
 import org.opendaylight.openflowjava.protocol.impl.util.EncodeConstants;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterRelatedTableFeatureProperty;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterRelatedTableFeaturePropertyBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.InstructionRelatedTableFeatureProperty;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.InstructionRelatedTableFeaturePropertyBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.NextTableRelatedTableFeatureProperty;\r
@@ -202,6 +204,27 @@ public class TableFeaturesTest {
         oxmBuilder.setMatchEntries(entries);\r
         propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
         properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTEXPERIMENTER);\r
+        ExperimenterRelatedTableFeaturePropertyBuilder expBuilder =\r
+                       new ExperimenterRelatedTableFeaturePropertyBuilder();\r
+        expBuilder.setExperimenter(1024L);\r
+        expBuilder.setExpType(2048L);\r
+        byte[] expData = new byte[]{0, 1, 2};\r
+        expBuilder.setData(expData);\r
+        propBuilder.addAugmentation(\r
+                       ExperimenterRelatedTableFeatureProperty.class, expBuilder.build());\r
+        properties.add(propBuilder.build());\r
+        propBuilder = new TableFeaturePropertiesBuilder();\r
+        propBuilder.setType(TableFeaturesPropType.OFPTFPTEXPERIMENTERMISS);\r
+        expBuilder = new ExperimenterRelatedTableFeaturePropertyBuilder();\r
+        expBuilder.setExperimenter(4098L);\r
+        expBuilder.setExpType(8152L);\r
+        byte[] expData2 = new byte[]{3, 4, 6, 7, 8, 9};\r
+        expBuilder.setData(expData2);\r
+        propBuilder.addAugmentation(\r
+                       ExperimenterRelatedTableFeatureProperty.class, expBuilder.build());\r
+        properties.add(propBuilder.build());\r
         tableFeaturesBuilder.setTableFeatureProperties(properties);\r
         tableFeaturesList.add(tableFeaturesBuilder.build());\r
         featuresBuilder.setTableFeatures(tableFeaturesList);\r
@@ -212,7 +235,7 @@ public class TableFeaturesTest {
         ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
         multipartFactory.serialize(message, out);\r
 \r
-        BufferHelper.checkHeaderV13(out, (byte) 18, 232);\r
+        BufferHelper.checkHeaderV13(out, (byte) 18, 272);\r
         Assert.assertEquals("Wrong type", 12, out.readUnsignedShort());\r
         Assert.assertEquals("Wrong flags", 1, out.readUnsignedShort());\r
         out.skipBytes(PADDING_IN_MULTIPART_REQUEST_MESSAGE);\r
@@ -259,7 +282,7 @@ public class TableFeaturesTest {
         Assert.assertEquals("Wrong instruction length", 4, out.readUnsignedShort());\r
         Assert.assertEquals("Wrong instruction type", 1, out.readUnsignedShort());\r
         Assert.assertEquals("Wrong instruction length", 4, out.readUnsignedShort());\r
-        Assert.assertEquals("Wrong length", 96, out.readUnsignedShort());\r
+        Assert.assertEquals("Wrong length", 136, out.readUnsignedShort());\r
         Assert.assertEquals("Wrong registry-id", 8, out.readUnsignedByte());\r
         out.skipBytes(5);\r
         Assert.assertEquals("Wrong name", "AAAABBBBCCCCDDDDEEEEFFFFGGGG",\r
@@ -292,6 +315,22 @@ public class TableFeaturesTest {
         Assert.assertEquals("Wrong match field&mask", 18, out.readUnsignedByte());\r
         Assert.assertEquals("Wrong match length", 1, out.readUnsignedByte());\r
         out.skipBytes(4);\r
+        Assert.assertEquals("Wrong property type", 0xFFFE, out.readUnsignedShort());\r
+        Assert.assertEquals("Wrong property length", 16, out.readUnsignedShort());\r
+        Assert.assertEquals("Wrong experimenter", 1024, out.readUnsignedInt());\r
+        Assert.assertEquals("Wrong exp-type", 2048, out.readUnsignedInt());\r
+        byte[] tmp = new byte[3];\r
+        out.readBytes(tmp);\r
+        Assert.assertArrayEquals("Wrong experimenter data", expData, tmp);\r
+        out.skipBytes(1);\r
+        Assert.assertEquals("Wrong property type", 0xFFFF, out.readUnsignedShort());\r
+        Assert.assertEquals("Wrong property length", 24, out.readUnsignedShort());\r
+        Assert.assertEquals("Wrong experimenter", 4098, out.readUnsignedInt());\r
+        Assert.assertEquals("Wrong exp-type", 8152, out.readUnsignedInt());\r
+        byte[] tmp2 = new byte[6];\r
+        out.readBytes(tmp2);\r
+        Assert.assertArrayEquals("Wrong experimenter data", expData2, tmp2);\r
+        out.skipBytes(6);\r
         Assert.assertTrue("Unread data", out.readableBytes() == 0);\r
     }\r
 \r