new serialization factories and tests
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / deserialization / factories / GetAsyncReplyMessageFactoryTest.java
1 /* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */\r
2 package org.opendaylight.openflowjava.protocol.impl.deserialization.factories;\r
3 \r
4 import java.util.ArrayList;\r
5 import java.util.List;\r
6 \r
7 import io.netty.buffer.ByteBuf;\r
8 \r
9 import org.junit.Assert;\r
10 import org.junit.Test;\r
11 import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;\r
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.FlowRemovedReason;\r
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PacketInReason;\r
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortReason;\r
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetAsyncOutput;\r
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.FlowRemovedMask;\r
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.FlowRemovedMaskBuilder;\r
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.PacketInMask;\r
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.PacketInMaskBuilder;\r
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.PortStatusMask;\r
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.PortStatusMaskBuilder;\r
22 \r
23 /**\r
24  * @author timotej.kubas\r
25  *\r
26  */\r
27 public class GetAsyncReplyMessageFactoryTest {\r
28 \r
29     /**\r
30      * Testing {@link GetAsyncReplyMessageFactory} for correct translation into POJO\r
31      */\r
32     @Test\r
33     public void testGetAsyncReplyMessage() {\r
34         ByteBuf bb = BufferHelper.buildBuffer("00 00 00 02 "+ \r
35                                               "00 00 00 02 "+\r
36                                               "00 00 00 02 "+\r
37                                               "00 00 00 02 "+\r
38                                               "00 00 00 04 "+\r
39                                               "00 00 00 04");\r
40         GetAsyncOutput builtByFactory = BufferHelper.decodeV13(GetAsyncReplyMessageFactory.getInstance(), bb);\r
41 \r
42         BufferHelper.checkHeaderV13(builtByFactory);\r
43         Assert.assertEquals("Wrong packetInMask",createPacketInMask().get(0).getMask(), \r
44                                                  builtByFactory.getPacketInMask().get(0).getMask());\r
45         Assert.assertEquals("Wrong portStatusMask",createPortStatusMask().get(0).getMask(), \r
46                                                    builtByFactory.getPortStatusMask().get(0).getMask());\r
47         Assert.assertEquals("Wrong flowRemovedMask",createFlowRemovedMask().get(0).getMask(), \r
48                                                     builtByFactory.getFlowRemovedMask().get(0).getMask());\r
49     }\r
50     \r
51     private static List<PacketInMask> createPacketInMask() {\r
52         List<PacketInReason> readPIRList = new ArrayList<PacketInReason>();\r
53         List<PacketInMask> inMasks = new ArrayList<PacketInMask>();\r
54         PacketInMaskBuilder maskBuilder = new PacketInMaskBuilder();\r
55         \r
56         readPIRList.add(PacketInReason.forValue(1));\r
57         readPIRList.add(PacketInReason.forValue(1));\r
58         inMasks.add(maskBuilder.setMask(readPIRList).build());\r
59         return inMasks;\r
60     }\r
61     \r
62     private static List<PortStatusMask> createPortStatusMask() {\r
63         List<PortReason> readPortReasonList = new ArrayList<PortReason>();\r
64         List<PortStatusMask> inMasks = new ArrayList<PortStatusMask>();\r
65         PortStatusMaskBuilder maskBuilder = new PortStatusMaskBuilder();\r
66         \r
67         readPortReasonList.add(PortReason.forValue(1));\r
68         readPortReasonList.add(PortReason.forValue(1));\r
69         inMasks.add(maskBuilder.setMask(readPortReasonList).build()); \r
70         return inMasks;\r
71     }\r
72     \r
73     private static List<FlowRemovedMask> createFlowRemovedMask() {\r
74         List<FlowRemovedReason> readFlowRemovedReasonList = new ArrayList<FlowRemovedReason>();\r
75         List<FlowRemovedMask> inMasks = new ArrayList<FlowRemovedMask>();\r
76         FlowRemovedMaskBuilder maskBuilder = new FlowRemovedMaskBuilder();\r
77         \r
78         readFlowRemovedReasonList.add(FlowRemovedReason.forValue(2));\r
79         readFlowRemovedReasonList.add(FlowRemovedReason.forValue(2));\r
80         inMasks.add(maskBuilder.setMask(readFlowRemovedReasonList).build()); \r
81         return inMasks;\r
82     }\r
83 }\r