X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflowplugin-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fimpl%2Fstatistics%2FSinglePurposeMultipartReplyTranslatorTest.java;h=5ab810539ebbfdc55b2129595d0743495a88cc85;hb=213cd74e317081d8952b9036adba7775aad72f1a;hp=e9d1979f86bc21ae45f69dc9f8d7c2791bd73669;hpb=ec575e66bbbb7397f8d7d910939e612d9ab26929;p=openflowplugin.git diff --git a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/SinglePurposeMultipartReplyTranslatorTest.java b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/SinglePurposeMultipartReplyTranslatorTest.java index e9d1979f86..5ab810539e 100644 --- a/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/SinglePurposeMultipartReplyTranslatorTest.java +++ b/openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/statistics/SinglePurposeMultipartReplyTranslatorTest.java @@ -1,69 +1,69 @@ +/* + * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ package org.opendaylight.openflowplugin.impl.statistics; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.Counter32; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.Counter64; -import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GroupDescStatsUpdated; -import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GroupStatisticsUpdated; -import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GroupStatisticsUpdatedBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.desc.stats.reply.GroupDescStats; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.GroupId; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.GroupType; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.buckets.grouping.BucketsList; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group._case.multipart.reply.group.GroupStatsBuilder; import com.google.common.collect.Lists; +import java.math.BigInteger; +import java.util.Collections; +import java.util.List; +import org.junit.Before; import org.junit.Test; import org.opendaylight.openflowplugin.api.OFConstants; import org.opendaylight.openflowplugin.api.openflow.connection.ConnectionContext; import org.opendaylight.openflowplugin.api.openflow.device.DeviceContext; +import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager; +import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManagerFactory; import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Uri; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.AggregateFlowStatisticsUpdate; -import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.AggregateFlowStatisticsUpdateBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.FlowsStatisticsUpdate; -import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.FlowsStatisticsUpdateBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev150304.TransactionAware; +import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GroupDescStatsUpdated; +import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.GroupStatisticsUpdated; +import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupTypes; +import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.desc.stats.reply.GroupDescStats; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Node; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.GroupId; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.GroupType; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartRequestFlags; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.FeaturesReply; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReplyMessage; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.buckets.grouping.BucketsList; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.MultipartReplyBody; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.*; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.aggregate._case.MultipartReplyAggregate; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyAggregateCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyFlowCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupDescCaseBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortStatsCaseBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.aggregate._case.MultipartReplyAggregateBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow._case.MultipartReplyFlowBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow._case.multipart.reply.flow.FlowStats; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group._case.MultipartReplyGroupBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group._case.multipart.reply.group.GroupStats; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group._case.multipart.reply.group.GroupStatsBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group._case.multipart.reply.group.group.stats.BucketStats; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.desc._case.MultipartReplyGroupDesc; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.desc._case.MultipartReplyGroupDescBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.desc._case.multipart.reply.group.desc.GroupDesc; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.desc._case.multipart.reply.group.desc.GroupDescBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats._case.MultipartReplyPortStats; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats._case.MultipartReplyPortStatsBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats._case.multipart.reply.port.stats.PortStatsBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.NodeConnectorStatisticsUpdate; -import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.NodeConnectorStatisticsUpdateBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.node.connector.statistics.and.port.number.map.NodeConnectorStatisticsAndPortNumberMap; import org.opendaylight.yangtools.yang.binding.DataObject; -import javax.sql.rowset.spi.TransactionalWriter; -import java.math.BigInteger; -import java.util.Collections; -import java.util.List; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - public class SinglePurposeMultipartReplyTranslatorTest { private static final BigInteger DUMMY_DATAPATH_ID = new BigInteger("21"); private static final Long DUMMY_XID = 1L; - private static final SinglePurposeMultipartReplyTranslator singlePurposeMultipartReplyTranslator = new SinglePurposeMultipartReplyTranslator(); + private SinglePurposeMultipartReplyTranslator singlePurposeMultipartReplyTranslator; private static final BigInteger DUMMY_BYTE_COUNT = new BigInteger("31"); private static final BigInteger DUMMY_PACKET_COUNT = new BigInteger("41"); private static final Long DUMMY_FLOW_COUNT = 51L; @@ -84,8 +84,14 @@ public class SinglePurposeMultipartReplyTranslatorTest { private static final Long DUMMY_DURATION_NSEC = 3343L; private static final GroupId DUMMY_GROUP_ID = new GroupId(55L); private static final Long DUMMY_REF_COUNT = 1234L; + private static final GroupTypes DUMMY_GROUPS_TYPE = GroupTypes.GroupAll; private static final GroupType DUMMY_GROUP_TYPE = GroupType.OFPGTALL; + @Before + public void setUp() { + final ConvertorManager convertorManager = ConvertorManagerFactory.createDefaultManager(); + singlePurposeMultipartReplyTranslator = new SinglePurposeMultipartReplyTranslator(convertorManager); + } @Test public void testTranslateFlow() { @@ -93,7 +99,10 @@ public class SinglePurposeMultipartReplyTranslatorTest { MultipartReplyMessage multipartReplyMessage = prepareMocks(mockedDeviceContext, prepareMultipartReplyFlow(), MultipartType.OFPMPFLOW); - List result = singlePurposeMultipartReplyTranslator.translate(mockedDeviceContext, multipartReplyMessage); + List result = singlePurposeMultipartReplyTranslator.translate( + mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getDatapathId(), + mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getVersion(), + multipartReplyMessage); DataObject dataObject = validateOutput(result); assertTrue(dataObject instanceof FlowsStatisticsUpdate); @@ -105,7 +114,10 @@ public class SinglePurposeMultipartReplyTranslatorTest { MultipartReplyMessage multipartReplyMessage = prepareMocks(mockedDeviceContext, prepareMultipartReplyAggregate(), MultipartType.OFPMPAGGREGATE); - List result = singlePurposeMultipartReplyTranslator.translate(mockedDeviceContext, multipartReplyMessage); + List result = singlePurposeMultipartReplyTranslator.translate( + mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getDatapathId(), + mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getVersion(), + multipartReplyMessage); DataObject dataObject = validateOutput(result); assertTrue(dataObject instanceof AggregateFlowStatisticsUpdate); @@ -122,7 +134,10 @@ public class SinglePurposeMultipartReplyTranslatorTest { MultipartReplyMessage multipartReplyMessage = prepareMocks(mockedDeviceContext, prepareMultipartReplyPortStats(), MultipartType.OFPMPPORTSTATS); OpenflowPortsUtil.init(); - List result = singlePurposeMultipartReplyTranslator.translate(mockedDeviceContext, multipartReplyMessage); + List result = singlePurposeMultipartReplyTranslator.translate( + mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getDatapathId(), + mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getVersion(), + multipartReplyMessage); DataObject dataObject = validateOutput(result); assertTrue(dataObject instanceof NodeConnectorStatisticsUpdate); @@ -151,7 +166,10 @@ public class SinglePurposeMultipartReplyTranslatorTest { MultipartReplyMessage multipartReplyMessage = prepareMocks(mockedDeviceContext, prepareMultipartReplyGroup(), MultipartType.OFPMPGROUP); - List result = singlePurposeMultipartReplyTranslator.translate(mockedDeviceContext, multipartReplyMessage); + List result = singlePurposeMultipartReplyTranslator.translate( + mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getDatapathId(), + mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getVersion(), + multipartReplyMessage); DataObject dataObject = validateOutput(result); assertTrue(dataObject instanceof GroupStatisticsUpdated); @@ -174,7 +192,10 @@ public class SinglePurposeMultipartReplyTranslatorTest { MultipartReplyMessage multipartReplyMessage = prepareMocks(mockedDeviceContext, prepareMultipartReplyGroupDesc(), MultipartType.OFPMPGROUPDESC); - List result = singlePurposeMultipartReplyTranslator.translate(mockedDeviceContext, multipartReplyMessage); + List result = singlePurposeMultipartReplyTranslator.translate( + mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getDatapathId(), + mockedDeviceContext.getPrimaryConnectionContext().getFeatures().getVersion(), + multipartReplyMessage); DataObject dataObject = validateOutput(result); assertTrue(dataObject instanceof GroupDescStatsUpdated); @@ -183,11 +204,7 @@ public class SinglePurposeMultipartReplyTranslatorTest { assertEquals(1, groupDescStats.size()); GroupDescStats groupDescStat = groupDescStats.get(0); assertEquals(DUMMY_GROUP_ID.getValue(),groupDescStat.getGroupId().getValue()); - //FIXME -// assertEquals(DUMMY_GROUP_TYPE,groupDescStat.getGroupType() ); - - - + assertEquals(DUMMY_GROUPS_TYPE,groupDescStat.getGroupType() ); } private MultipartReplyBody prepareMultipartReplyGroupDesc() {