added new serialization factories and their tests
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / serialization / factories / SetConfigMessageFactoryTest.java
diff --git a/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/SetConfigMessageFactoryTest.java b/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/SetConfigMessageFactoryTest.java
new file mode 100644 (file)
index 0000000..d501371
--- /dev/null
@@ -0,0 +1,43 @@
+/* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */\r
+package org.opendaylight.openflowjava.protocol.impl.serialization.factories;\r
+\r
+import io.netty.buffer.ByteBuf;\r
+import io.netty.buffer.UnpooledByteBufAllocator;\r
+import junit.framework.Assert;\r
+\r
+import org.junit.Test;\r
+import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.HelloMessageFactoryTest;\r
+import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.SwitchConfigFlag;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInput;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInputBuilder;\r
+\r
+/**\r
+ * @author timotej.kubas\r
+ * @author michal.polkorab\r
+ */\r
+public class SetConfigMessageFactoryTest {\r
+    private static final byte MESSAGE_TYPE = 9;\r
+    private static final int MESSAGE_LENGTH = 12;\r
+    \r
+    /**\r
+     * Testing of {@link SetConfigMessageFactory} for correct translation from POJO\r
+     * @throws Exception \r
+     */\r
+    @Test\r
+    public void testSetConfigMessage() throws Exception {\r
+        SetConfigInputBuilder builder = new SetConfigInputBuilder();\r
+        BufferHelper.setupHeader(builder);\r
+        builder.setFlags(SwitchConfigFlag.forValue(0));\r
+        builder.setMissSendLen(10);\r
+        SetConfigInput message = builder.build();\r
+        \r
+        ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
+        SetConfigMessageFactory factory = SetConfigMessageFactory.getInstance();\r
+        factory.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, message);\r
+        \r
+        BufferHelper.checkHeaderV13(out, MESSAGE_TYPE, MESSAGE_LENGTH);\r
+        Assert.assertEquals("Wrong flags", message.getFlags().getIntValue(),SwitchConfigFlag.forValue(out.readUnsignedShort()).getIntValue());\r
+        Assert.assertTrue("Wrong missSendLen", message.getMissSendLen() == out.readShort());\r
+    }\r
+}\r