X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflow-protocol-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fopenflowjava%2Fprotocol%2Fimpl%2Fdeserialization%2Ffactories%2FMultipartReplyMessageFactoryTest.java;h=5e6017a9c07e8e05a348cb55892238bf47178cf9;hb=60ad94454217d7d1f6f9e65f39f72ae111ecc845;hp=b37d51b350c9150a8661965833b2e9ea7183e810;hpb=469250a7335c48547b0765d3c070c16c43c60589;p=openflowjava.git diff --git a/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/MultipartReplyMessageFactoryTest.java b/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/MultipartReplyMessageFactoryTest.java index b37d51b3..5e6017a9 100644 --- a/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/MultipartReplyMessageFactoryTest.java +++ b/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/MultipartReplyMessageFactoryTest.java @@ -13,9 +13,15 @@ import io.netty.buffer.ByteBuf; 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; @@ -94,6 +100,19 @@ import org.slf4j.LoggerFactory; */ public class MultipartReplyMessageFactoryTest { + private OFDeserializer 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); @@ -136,7 +155,7 @@ public class MultipartReplyMessageFactoryTest { 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()); @@ -189,7 +208,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -229,7 +248,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -260,7 +279,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -302,7 +321,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -365,7 +384,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -421,7 +440,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -489,7 +508,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -526,7 +545,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -603,7 +622,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -704,7 +723,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -774,7 +793,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -832,7 +851,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -855,7 +874,7 @@ public class MultipartReplyMessageFactoryTest { "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]; @@ -874,7 +893,7 @@ public class MultipartReplyMessageFactoryTest { ); 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()); @@ -945,7 +964,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -965,26 +984,26 @@ public class MultipartReplyMessageFactoryTest { 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()); } /** @@ -1024,7 +1043,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -1042,35 +1061,35 @@ public class MultipartReplyMessageFactoryTest { 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()); } @@ -1111,7 +1130,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -1127,35 +1146,35 @@ public class MultipartReplyMessageFactoryTest { 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()); } /** @@ -1187,7 +1206,7 @@ public class MultipartReplyMessageFactoryTest { "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()); @@ -1207,28 +1226,28 @@ public class MultipartReplyMessageFactoryTest { 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()); } }