d625aa38e1a902b54c5ce22159caa041c992d366
[openflowplugin.git] / openflowplugin / src / test / java / org / opendaylight / openflowplugin / openflow / md / core / translator / MultipartReplyTranslatorFifthTest.java
1 /*\r
2  * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 \r
9 package org.opendaylight.openflowplugin.openflow.md.core.translator;\r
10 \r
11 import static org.mockito.Mockito.when;\r
12 \r
13 import java.math.BigInteger;\r
14 import java.util.ArrayList;\r
15 import java.util.List;\r
16 import org.junit.Assert;\r
17 import org.junit.Before;\r
18 import org.junit.Test;\r
19 import org.mockito.Mock;\r
20 import org.mockito.MockitoAnnotations;\r
21 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;\r
22 import org.opendaylight.openflowplugin.api.openflow.md.core.ConnectionConductor;\r
23 import org.opendaylight.openflowplugin.api.openflow.md.core.SwitchConnectionDistinguisher;\r
24 import org.opendaylight.openflowplugin.api.openflow.md.core.session.SessionContext;\r
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.MeterConfigStatsUpdated;\r
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.MeterStatisticsUpdated;\r
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.config.stats.reply.MeterConfigStats;\r
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeader;\r
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterBandType;\r
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterFlags;\r
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterId;\r
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartRequestFlags;\r
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType;\r
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutput;\r
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReplyMessage;\r
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReplyMessageBuilder;\r
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader;\r
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDropCaseBuilder;\r
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemarkCaseBuilder;\r
40 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.drop._case.MeterBandDropBuilder;\r
41 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.dscp.remark._case.MeterBandDscpRemarkBuilder;\r
42 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterCaseBuilder;\r
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterConfigCaseBuilder;\r
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter._case.MultipartReplyMeterBuilder;\r
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter._case.multipart.reply.meter.MeterStats;\r
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter._case.multipart.reply.meter.MeterStatsBuilder;\r
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter._case.multipart.reply.meter.meter.stats.MeterBandStats;\r
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter._case.multipart.reply.meter.meter.stats.MeterBandStatsBuilder;\r
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config._case.MultipartReplyMeterConfigBuilder;\r
50 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config._case.multipart.reply.meter.config.MeterConfig;\r
51 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config._case.multipart.reply.meter.config.MeterConfigBuilder;\r
52 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config._case.multipart.reply.meter.config.meter.config.Bands;\r
53 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config._case.multipart.reply.meter.config.meter.config.BandsBuilder;\r
54 import org.opendaylight.yangtools.yang.binding.DataObject;\r
55 \r
56 /**\r
57  * @author michal.polkorab\r
58  */\r
59 public class MultipartReplyTranslatorFifthTest {\r
60 \r
61     @Mock\r
62     SwitchConnectionDistinguisher cookie;\r
63     @Mock\r
64     SessionContext sc;\r
65     @Mock\r
66     ConnectionConductor conductor;\r
67     @Mock\r
68     GetFeaturesOutput features;\r
69 \r
70     MultipartReplyTranslator translator = new MultipartReplyTranslator();\r
71 \r
72     /**\r
73      * Initializes mocks\r
74      */\r
75     @Before\r
76     public void startUp() {\r
77         MockitoAnnotations.initMocks(this);\r
78         when(sc.getPrimaryConductor()).thenReturn(conductor);\r
79         when(conductor.getVersion()).thenReturn((short) EncodeConstants.OF13_VERSION_ID);\r
80         when(sc.getFeatures()).thenReturn(features);\r
81         when(features.getDatapathId()).thenReturn(new BigInteger("42"));\r
82     }\r
83 \r
84     /**\r
85      * Test {@link MultipartReplyTranslator#translate(SwitchConnectionDistinguisher, SessionContext, OfHeader)}\r
86      * with empty meter stats\r
87      */\r
88     @Test\r
89     public void testEmptyMeterStats() {\r
90         MultipartReplyMessageBuilder mpBuilder = new MultipartReplyMessageBuilder();\r
91         mpBuilder.setVersion((short) EncodeConstants.OF13_VERSION_ID);\r
92         mpBuilder.setXid(123L);\r
93         mpBuilder.setFlags(new MultipartRequestFlags(false));\r
94         mpBuilder.setType(MultipartType.OFPMPMETER);\r
95 \r
96         MultipartReplyMeterCaseBuilder caseBuilder = new MultipartReplyMeterCaseBuilder();\r
97         MultipartReplyMeterBuilder meterBuilder = new MultipartReplyMeterBuilder();\r
98         List<MeterStats> meterStats = new ArrayList<>();\r
99         meterBuilder.setMeterStats(meterStats);\r
100         caseBuilder.setMultipartReplyMeter(meterBuilder.build());\r
101         mpBuilder.setMultipartReplyBody(caseBuilder.build());\r
102         MultipartReplyMessage message = mpBuilder.build();\r
103 \r
104         List<DataObject> list = translator.translate(cookie, sc, message);\r
105 \r
106         Assert.assertEquals("Wrong list size", 1, list.size());\r
107         MeterStatisticsUpdated statUpdate = (MeterStatisticsUpdated) list.get(0);\r
108         Assert.assertEquals("Wrong node-id", "openflow:42", statUpdate.getId().getValue());\r
109         Assert.assertEquals("Wrong more-replies", false, statUpdate.isMoreReplies());\r
110         Assert.assertEquals("Wrong transaction-id", 123, statUpdate.getTransactionId().getValue().intValue());\r
111         Assert.assertEquals("Wrong meter stats size", 0, statUpdate.getMeterStats().size());\r
112     }\r
113 \r
114     /**\r
115      * Test {@link MultipartReplyTranslator#translate(SwitchConnectionDistinguisher, SessionContext, OfHeader)}\r
116      * with meter stats\r
117      */\r
118     @Test\r
119     public void testMeterStats() {\r
120         MultipartReplyMessageBuilder mpBuilder = new MultipartReplyMessageBuilder();\r
121         mpBuilder.setVersion((short) EncodeConstants.OF13_VERSION_ID);\r
122         mpBuilder.setXid(123L);\r
123         mpBuilder.setFlags(new MultipartRequestFlags(false));\r
124         mpBuilder.setType(MultipartType.OFPMPMETER);\r
125 \r
126         MultipartReplyMeterCaseBuilder caseBuilder = new MultipartReplyMeterCaseBuilder();\r
127         MultipartReplyMeterBuilder meterBuilder = new MultipartReplyMeterBuilder();\r
128         List<MeterStats> meterStats = new ArrayList<>();\r
129         MeterStatsBuilder builder = new MeterStatsBuilder();\r
130         builder.setMeterId(new MeterId(15L));\r
131         builder.setFlowCount(16L);\r
132         builder.setPacketInCount(new BigInteger("17"));\r
133         builder.setByteInCount(new BigInteger("18"));\r
134         builder.setDurationSec(19L);\r
135         builder.setDurationNsec(20L);\r
136         List<MeterBandStats> meterBands = new ArrayList<>();\r
137         MeterBandStatsBuilder meterStatsBuilder = new MeterBandStatsBuilder();\r
138         meterStatsBuilder.setPacketBandCount(new BigInteger("21"));\r
139         meterStatsBuilder.setByteBandCount(new BigInteger("22"));\r
140         meterBands.add(meterStatsBuilder.build());\r
141         meterStatsBuilder = new MeterBandStatsBuilder();\r
142         meterStatsBuilder.setPacketBandCount(new BigInteger("23"));\r
143         meterStatsBuilder.setByteBandCount(new BigInteger("24"));\r
144         meterBands.add(meterStatsBuilder.build());\r
145         builder.setMeterBandStats(meterBands);\r
146         meterStats.add(builder.build());\r
147         builder = new MeterStatsBuilder();\r
148         builder.setMeterId(new MeterId(150L));\r
149         builder.setFlowCount(160L);\r
150         builder.setPacketInCount(new BigInteger("170"));\r
151         builder.setByteInCount(new BigInteger("180"));\r
152         builder.setDurationSec(190L);\r
153         builder.setDurationNsec(200L);\r
154         meterBands = new ArrayList<>();\r
155         builder.setMeterBandStats(meterBands);\r
156         meterStats.add(builder.build());\r
157         meterBuilder.setMeterStats(meterStats);\r
158         caseBuilder.setMultipartReplyMeter(meterBuilder.build());\r
159         mpBuilder.setMultipartReplyBody(caseBuilder.build());\r
160         MultipartReplyMessage message = mpBuilder.build();\r
161 \r
162         List<DataObject> list = translator.translate(cookie, sc, message);\r
163 \r
164         Assert.assertEquals("Wrong list size", 1, list.size());\r
165         MeterStatisticsUpdated statUpdate = (MeterStatisticsUpdated) list.get(0);\r
166         Assert.assertEquals("Wrong node-id", "openflow:42", statUpdate.getId().getValue());\r
167         Assert.assertEquals("Wrong more-replies", false, statUpdate.isMoreReplies());\r
168         Assert.assertEquals("Wrong transaction-id", 123, statUpdate.getTransactionId().getValue().intValue());\r
169         Assert.assertEquals("Wrong group stats size", 2, statUpdate.getMeterStats().size());\r
170         org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.statistics.reply\r
171                 .MeterStats stat = statUpdate.getMeterStats().get(0);\r
172         Assert.assertEquals("Wrong meter-id", 15, stat.getMeterId().getValue().intValue());\r
173         Assert.assertEquals("Wrong flow count", 16, stat.getFlowCount().getValue().intValue());\r
174         Assert.assertEquals("Wrong packet in count", 17, stat.getPacketInCount().getValue().intValue());\r
175         Assert.assertEquals("Wrong byte in count", 18, stat.getByteInCount().getValue().intValue());\r
176         Assert.assertEquals("Wrong duration sec", 19, stat.getDuration().getSecond().getValue().intValue());\r
177         Assert.assertEquals("Wrong duration n sec", 20, stat.getDuration().getNanosecond().getValue().intValue());\r
178         Assert.assertEquals("Wrong meter band stats size", 2, stat.getMeterBandStats().getBandStat().size());\r
179         Assert.assertEquals("Wrong band id", 0, stat.getMeterBandStats().getBandStat().get(0)\r
180                 .getBandId().getValue().intValue());\r
181         Assert.assertEquals("Wrong packet band count", 21, stat.getMeterBandStats().getBandStat().get(0)\r
182                 .getPacketBandCount().getValue().intValue());\r
183         Assert.assertEquals("Wrong byte band count", 22, stat.getMeterBandStats().getBandStat().get(0)\r
184                 .getByteBandCount().getValue().intValue());\r
185         Assert.assertEquals("Wrong band id", 1, stat.getMeterBandStats().getBandStat().get(1)\r
186                 .getBandId().getValue().intValue());\r
187         Assert.assertEquals("Wrong packet band count", 23, stat.getMeterBandStats().getBandStat().get(1)\r
188                 .getPacketBandCount().getValue().intValue());\r
189         Assert.assertEquals("Wrong byte band count", 24, stat.getMeterBandStats().getBandStat().get(1)\r
190                 .getByteBandCount().getValue().intValue());\r
191         stat = statUpdate.getMeterStats().get(1);\r
192         Assert.assertEquals("Wrong meter-id", 150, stat.getMeterId().getValue().intValue());\r
193         Assert.assertEquals("Wrong flow count", 160, stat.getFlowCount().getValue().intValue());\r
194         Assert.assertEquals("Wrong packet in count", 170, stat.getPacketInCount().getValue().intValue());\r
195         Assert.assertEquals("Wrong byte in count", 180, stat.getByteInCount().getValue().intValue());\r
196         Assert.assertEquals("Wrong duration sec", 190, stat.getDuration().getSecond().getValue().intValue());\r
197         Assert.assertEquals("Wrong duration n sec", 200, stat.getDuration().getNanosecond().getValue().intValue());\r
198         Assert.assertEquals("Wrong meter band stats size", 0, stat.getMeterBandStats().getBandStat().size());\r
199     }\r
200 \r
201     /**\r
202      * Test {@link MultipartReplyTranslator#translate(SwitchConnectionDistinguisher, SessionContext, OfHeader)}\r
203      * with empty meter config stats\r
204      */\r
205     @Test\r
206     public void testEmptyMeterConfigStats() {\r
207         MultipartReplyMessageBuilder mpBuilder = new MultipartReplyMessageBuilder();\r
208         mpBuilder.setVersion((short) EncodeConstants.OF13_VERSION_ID);\r
209         mpBuilder.setXid(123L);\r
210         mpBuilder.setFlags(new MultipartRequestFlags(false));\r
211         mpBuilder.setType(MultipartType.OFPMPMETERCONFIG);\r
212 \r
213         MultipartReplyMeterConfigCaseBuilder caseBuilder = new MultipartReplyMeterConfigCaseBuilder();\r
214         MultipartReplyMeterConfigBuilder meterBuilder = new MultipartReplyMeterConfigBuilder();\r
215         List<MeterConfig> meterStats = new ArrayList<>();\r
216         meterBuilder.setMeterConfig(meterStats);\r
217         caseBuilder.setMultipartReplyMeterConfig(meterBuilder.build());\r
218         mpBuilder.setMultipartReplyBody(caseBuilder.build());\r
219         MultipartReplyMessage message = mpBuilder.build();\r
220 \r
221         List<DataObject> list = translator.translate(cookie, sc, message);\r
222 \r
223         Assert.assertEquals("Wrong list size", 1, list.size());\r
224         MeterConfigStatsUpdated statUpdate = (MeterConfigStatsUpdated) list.get(0);\r
225         Assert.assertEquals("Wrong node-id", "openflow:42", statUpdate.getId().getValue());\r
226         Assert.assertEquals("Wrong more-replies", false, statUpdate.isMoreReplies());\r
227         Assert.assertEquals("Wrong transaction-id", 123, statUpdate.getTransactionId().getValue().intValue());\r
228         Assert.assertEquals("Wrong meter config stats size", 0, statUpdate.getMeterConfigStats().size());\r
229     }\r
230 \r
231     /**\r
232      * Test {@link MultipartReplyTranslator#translate(SwitchConnectionDistinguisher, SessionContext, OfHeader)}\r
233      * with meter config stats\r
234      */\r
235     @Test\r
236     public void testMeterConfigStats() {\r
237         MultipartReplyMessageBuilder mpBuilder = new MultipartReplyMessageBuilder();\r
238         mpBuilder.setVersion((short) EncodeConstants.OF13_VERSION_ID);\r
239         mpBuilder.setXid(123L);\r
240         mpBuilder.setFlags(new MultipartRequestFlags(false));\r
241         mpBuilder.setType(MultipartType.OFPMPMETERCONFIG);\r
242 \r
243         MultipartReplyMeterConfigCaseBuilder caseBuilder = new MultipartReplyMeterConfigCaseBuilder();\r
244         MultipartReplyMeterConfigBuilder meterBuilder = new MultipartReplyMeterConfigBuilder();\r
245         List<MeterConfig> meterStats = new ArrayList<>();\r
246         MeterConfigBuilder builder = new MeterConfigBuilder();\r
247         builder.setFlags(new MeterFlags(false, true, false, true));\r
248         builder.setMeterId(new MeterId(20L));\r
249         List<Bands> bands = new ArrayList<>();\r
250         BandsBuilder bandBuilder = new BandsBuilder();\r
251         MeterBandDropCaseBuilder dropCaseBuilder = new MeterBandDropCaseBuilder();\r
252         MeterBandDropBuilder dropBuilder = new MeterBandDropBuilder();\r
253         dropBuilder.setType(MeterBandType.OFPMBTDROP);\r
254         dropBuilder.setRate(21L);\r
255         dropBuilder.setBurstSize(22L);\r
256         dropCaseBuilder.setMeterBandDrop(dropBuilder.build());\r
257         bandBuilder.setMeterBand(dropCaseBuilder.build());\r
258         bands.add(bandBuilder.build());\r
259         bandBuilder = new BandsBuilder();\r
260         MeterBandDscpRemarkCaseBuilder dscpCaseBuilder = new MeterBandDscpRemarkCaseBuilder();\r
261         MeterBandDscpRemarkBuilder dscpBuilder = new MeterBandDscpRemarkBuilder();\r
262         dscpBuilder.setType(MeterBandType.OFPMBTDSCPREMARK);\r
263         dscpBuilder.setRate(23L);\r
264         dscpBuilder.setBurstSize(24L);\r
265         dscpBuilder.setPrecLevel((short) 25);\r
266         dscpCaseBuilder.setMeterBandDscpRemark(dscpBuilder.build());\r
267         bandBuilder.setMeterBand(dscpCaseBuilder.build());\r
268         bands.add(bandBuilder.build());\r
269         builder.setBands(bands);\r
270         meterStats.add(builder.build());\r
271         builder = new MeterConfigBuilder();\r
272         builder.setFlags(new MeterFlags(true, false, true, false));\r
273         builder.setMeterId(new MeterId(26L));\r
274         bands = new ArrayList<>();\r
275         builder.setBands(bands);\r
276         meterStats.add(builder.build());\r
277         meterBuilder.setMeterConfig(meterStats);\r
278         caseBuilder.setMultipartReplyMeterConfig(meterBuilder.build());\r
279         mpBuilder.setMultipartReplyBody(caseBuilder.build());\r
280         MultipartReplyMessage message = mpBuilder.build();\r
281 \r
282         List<DataObject> list = translator.translate(cookie, sc, message);\r
283 \r
284         Assert.assertEquals("Wrong list size", 1, list.size());\r
285         MeterConfigStatsUpdated statUpdate = (MeterConfigStatsUpdated) list.get(0);\r
286         Assert.assertEquals("Wrong node-id", "openflow:42", statUpdate.getId().getValue());\r
287         Assert.assertEquals("Wrong more-replies", false, statUpdate.isMoreReplies());\r
288         Assert.assertEquals("Wrong transaction-id", 123, statUpdate.getTransactionId().getValue().intValue());\r
289         Assert.assertEquals("Wrong meter config stats size", 2, statUpdate.getMeterConfigStats().size());\r
290         MeterConfigStats stat = statUpdate.getMeterConfigStats().get(0);\r
291         Assert.assertEquals("Wrong flag", false, stat.getFlags().isMeterBurst());\r
292         Assert.assertEquals("Wrong flag", false, stat.getFlags().isMeterPktps());\r
293         Assert.assertEquals("Wrong flag", true, stat.getFlags().isMeterKbps());\r
294         Assert.assertEquals("Wrong flag", true, stat.getFlags().isMeterStats());\r
295         Assert.assertEquals("Wrong meter-id", 20, stat.getMeterId().getValue().intValue());\r
296         Assert.assertEquals("Wrong bands size", 2, stat.getMeterBandHeaders().getMeterBandHeader().size());\r
297         MeterBandHeader header = stat.getMeterBandHeaders().getMeterBandHeader().get(0);\r
298         Assert.assertEquals("Wrong band type", "org.opendaylight.yang.gen.v1.urn.opendaylight.meter"\r
299                 + ".types.rev130918.band.type.band.type.Drop", header.getBandType().getImplementedInterface().getName());\r
300         Assert.assertEquals("Wrong band rate", 21, header.getBandRate().intValue());\r
301         Assert.assertEquals("Wrong band burst size", 22, header.getBandBurstSize().intValue());\r
302         Assert.assertEquals("Wrong flag", true, header.getMeterBandTypes().getFlags().isOfpmbtDrop());\r
303         Assert.assertEquals("Wrong flag", false, header.getMeterBandTypes().getFlags().isOfpmbtDscpRemark());\r
304         Assert.assertEquals("Wrong flag", false, header.getMeterBandTypes().getFlags().isOfpmbtExperimenter());\r
305         header = stat.getMeterBandHeaders().getMeterBandHeader().get(1);\r
306         Assert.assertEquals("Wrong band type", "org.opendaylight.yang.gen.v1.urn.opendaylight.meter"\r
307                 + ".types.rev130918.band.type.band.type.DscpRemark", header.getBandType().getImplementedInterface().getName());\r
308         Assert.assertEquals("Wrong band rate", 23, header.getBandRate().intValue());\r
309         Assert.assertEquals("Wrong band burst size", 24, header.getBandBurstSize().intValue());\r
310         Assert.assertEquals("Wrong flag", false, header.getMeterBandTypes().getFlags().isOfpmbtDrop());\r
311         Assert.assertEquals("Wrong flag", true, header.getMeterBandTypes().getFlags().isOfpmbtDscpRemark());\r
312         Assert.assertEquals("Wrong flag", false, header.getMeterBandTypes().getFlags().isOfpmbtExperimenter());\r
313         stat = statUpdate.getMeterConfigStats().get(1);\r
314         Assert.assertEquals("Wrong flag", true, stat.getFlags().isMeterBurst());\r
315         Assert.assertEquals("Wrong flag", true, stat.getFlags().isMeterPktps());\r
316         Assert.assertEquals("Wrong flag", false, stat.getFlags().isMeterKbps());\r
317         Assert.assertEquals("Wrong flag", false, stat.getFlags().isMeterStats());\r
318         Assert.assertEquals("Wrong meter-id", 26, stat.getMeterId().getValue().intValue());\r
319         Assert.assertEquals("Wrong bands size", 0, stat.getMeterBandHeaders().getMeterBandHeader().size());\r
320     }\r
321 }