Remove trailing whitespace
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / serialization / factories / RoleRequestInputMessageFactoryTest.java
index 9baa8553beac1988a38fc0cf2654cd05f07816c9..5f21f65bc671b6ffe26b99e90fd4fe527475bcbd 100644 (file)
@@ -13,12 +13,15 @@ import io.netty.buffer.UnpooledByteBufAllocator;
 
 import java.math.BigInteger;
 
-import junit.framework.Assert;
-
+import org.junit.Assert;
+import org.junit.Before;
 import org.junit.Test;
-import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.HelloMessageFactoryTest;
+import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
+import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
+import org.opendaylight.openflowjava.protocol.impl.serialization.SerializerRegistryImpl;
 import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;
-import org.opendaylight.openflowjava.protocol.impl.util.EncodeConstants;
+import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.ControllerRole;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.RoleRequestInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.RoleRequestInputBuilder;
@@ -31,27 +34,41 @@ public class RoleRequestInputMessageFactoryTest {
     private static final byte MESSAGE_TYPE = 24;
     private static final int MESSAGE_LENGTH = 24;
     private static final byte PADDING_IN_ROLE_REQUEST_MESSAGE = 4;
-    
+    private SerializerRegistry registry;
+    private OFSerializer<RoleRequestInput> roleFactory;
+
+    /**
+     * Initializes serializer registry and stores correct factory in field
+     */
+    @Before
+    public void startUp() {
+        registry = new SerializerRegistryImpl();
+        registry.init();
+        roleFactory = registry.getSerializer(
+                new MessageTypeKey<>(EncodeConstants.OF13_VERSION_ID, RoleRequestInput.class));
+    }
+
     /**
      * Testing of {@link RoleRequestInputMessageFactory} for correct translation from POJO
-     * @throws Exception 
+     * @throws Exception
      */
     @Test
     public void testRoleRequestInputMessage() throws Exception {
         RoleRequestInputBuilder builder = new RoleRequestInputBuilder();
         BufferHelper.setupHeader(builder, EncodeConstants.OF13_VERSION_ID);
         builder.setRole(ControllerRole.forValue(2));
-        byte[] generationId = new byte[]{0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
-        builder.setGenerationId(new BigInteger(generationId));
+        byte[] generationId = new byte[]{(byte) 0xFF, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
+        builder.setGenerationId(new BigInteger(1, generationId));
         RoleRequestInput message = builder.build();
-        
+
         ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();
-        RoleRequestInputMessageFactory factory = RoleRequestInputMessageFactory.getInstance();
-        factory.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, message);
-        
+        roleFactory.serialize(message, out);
+
         BufferHelper.checkHeaderV13(out, MESSAGE_TYPE, MESSAGE_LENGTH);
         Assert.assertEquals("Wrong role", message.getRole().getIntValue(), ControllerRole.forValue((int) out.readUnsignedInt()).getIntValue());
         out.skipBytes(PADDING_IN_ROLE_REQUEST_MESSAGE);
-        Assert.assertEquals("Wrong generation ID", message.getGenerationId().longValue(), out.readLong());
+        byte[] genId = new byte[EncodeConstants.SIZE_OF_LONG_IN_BYTES];
+        out.readBytes(genId);
+        Assert.assertEquals("Wrong generation ID", message.getGenerationId(), new BigInteger(1, genId));
     }
 }