import java.math.BigInteger;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
+import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;
+import org.opendaylight.openflowjava.protocol.api.extensibility.MessageCodeKey;
+import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;
+import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializerRegistryImpl;
import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;
-import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;
+import org.opendaylight.openflowjava.util.ByteBufUtils;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.EthertypeAction;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.GroupIdAction;
*/
public class MultipartReplyMessageFactoryTest {
+ private OFDeserializer<MultipartReplyMessage> multipartFactory;
+
+ /**
+ * Initializes deserializer registry and lookups correct deserializer
+ */
+ @Before
+ public void startUp() {
+ DeserializerRegistry registry = new DeserializerRegistryImpl();
+ registry.init();
+ multipartFactory = registry.getDeserializer(
+ new MessageCodeKey(EncodeConstants.OF13_VERSION_ID, 19, MultipartReplyMessage.class));
+ }
+
private static final Logger LOGGER = LoggerFactory
.getLogger(MultipartReplyMessageFactoryTest.class);
bb.writeBytes(dpDescBytes);
ByteBufUtils.padBuffer((DESC_STR_LEN - dpDescBytes.length), bb);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 0x00, builtByFactory.getType().getIntValue());
"00 01 00 08 06 00 00 00 "+
"00 01 00 08 06 00 00 00");
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 0x01, builtByFactory.getType().getIntValue());
"00 00 00 00"//pad
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 0x02, builtByFactory.getType().getIntValue());
"AF 01 01 01 01 01 01 01"//matchedCount
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 0x03, builtByFactory.getType().getIntValue());
"00 00 00 04"//durationNsec
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 0x04, builtByFactory.getType().getIntValue());
"00 00 00 04"//durationNsec
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 0x05, builtByFactory.getType().getIntValue());
"FF 02 02 02 02 02 02 02"//byteCountBucket_2.2
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 0x06, builtByFactory.getType().getIntValue());
"00 00"//pad
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 11, builtByFactory.getType().getIntValue());
"FF 03 03 03 03 03 03 03"//byteBandCount_03
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 9, builtByFactory.getType().getIntValue());
"FF 03 03 03 03 03 03 03"//byteBandCount_13
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 9, builtByFactory.getType().getIntValue());
"00 00 00 04"//meterBandExperimenter.experimenter
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 10, builtByFactory.getType().getIntValue());
"00 00 00"//meterBandDscp01.pad
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 10, builtByFactory.getType().getIntValue());
"00 00 01 01 00 00 01 01"
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 0xFFFF, builtByFactory.getType().getIntValue());
"00 01 02 03 "+ //portNo
"00 00 00 00 "+ //padding01
"08 00 27 00 B0 EB " + //mac address
- "00 00 "); //padding02
+ "00 00"); //padding02
//port name
String portName = "SampleText";
byte[] portNameBytes = new byte[MAX_PORT_NAME_LEN];
);
bb.writeBytes(bb2.copy(4, bb2.readableBytes()-4));//excluding version and xid
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 13, builtByFactory.getType().getIntValue());
"00 08 "+//copyTTLIntLen
"00 00 00 00"//copyTTLInPad
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 7, builtByFactory.getType().getIntValue());
message.getGroupDesc().get(0).getBucketsList().get(0).getWatchGroup().intValue());
Assert.assertEquals("Wrong outputType", Output.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(0).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(0)
+ .getType());
Assert.assertEquals("Wrong outputPort", 4351,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(0).
- getAction().getAugmentation(PortAction.class).
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(0)
+ .getAugmentation(PortAction.class).
getPort().getValue().intValue());
Assert.assertEquals("Wrong outputMaxLen", 65535,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(0).
- getAction().getAugmentation(MaxLengthAction.class).
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(0)
+ .getAugmentation(MaxLengthAction.class).
getMaxLength().intValue());
Assert.assertEquals("Wrong copyTtlOutType", CopyTtlOut.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(1).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(1)
+ .getType());
Assert.assertEquals("Wrong copyTtlInType", CopyTtlIn.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(2).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(2)
+ .getType());
}
/**
"00 00"//pushPbbPad
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 7, builtByFactory.getType().getIntValue());
Assert.assertEquals("Wrong bucketWatchGroup", 4,
message.getGroupDesc().get(0).getBucketsList().get(0).getWatchGroup().intValue());
Assert.assertEquals("Wrong setMplsTtlType", SetMplsTtl.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(0).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(0)
+ .getType());
Assert.assertEquals("Wrong setMplsTtlMPLS_TTL", 9,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(0).
- getAction().getAugmentation(MplsTtlAction.class).
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(0)
+ .getAugmentation(MplsTtlAction.class).
getMplsTtl().intValue());
Assert.assertEquals("Wrong decMplsTtlType", DecMplsTtl.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(1).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(1)
+ .getType());
Assert.assertEquals("Wrong pushVlanType", PushVlan.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(2).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(2)
+ .getType());
Assert.assertEquals("Wrong pushVlanEthertype", 32,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(2).
- getAction().getAugmentation(EthertypeAction.class).
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(2)
+ .getAugmentation(EthertypeAction.class).
getEthertype().getValue().intValue());
Assert.assertEquals("Wrong pushMplsType", PushMpls.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(3).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(3)
+ .getType());
Assert.assertEquals("Wrong pushMplsEthertype", 255,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(3).
- getAction().getAugmentation(EthertypeAction.class).
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(3).
+ getAugmentation(EthertypeAction.class).
getEthertype().getValue().intValue());
Assert.assertEquals("Wrong pushPbbType", PushPbb.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(4).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(4)
+ .getType());
Assert.assertEquals("Wrong pushPbbEthertype", 4095,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(4).
- getAction().getAugmentation(EthertypeAction.class).
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(4)
+ .getAugmentation(EthertypeAction.class).
getEthertype().getValue().intValue());
}
"00 00 00 00"//decNwTtlPad
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 7, builtByFactory.getType().getIntValue());
Assert.assertEquals("Wrong bucketWatchGroup", 4,
message.getGroupDesc().get(0).getBucketsList().get(0).getWatchGroup().intValue());
Assert.assertEquals("Wrong popVlanType", PopVlan.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(0).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(0)
+ .getType());
Assert.assertEquals("Wrong popPbbType", PopPbb.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(1).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(1)
+ .getType());
Assert.assertEquals("Wrong popMplsType", PopMpls.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(2).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(2)
+ .getType());
Assert.assertEquals("Wrong popMplsEthertype", 207,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(2).
- getAction().getAugmentation(EthertypeAction.class).
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(2)
+ .getAugmentation(EthertypeAction.class).
getEthertype().getValue().intValue());
Assert.assertEquals("Wrong setQueueType", SetQueue.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(3).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(3)
+ .getType());
Assert.assertEquals("Wrong setQueueQueueId", 13565952,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(3).
- getAction().getAugmentation(QueueIdAction.class).
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(3)
+ .getAugmentation(QueueIdAction.class).
getQueueId().intValue());
Assert.assertEquals("Wrong groupType", Group.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(4).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(4)
+ .getType());
Assert.assertEquals("Wrong groupGroupId", 13565952,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(4).
- getAction().getAugmentation(GroupIdAction.class).
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(4)
+ .getAugmentation(GroupIdAction.class).
getGroupId().intValue());
Assert.assertEquals("Wrong decNwTtlType", DecNwTtl.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(5).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(5)
+ .getType());
}
/**
"00 00 00 00"
);
- MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
+ MultipartReplyMessage builtByFactory = BufferHelper.deserialize(multipartFactory, bb);
BufferHelper.checkHeaderV13(builtByFactory);
Assert.assertEquals("Wrong type", 7, builtByFactory.getType().getIntValue());
message.getGroupDesc().get(0).getBucketsList().get(0).getWatchGroup().intValue());
Assert.assertEquals("Wrong nwTTlType", SetNwTtl.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(0).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(0)
+ .getType());
Assert.assertEquals("Wrong nwTTlnwTTL", 14,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(0).
- getAction().getAugmentation(NwTtlAction.class).getNwTtl().intValue());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(0)
+ .getAugmentation(NwTtlAction.class).getNwTtl().intValue());
Assert.assertEquals("Wrong setFieldType", SetField.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(1).
- getAction().getType());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(1)
+ .getType());
Assert.assertEquals("Wrong setFieldOXMClass", OpenflowBasicClass.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(1).
- getAction().getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0).getOxmClass());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(1)
+ .getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0).getOxmClass());
Assert.assertEquals("Wrong setFieldOXMField", InPort.class,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(1).
- getAction().getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0).getOxmMatchField());
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(1)
+ .getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0).getOxmMatchField());
Assert.assertEquals("Wrong setFieldOXMValue", 255,
- message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(1).
- getAction().getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0).
+ message.getGroupDesc().get(0).getBucketsList().get(0).getAction().get(1)
+ .getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0).
getAugmentation(PortNumberMatchEntry.class).getPortNumber().getValue().intValue());
}
}