/* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */\r
package org.opendaylight.openflowjava.protocol.impl.serialization.factories;\r
\r
-import java.util.ArrayList;\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.deserialization.factories.HelloMessageFactoryTest;\r
import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;\r
+import org.opendaylight.openflowjava.protocol.impl.util.EncodeConstants;\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
-import com.google.common.collect.Lists;\r
-\r
/**\r
* @author timotej.kubas\r
* @author michal.polkorab\r
* @throws Exception \r
*/\r
@Test\r
- public void testSetConfigMessage() throws Exception {\r
+ public void testSetConfigMessageV13() throws Exception {\r
SetConfigInputBuilder builder = new SetConfigInputBuilder();\r
- BufferHelper.setupHeader(builder);\r
- ArrayList<SwitchConfigFlag> switchList = Lists.newArrayList(SwitchConfigFlag.forValue(0));\r
- builder.setFlags(switchList);\r
+ BufferHelper.setupHeader(builder, EncodeConstants.OF13_VERSION_ID);\r
+ SwitchConfigFlag flag = SwitchConfigFlag.FRAGNORMAL;\r
+ builder.setFlags(flag);\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
+ factory.messageToBuffer(EncodeConstants.OF10_VERSION_ID, out, message);\r
\r
BufferHelper.checkHeaderV13(out, MESSAGE_TYPE, MESSAGE_LENGTH);\r
- Assert.assertArrayEquals("Wrong flags", message.getFlags().toArray(), switchList.toArray());\r
- Assert.assertTrue("Wrong missSendLen", message.getMissSendLen() == out.readShort());\r
+ Assert.assertEquals("Wrong flags", SwitchConfigFlag.FRAGNORMAL.getIntValue(), out.readUnsignedShort());\r
+ Assert.assertEquals("Wrong missSendLen", 10, out.readUnsignedShort());\r
+ }\r
+ \r
+ /**\r
+ * Testing of {@link SetConfigMessageFactory} for correct translation from POJO\r
+ * @throws Exception \r
+ */\r
+ @Test\r
+ public void testSetConfigMessageV10() throws Exception {\r
+ SetConfigInputBuilder builder = new SetConfigInputBuilder();\r
+ BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID);\r
+ SwitchConfigFlag flag = SwitchConfigFlag.OFPCFRAGDROP;\r
+ builder.setFlags(flag);\r
+ builder.setMissSendLen(85);\r
+ SetConfigInput message = builder.build();\r
+ \r
+ ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
+ SetConfigMessageFactory factory = SetConfigMessageFactory.getInstance();\r
+ factory.messageToBuffer(EncodeConstants.OF10_VERSION_ID, out, message);\r
+ \r
+ BufferHelper.checkHeaderV10(out, MESSAGE_TYPE, MESSAGE_LENGTH);\r
+ Assert.assertEquals("Wrong flags", SwitchConfigFlag.OFPCFRAGDROP.getIntValue(), out.readUnsignedShort());\r
+ Assert.assertEquals("Wrong missSendLen", 85, out.readUnsignedShort());\r
}\r
}\r