Added more serialization factories
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / serialization / factories / EchoInputMessageFactoryTest.java
diff --git a/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/EchoInputMessageFactoryTest.java b/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/EchoInputMessageFactoryTest.java
new file mode 100644 (file)
index 0000000..07ecc19
--- /dev/null
@@ -0,0 +1,42 @@
+/* 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
+\r
+import org.junit.Assert;\r
+import org.junit.Test;\r
+import org.opendaylight.openflowjava.protocol.impl.core.OFFrameDecoder;\r
+import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.HelloMessageFactoryTest;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoInput;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoInputBuilder;\r
+\r
+/**\r
+ * @author michal.polkorab\r
+ *\r
+ */\r
+public class EchoInputMessageFactoryTest {\r
+\r
+    private static final byte ECHO_REQUEST_MESSAGE_CODE_TYPE = 2;\r
+    \r
+    /**\r
+     * Testing of {@link EchoInputMessageFactory} for correct translation from POJO\r
+     */\r
+    @Test\r
+    public void test() {\r
+        EchoInputBuilder eib = new EchoInputBuilder();\r
+        eib.setVersion(HelloMessageFactoryTest.VERSION_YET_SUPPORTED);\r
+        eib.setXid(16909060L);\r
+        EchoInput ei = eib.build();\r
+        \r
+        ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
+        EchoInputMessageFactory eimf = EchoInputMessageFactory.getInstance();\r
+        eimf.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, ei);\r
+        \r
+        Assert.assertTrue(out.readByte() == HelloMessageFactoryTest.VERSION_YET_SUPPORTED);\r
+        Assert.assertTrue(out.readByte() == ECHO_REQUEST_MESSAGE_CODE_TYPE);\r
+        Assert.assertTrue(out.readUnsignedShort() == OFFrameDecoder.LENGTH_OF_HEADER);\r
+        Assert.assertTrue(out.readUnsignedInt() == 16909060L);\r
+    }\r
+\r
+}\r