Extensibility support (deserialization part)
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / deserialization / factories / BarrierReplyMessageFactoryTest.java
index 51c700e74a612f18f5bd9a847c8ad006f8815e8c..8bc381a8faffcb67e3e16e41b8c593f05e4e544d 100644 (file)
@@ -10,8 +10,14 @@ package org.opendaylight.openflowjava.protocol.impl.deserialization.factories;
 
 import io.netty.buffer.ByteBuf;
 
+import org.junit.Before;
 import org.junit.Test;
+import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;
+import org.opendaylight.openflowjava.protocol.api.extensibility.MessageCodeKey;
+import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;
+import org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializerRegistryImpl;
 import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;
+import org.opendaylight.openflowjava.protocol.impl.util.EncodeConstants;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierOutput;
 
 /**
@@ -20,27 +26,28 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
  */
 public class BarrierReplyMessageFactoryTest {
 
+    private OFDeserializer<BarrierOutput> barrierFactory;
+
     /**
-     * Testing of {@link BarrierReplyMessageFactory} for correct translation into POJO
+     * Initializes deserializer registry and lookups correct deserializer
      */
-    @Test
-    public void test() {
-        ByteBuf bb = BufferHelper.buildBuffer();
-        BarrierOutput builtByFactory = BufferHelper.decodeV13(
-                BarrierReplyMessageFactory.getInstance(), bb);
-
-        BufferHelper.checkHeaderV13(builtByFactory);
+    @Before
+    public void startUp() {
+        DeserializerRegistry registry = new DeserializerRegistryImpl();
+        registry.init();
+        barrierFactory = registry.getDeserializer(
+                new MessageCodeKey(EncodeConstants.OF13_VERSION_ID, 21, BarrierOutput.class));
     }
-    
+
     /**
      * Testing of {@link BarrierReplyMessageFactory} for correct translation into POJO
      */
     @Test
-    public void testV10() {
+    public void test() {
         ByteBuf bb = BufferHelper.buildBuffer();
-        BarrierOutput builtByFactory = BufferHelper.decodeV10(
-                BarrierReplyMessageFactory.getInstance(), bb);
+        BarrierOutput builtByFactory = BufferHelper.deserialize(
+                barrierFactory, bb);
 
-        BufferHelper.checkHeaderV10(builtByFactory);
+        BufferHelper.checkHeaderV13(builtByFactory);
     }
 }