Extensibility support (deserialization part)
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / deserialization / factories / OF10StatsReplyMessageFactoryTest.java
index 553ac79f43075dfe29578fb7ee85542ef9c98808..bc6b996ed443d0b498c78d3a027ea0896c5d8c2e 100644 (file)
@@ -12,9 +12,15 @@ import io.netty.buffer.ByteBuf;
 import java.math.BigInteger;\r
 \r
 import org.junit.Assert;\r
+import org.junit.Before;\r
 import org.junit.Test;\r
+import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;\r
+import org.opendaylight.openflowjava.protocol.api.extensibility.MessageCodeKey;\r
+import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;\r
+import org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializerRegistryImpl;\r
 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.MaxLengthAction;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.PortAction;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.VlanVidAction;\r
@@ -42,6 +48,19 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
  */\r
 public class OF10StatsReplyMessageFactoryTest {\r
 \r
+    private OFDeserializer<MultipartReplyMessage> statsFactory;\r
+\r
+    /**\r
+     * Initializes deserializer registry and lookups correct deserializer\r
+     */\r
+    @Before\r
+    public void startUp() {\r
+        DeserializerRegistry registry = new DeserializerRegistryImpl();\r
+        registry.init();\r
+        statsFactory = registry.getDeserializer(\r
+                new MessageCodeKey(EncodeConstants.OF10_VERSION_ID, 17, MultipartReplyMessage.class));\r
+    }\r
+\r
     /**\r
      * Testing OF10StatsReplyMessageFactory (Desc) for correct deserialization\r
      */\r
@@ -81,7 +100,7 @@ public class OF10StatsReplyMessageFactoryTest {
         bb.writeBytes(dpDescBytes);\r
         ByteBufUtils.padBuffer((DESC_STR_LEN - dpDescBytes.length), bb);\r
         \r
-        MultipartReplyMessage builtByFactory = BufferHelper.decodeV10(OF10StatsReplyMessageFactory.getInstance(), bb);\r
+        MultipartReplyMessage builtByFactory = BufferHelper.deserialize(statsFactory, bb);\r
         \r
         BufferHelper.checkHeaderV10(builtByFactory);\r
         Assert.assertEquals("Wrong type", 0, builtByFactory.getType().getIntValue());\r
@@ -108,8 +127,7 @@ public class OF10StatsReplyMessageFactoryTest {
                 + "FF 01 02 03 04 05 06 07 FF 01 02 03 04 05 06 07 FF 00 00 00 00 00 00 20 "\r
                 + "00 00 00 08 00 01 00 02 00 01 00 08 00 03 00 00");\r
         \r
-        MultipartReplyMessage builtByFactory = \r
-                BufferHelper.decodeV10(OF10StatsReplyMessageFactory.getInstance(), bb);\r
+        MultipartReplyMessage builtByFactory = BufferHelper.deserialize(statsFactory, bb);\r
 \r
         BufferHelper.checkHeaderV10(builtByFactory);\r
         Assert.assertEquals("Wrong type", 0x01, builtByFactory.getType().getIntValue());\r
@@ -152,8 +170,7 @@ public class OF10StatsReplyMessageFactoryTest {
         ByteBuf bb = BufferHelper.buildBuffer("00 02 00 01 "\r
                 + "FF 01 02 03 04 05 06 07 FF 00 00 00 00 00 00 20 00 00 00 30 00 00 00 00");\r
         \r
-        MultipartReplyMessage builtByFactory = \r
-                BufferHelper.decodeV10(OF10StatsReplyMessageFactory.getInstance(), bb);\r
+        MultipartReplyMessage builtByFactory = BufferHelper.deserialize(statsFactory, bb);\r
 \r
         BufferHelper.checkHeaderV10(builtByFactory);\r
         Assert.assertEquals("Wrong type", 0x02, builtByFactory.getType().getIntValue());\r
@@ -180,7 +197,7 @@ public class OF10StatsReplyMessageFactoryTest {
                 + "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "\r
                 + "00 00 00 30 00 00 00 10 FF 01 01 01 01 01 01 01 FF 01 01 01 01 01 01 00");\r
 \r
-        MultipartReplyMessage builtByFactory = BufferHelper.decodeV10(OF10StatsReplyMessageFactory.getInstance(), bb);\r
+        MultipartReplyMessage builtByFactory = BufferHelper.deserialize(statsFactory, bb);\r
 \r
         BufferHelper.checkHeaderV10(builtByFactory);\r
         Assert.assertEquals("Wrong type", 0x03, builtByFactory.getType().getIntValue());\r
@@ -219,7 +236,7 @@ public class OF10StatsReplyMessageFactoryTest {
                 + "FF 02 03 02 03 02 03 02 FF 02 03 02 03 02 03 02 FF 02 03 02 03 02 03 02 "\r
                 + "FF 02 03 02 03 02 03 02 ");\r
 \r
-        MultipartReplyMessage builtByFactory = BufferHelper.decodeV10(OF10StatsReplyMessageFactory.getInstance(), bb);\r
+        MultipartReplyMessage builtByFactory = BufferHelper.deserialize(statsFactory, bb);\r
 \r
         BufferHelper.checkHeaderV10(builtByFactory);\r
         Assert.assertEquals("Wrong type", 0x04, builtByFactory.getType().getIntValue());\r
@@ -277,7 +294,7 @@ public class OF10StatsReplyMessageFactoryTest {
                 + "FF 02 02 02 02 02 02 02 "\r
                 + "FF 02 03 02 03 02 03 02 ");\r
 \r
-        MultipartReplyMessage builtByFactory = BufferHelper.decodeV10(OF10StatsReplyMessageFactory.getInstance(), bb);\r
+        MultipartReplyMessage builtByFactory = BufferHelper.deserialize(statsFactory, bb);\r
 \r
         BufferHelper.checkHeaderV10(builtByFactory);\r
         Assert.assertEquals("Wrong type", 0x05, builtByFactory.getType().getIntValue());\r