GroupId and MeterId used in model (as requested)
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / deserialization / factories / QueueGetConfigReplyMessageFactoryTest.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 io.netty.buffer.ByteBuf;\r
5 \r
6 import java.util.ArrayList;\r
7 import java.util.List;\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.augments.rev131002.RateQueueProperty;\r
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.RateQueuePropertyBuilder;\r
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortNumber;\r
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.QueueId;\r
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.QueueProperties;\r
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetQueueConfigOutput;\r
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.get.config.reply.Queues;\r
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.get.config.reply.QueuesBuilder;\r
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.property.header.QueueProperty;\r
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.property.header.QueuePropertyBuilder;\r
22 \r
23 /**\r
24  * @author timotej.kubas\r
25  * @author michal.polkorab\r
26  */\r
27 public class QueueGetConfigReplyMessageFactoryTest {\r
28 \r
29     /**\r
30      * Testing {@link QueueGetConfigReplyMessageFactory} for correct translation into POJO\r
31      */\r
32     @Test\r
33     public void test(){\r
34         ByteBuf bb = BufferHelper.buildBuffer("00 00 00 03 00 00 00 00 00 00 00 01 00 00 00 03 00 20 00 00 00 00 00 00 00 02 00 10 00 00 00 00 00 05 00 00 00 00 00 00");\r
35         GetQueueConfigOutput builtByFactory = BufferHelper.decodeV13(QueueGetConfigReplyMessageFactory.getInstance(), bb);\r
36         BufferHelper.checkHeaderV13(builtByFactory);\r
37         Assert.assertEquals("Wrong port", 3L, builtByFactory.getPort().getValue().longValue());\r
38         Assert.assertEquals("Wrong queues", builtByFactory.getQueues(), createQueuesList());\r
39     }\r
40     \r
41     private static List<Queues> createQueuesList(){\r
42         List<Queues> queuesList = new ArrayList<>();\r
43         QueuesBuilder qb = new QueuesBuilder();\r
44         qb.setQueueId(new QueueId(1L));\r
45         qb.setPort(new PortNumber(3L));\r
46         qb.setQueueProperty(createPropertiesList());\r
47         queuesList.add(qb.build());\r
48         \r
49         return queuesList;\r
50     }\r
51     \r
52     private static List<QueueProperty> createPropertiesList(){\r
53         List<QueueProperty> propertiesList = new ArrayList<>();\r
54         QueuePropertyBuilder pb = new QueuePropertyBuilder();\r
55         pb.setProperty(QueueProperties.forValue(2));\r
56         RateQueuePropertyBuilder rateBuilder = new RateQueuePropertyBuilder();\r
57         rateBuilder.setRate(5);\r
58         pb.addAugmentation(RateQueueProperty.class, rateBuilder.build());\r
59         propertiesList.add(pb.build());\r
60         return propertiesList;\r
61     }\r
62 }\r