192e5827d18e79ed67b625d39d2bda3a71d725b4
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / serialization / factories / SetConfigMessageFactoryTest.java
1 /* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */\r
2 package org.opendaylight.openflowjava.protocol.impl.serialization.factories;\r
3 \r
4 import java.util.ArrayList;\r
5 \r
6 import io.netty.buffer.ByteBuf;\r
7 import io.netty.buffer.UnpooledByteBufAllocator;\r
8 \r
9 import org.junit.Assert;\r
10 import org.junit.Test;\r
11 import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.HelloMessageFactoryTest;\r
12 import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;\r
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.SwitchConfigFlag;\r
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInput;\r
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInputBuilder;\r
16 \r
17 import com.google.common.collect.Lists;\r
18 \r
19 /**\r
20  * @author timotej.kubas\r
21  * @author michal.polkorab\r
22  */\r
23 public class SetConfigMessageFactoryTest {\r
24     private static final byte MESSAGE_TYPE = 9;\r
25     private static final int MESSAGE_LENGTH = 12;\r
26     \r
27     /**\r
28      * Testing of {@link SetConfigMessageFactory} for correct translation from POJO\r
29      * @throws Exception \r
30      */\r
31     @Test\r
32     public void testSetConfigMessage() throws Exception {\r
33         SetConfigInputBuilder builder = new SetConfigInputBuilder();\r
34         BufferHelper.setupHeader(builder);\r
35         ArrayList<SwitchConfigFlag> switchList = Lists.newArrayList(SwitchConfigFlag.forValue(0));\r
36         builder.setFlags(switchList);\r
37         builder.setMissSendLen(10);\r
38         SetConfigInput message = builder.build();\r
39         \r
40         ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
41         SetConfigMessageFactory factory = SetConfigMessageFactory.getInstance();\r
42         factory.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, message);\r
43         \r
44         BufferHelper.checkHeaderV13(out, MESSAGE_TYPE, MESSAGE_LENGTH);\r
45         Assert.assertArrayEquals("Wrong flags", message.getFlags().toArray(), switchList.toArray());\r
46         Assert.assertTrue("Wrong missSendLen", message.getMissSendLen() == out.readShort());\r
47     }\r
48 }\r