import java.util.ArrayList;
import java.util.List;
-
+import java.util.Optional;
import org.junit.Test;
+import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionConvertorData;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.AddMeterInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.AddMeterInputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.Meter;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterBandType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterFlags;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.Drop;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.mod.Bands;
public class MeterConvertorTest {
-
-
-
@Test
public void testMeterModCommandConvertorwithAllParameters() {
-
long BURST_SIZE = 10L;
long DROP_RATE = 20L;
// / DROP Band
AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
- // added to the
- // meter command.
+ // added to the
+ // meter command.
Long temp = 10L;
// NodeKey key = new NodeKey(new NodeId("24"));
addMeterFromSAL.setFlags(flagV);
AddMeterInput meterInputCommand = addMeterFromSAL.build();
- MeterModInputBuilder outMeterModInput = MeterConvertor.toMeterModInput(meterInputCommand, (short) 0X4);
+ MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
}
}
+
@Test
public void testMeterModCommandConvertorwithNoFlags() {
-
long BURST_SIZE = 10L;
long DROP_RATE = 20L;
// / DROP Band
AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
- // added to the
- // meter command.
+ // added to the
+ // meter command.
Long temp = 10L;
// NodeKey key = new NodeKey(new NodeId("24"));
AddMeterInput meterInputCommand = addMeterFromSAL.build();
- MeterModInputBuilder outMeterModInput = MeterConvertor.toMeterModInput(meterInputCommand, (short) 0X4);
+ MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
assertFalse(outMeterModInput.getFlags().isOFPMFBURST());
}
}
+
@Test
public void testMeterModCommandConvertorBandDataisNULL() {
-
-
AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
Long temp = 10L;
addMeterFromSAL.setFlags(flagV);
AddMeterInput meterInputCommand = addMeterFromSAL.build();
- MeterModInputBuilder outMeterModInput = MeterConvertor.toMeterModInput(meterInputCommand, (short) 0X4);
+ MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
assertEquals(temp, outMeterModInput.getMeterId().getValue());
- }
+ }
@Test
public void testMeterModCommandConvertorNoValidBandData() {
AddMeterInputBuilder addMeterFromSAL = new AddMeterInputBuilder();
addMeterFromSAL.setMeterBandHeaders(meterBandHeaders); // MeterBands
- // added to the
- // meter command.
+ // added to the
+ // meter command.
Long temp = 10L;
// NodeKey key = new NodeKey(new NodeId("24"));
addMeterFromSAL.setFlags(flagV);
AddMeterInput meterInputCommand = addMeterFromSAL.build();
- MeterModInputBuilder outMeterModInput = MeterConvertor.toMeterModInput(meterInputCommand, (short) 0X4);
+ MeterModInputBuilder outMeterModInput = convert(meterInputCommand, new VersionConvertorData((short) 0X4));
assertEquals(MeterModCommand.OFPMCADD, outMeterModInput.getCommand());
assertTrue(outMeterModInput.getFlags().isOFPMFBURST());
}
-}
+ private MeterModInputBuilder convert(Meter source, VersionConvertorData data) {
+ Optional<MeterModInputBuilder> outMeterModInputOptional = ConvertorManager.getInstance().convert(source, data);
+ return outMeterModInputOptional.orElse(MeterConvertor.defaultResult(data.getVersion()));
+ }
+}
\ No newline at end of file