Error code support for ErrorMessage
[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 io.netty.buffer.ByteBuf;\r
5 import io.netty.buffer.UnpooledByteBufAllocator;\r
6 \r
7 import org.junit.Assert;\r
8 import org.junit.Test;\r
9 import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;\r
10 import org.opendaylight.openflowjava.protocol.impl.util.EncodeConstants;\r
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.SwitchConfigFlag;\r
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInput;\r
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInputBuilder;\r
14 \r
15 /**\r
16  * @author timotej.kubas\r
17  * @author michal.polkorab\r
18  */\r
19 public class SetConfigMessageFactoryTest {\r
20     private static final byte MESSAGE_TYPE = 9;\r
21     private static final int MESSAGE_LENGTH = 12;\r
22     \r
23     /**\r
24      * Testing of {@link SetConfigMessageFactory} for correct translation from POJO\r
25      * @throws Exception \r
26      */\r
27     @Test\r
28     public void testSetConfigMessageV13() throws Exception {\r
29         SetConfigInputBuilder builder = new SetConfigInputBuilder();\r
30         BufferHelper.setupHeader(builder, EncodeConstants.OF13_VERSION_ID);\r
31         SwitchConfigFlag flag = SwitchConfigFlag.FRAGNORMAL;\r
32         builder.setFlags(flag);\r
33         builder.setMissSendLen(10);\r
34         SetConfigInput message = builder.build();\r
35         \r
36         ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
37         SetConfigMessageFactory factory = SetConfigMessageFactory.getInstance();\r
38         factory.messageToBuffer(EncodeConstants.OF10_VERSION_ID, out, message);\r
39         \r
40         BufferHelper.checkHeaderV13(out, MESSAGE_TYPE, MESSAGE_LENGTH);\r
41         Assert.assertEquals("Wrong flags", SwitchConfigFlag.FRAGNORMAL.getIntValue(), out.readUnsignedShort());\r
42         Assert.assertEquals("Wrong missSendLen", 10, out.readUnsignedShort());\r
43     }\r
44     \r
45     /**\r
46      * Testing of {@link SetConfigMessageFactory} for correct translation from POJO\r
47      * @throws Exception \r
48      */\r
49     @Test\r
50     public void testSetConfigMessageV10() throws Exception {\r
51         SetConfigInputBuilder builder = new SetConfigInputBuilder();\r
52         BufferHelper.setupHeader(builder, EncodeConstants.OF10_VERSION_ID);\r
53         SwitchConfigFlag flag = SwitchConfigFlag.OFPCFRAGDROP;\r
54         builder.setFlags(flag);\r
55         builder.setMissSendLen(85);\r
56         SetConfigInput message = builder.build();\r
57         \r
58         ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
59         SetConfigMessageFactory factory = SetConfigMessageFactory.getInstance();\r
60         factory.messageToBuffer(EncodeConstants.OF10_VERSION_ID, out, message);\r
61         \r
62         BufferHelper.checkHeaderV10(out, MESSAGE_TYPE, MESSAGE_LENGTH);\r
63         Assert.assertEquals("Wrong flags", SwitchConfigFlag.OFPCFRAGDROP.getIntValue(), out.readUnsignedShort());\r
64         Assert.assertEquals("Wrong missSendLen", 85, out.readUnsignedShort());\r
65     }\r
66 }\r