Extensibility support (deserialization part)
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / util / InstructionsDeserializerTest.java
index d65b95525be6390c6544a5e07c0f9434f77afc01..53e95088fa7b80c6c0f84f74df9e09f3711b65e4 100644 (file)
@@ -12,7 +12,12 @@ import io.netty.buffer.ByteBuf;
 import java.util.List;\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.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ActionsInstruction;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.GroupIdAction;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.MaxLengthAction;\r
@@ -30,7 +35,21 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction
  *\r
  */\r
 public class InstructionsDeserializerTest {\r
-    \r
+\r
+    private OFDeserializer<Instruction> insDeserializer;\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
+        insDeserializer = registry.getDeserializer(\r
+                new MessageCodeKey(EncodeConstants.OF13_VERSION_ID,\r
+                        EncodeConstants.EMPTY_VALUE, Instruction.class));\r
+    }\r
+\r
     /**\r
      * Testing instructions translation\r
      */\r
@@ -42,7 +61,9 @@ public class InstructionsDeserializerTest {
                 + "00 16 00 08 00 00 00 50 00 04 00 18 00 00 00 00 00 15 00 08 00 00 00 25 00 0F 00 08 05 00 00 00");\r
         \r
         message.skipBytes(4); // skip XID\r
-        List<Instruction> instructions = InstructionsDeserializer.createInstructions(message, message.readableBytes());\r
+        \r
+        List<Instruction> instructions = DecodingUtils.deserializeList(\r
+                message.readableBytes(), message, insDeserializer);\r
         Instruction i1 = instructions.get(0);\r
         Assert.assertEquals("Wrong type - i1", "org.opendaylight.yang.gen.v1.urn."\r
                 + "opendaylight.openflow.common.instruction.rev130731.GotoTable", i1.getType().getName());\r