Remove trailing whitespace
[openflowjava.git] / openflow-protocol-impl / src / test / java / org / opendaylight / openflowjava / protocol / impl / serialization / factories / MeterModInputMessageFactoryTest.java
index 11068f3f802aa1063796b39e7e811f6be7b01852..4884643bf29a506af9e685bbbf8aa804c8508a35 100644 (file)
@@ -14,8 +14,7 @@ import io.netty.buffer.UnpooledByteBufAllocator;
 import java.util.ArrayList;
 import java.util.List;
 
-import junit.framework.Assert;
-
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.openflowjava.protocol.api.extensibility.MessageTypeKey;
@@ -32,10 +31,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MeterModInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDropCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemarkCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.drop._case.MeterBandDropBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.dscp.remark._case.MeterBandDscpRemarkBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.experimenter._case.MeterBandExperimenterBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.mod.Bands;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.mod.BandsBuilder;
 
@@ -60,7 +57,7 @@ public class MeterModInputMessageFactoryTest {
     }
 
     /**
-     * @throws Exception 
+     * @throws Exception
      * Testing of {@link MeterModInputMessageFactory} for correct translation from POJO
      */
     @Test
@@ -72,25 +69,25 @@ public class MeterModInputMessageFactoryTest {
         builder.setMeterId(new MeterId(2248L));
         builder.setBands(createBandsList());
         MeterModInput message = builder.build();
-        
+
         ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();
         meterModFactory.serialize(message, out);
-        
-        BufferHelper.checkHeaderV13(out, (byte) 29, 64);
+
+        BufferHelper.checkHeaderV13(out, (byte) 29, 48);
         Assert.assertEquals("Wrong meterModCommand", message.getCommand().getIntValue(), out.readUnsignedShort());
         Assert.assertEquals("Wrong meterFlags", message.getFlags(), decodeMeterModFlags(out.readShort()));
         Assert.assertEquals("Wrong meterId", message.getMeterId().getValue().intValue(), out.readUnsignedInt());
         Assert.assertEquals("Wrong bands", message.getBands(), decodeBandsList(out));
     }
-    
+
     private static MeterFlags decodeMeterModFlags(short input){
         final Boolean _oFPMFKBPS = (input & (1 << 0)) > 0;
         final Boolean _oFPMFPKTPS = (input & (1 << 1)) > 0;
-        final Boolean _oFPMFBURST = (input & (1 << 2)) > 0; 
+        final Boolean _oFPMFBURST = (input & (1 << 2)) > 0;
         final Boolean _oFPMFSTATS = (input & (1 << 3)) > 0;
         return new MeterFlags(_oFPMFBURST, _oFPMFKBPS, _oFPMFPKTPS, _oFPMFSTATS);
     }
-    
+
     private static List<Bands> createBandsList(){
         List<Bands> bandsList = new ArrayList<>();
         BandsBuilder bandsBuilder = new BandsBuilder();
@@ -109,17 +106,9 @@ public class MeterModInputMessageFactoryTest {
         dscpRemarkBand.setPrecLevel((short) 3);
         dscpCaseBuilder.setMeterBandDscpRemark(dscpRemarkBand.build());
         bandsList.add(bandsBuilder.setMeterBand(dscpCaseBuilder.build()).build());
-        MeterBandExperimenterCaseBuilder expCaseBuilder = new MeterBandExperimenterCaseBuilder();
-        MeterBandExperimenterBuilder experimenterBand = new MeterBandExperimenterBuilder();
-        experimenterBand.setType(MeterBandType.OFPMBTEXPERIMENTER);
-        experimenterBand.setRate(1L);
-        experimenterBand.setBurstSize(2L);
-        experimenterBand.setExperimenter(4L);
-        expCaseBuilder.setMeterBandExperimenter(experimenterBand.build());
-        bandsList.add(bandsBuilder.setMeterBand(expCaseBuilder.build()).build());
         return bandsList;
     }
-    
+
     private static List<Bands> decodeBandsList(ByteBuf input){
         List<Bands> bandsList = new ArrayList<>();
         BandsBuilder bandsBuilder = new BandsBuilder();
@@ -142,16 +131,30 @@ public class MeterModInputMessageFactoryTest {
         input.skipBytes(3);
         dscpCaseBuilder.setMeterBandDscpRemark(dscpRemarkBand.build());
         bandsList.add(bandsBuilder.setMeterBand(dscpCaseBuilder.build()).build());
-        MeterBandExperimenterCaseBuilder expCaseBuilder = new MeterBandExperimenterCaseBuilder();
-        MeterBandExperimenterBuilder experimenterBand = new MeterBandExperimenterBuilder();
-        experimenterBand.setType(MeterBandType.forValue(input.readUnsignedShort()));
-        input.skipBytes(Short.SIZE/Byte.SIZE);
-        experimenterBand.setRate(input.readUnsignedInt());
-        experimenterBand.setBurstSize(input.readUnsignedInt());
-        experimenterBand.setExperimenter(input.readUnsignedInt());
-        expCaseBuilder.setMeterBandExperimenter(experimenterBand.build());
-        bandsList.add(bandsBuilder.setMeterBand(expCaseBuilder.build()).build());
         return bandsList;
     }
-    
-}
+
+    /**
+     * @throws Exception
+     * Testing of {@link MeterModInputMessageFactory} for correct translation from POJO
+     */
+    @Test
+    public void testMeterModInputMessageWithNoBands() throws Exception {
+        MeterModInputBuilder builder = new MeterModInputBuilder();
+        BufferHelper.setupHeader(builder, EncodeConstants.OF13_VERSION_ID);
+        builder.setCommand(MeterModCommand.forValue(1));
+        builder.setFlags(new MeterFlags(false, true, true, false));
+        builder.setMeterId(new MeterId(2248L));
+        builder.setBands(null);
+        MeterModInput message = builder.build();
+
+        ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();
+        meterModFactory.serialize(message, out);
+
+        BufferHelper.checkHeaderV13(out, (byte) 29, 16);
+        Assert.assertEquals("Wrong meterModCommand", message.getCommand().getIntValue(), out.readUnsignedShort());
+        Assert.assertEquals("Wrong meterFlags", message.getFlags(), decodeMeterModFlags(out.readShort()));
+        Assert.assertEquals("Wrong meterId", message.getMeterId().getValue().intValue(), out.readUnsignedInt());
+        Assert.assertTrue("Unexpected data", out.readableBytes() == 0);
+    }
+}
\ No newline at end of file