X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=extension%2Fopenflowplugin-extension-nicira%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fextension%2Fvendor%2Fnicira%2Fconvertor%2Fmatch%2FNshc4ConvertorTest.java;h=e4aa7a90a53f4568228d02a1a48cce214607741a;hb=28f2bced3075329036dff49feaa771c8f7e24a9e;hp=745195ea48865d0bfee5bcc7a1f79ff536176b3c;hpb=f35e2fb153438697238b3095e8323b8a343c1c93;p=openflowplugin.git diff --git a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/Nshc4ConvertorTest.java b/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/Nshc4ConvertorTest.java index 745195ea48..e4aa7a90a5 100644 --- a/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/Nshc4ConvertorTest.java +++ b/extension/openflowplugin-extension-nicira/src/test/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/Nshc4ConvertorTest.java @@ -1,11 +1,10 @@ -/** +/* * Copyright (c) 2016 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.extension.vendor.nicira.convertor.match; import static org.mockito.Mockito.when; @@ -14,21 +13,24 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Matchers; +import org.mockito.ArgumentMatchers; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; +import org.opendaylight.openflowjava.nx.api.NiciraConstants; import org.opendaylight.openflowplugin.extension.api.ExtensionAugment; import org.opendaylight.openflowplugin.extension.api.path.MatchPath; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.oxm.container.match.entry.value.ExperimenterIdCase; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.nshc._4.grouping.Nshc4ValuesBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.Nshc4CaseValue; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.Nshc4CaseValueBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.OfjAugNxExpMatch; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.oxm.container.match.entry.value.experimenter.id._case.nx.exp.match.entry.value.NshcCaseValue; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.grouping.Extension; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNodesNodeTableFlow; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNodesNodeTableFlowBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifPacketIn; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifSwitchFlowRemoved; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStats; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchNotifUpdateFlowStatsBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshc4Key; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nshc._4.grouping.NxmNxNshc4; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nshc._4.grouping.NxmNxNshc4Builder; import org.opendaylight.yangtools.yang.binding.Augmentation; @@ -39,51 +41,72 @@ import org.opendaylight.yangtools.yang.binding.Augmentation; public class Nshc4ConvertorTest { @Mock private Extension extension; - @Mock - private MatchEntry matchEntry; private Nshc4Convertor nshc4Convertor; - @Before - public void setUp() throws Exception { - final NxmNxNshc4Builder nxmNxNshc4Builder = new NxmNxNshc4Builder() - .setValue(1L); - final NxAugMatchNotifUpdateFlowStatsBuilder nxAugMatchNotifUpdateFlowStatsBuilder = new NxAugMatchNotifUpdateFlowStatsBuilder(); - nxAugMatchNotifUpdateFlowStatsBuilder.setNxmNxNshc4(nxmNxNshc4Builder.build()); + private static final Long NSHC4_VALUE = 0xFFFFFFFFL; + private static final Long MASK_VALUE = 0xFFFFFFFFL; - final Augmentation extensionAugmentation = nxAugMatchNotifUpdateFlowStatsBuilder.build(); - when(extension.getAugmentation(Matchers.>>any())).thenReturn(extensionAugmentation); + @Before + public void setUp() { + NxmNxNshc4 nxmNxNshc4 = new NxmNxNshc4Builder().setValue(NSHC4_VALUE).setMask(MASK_VALUE).build(); + NxAugMatchNodesNodeTableFlow nxAugMatchNotifUpdateFlowStats = new NxAugMatchNodesNodeTableFlowBuilder() + .setNxmNxNshc4(nxmNxNshc4) + .build(); + when(extension.augmentation(ArgumentMatchers.any())) + .thenReturn(nxAugMatchNotifUpdateFlowStats); nshc4Convertor = new Nshc4Convertor(); } @Test - public void testConvert() throws Exception { - final MatchEntry matchEntry = nshc4Convertor.convert(extension); - Assert.assertEquals(1, ((Nshc4CaseValue)matchEntry.getMatchEntryValue()).getNshc4Values().getNshc().intValue()); + public void testConvertToOFJava() { + final MatchEntry converted = nshc4Convertor.convert(extension); + ExperimenterIdCase experimenterIdCase = (ExperimenterIdCase) converted.getMatchEntryValue(); + OfjAugNxExpMatch ofjAugNxExpMatch = experimenterIdCase.augmentation(OfjAugNxExpMatch.class); + NshcCaseValue nshcCaseValue = (NshcCaseValue) ofjAugNxExpMatch.getNxExpMatchEntryValue(); + Assert.assertEquals(NiciraConstants.NX_NSH_VENDOR_ID, + experimenterIdCase.getExperimenter().getExperimenter().getValue()); + Assert.assertEquals(NSHC4_VALUE, nshcCaseValue.getNshc()); + Assert.assertEquals(MASK_VALUE, nshcCaseValue.getMask()); } @Test - public void testConvert1() throws Exception { - final Nshc4ValuesBuilder nshc4ValuesBuilder = new Nshc4ValuesBuilder() - .setNshc(Long.valueOf(1)); - final Nshc4CaseValueBuilder nshc4CaseValueBuilder = new Nshc4CaseValueBuilder() - .setNshc4Values(nshc4ValuesBuilder.build()); - - final Nshc4CaseValue nshc4CaseValue = nshc4CaseValueBuilder.build(); + public void testConvertToOFSal() { + MatchEntry matchEntry = Nshc4Convertor.buildMatchEntry(NSHC4_VALUE, MASK_VALUE); - when(matchEntry.getMatchEntryValue()).thenReturn(nshc4CaseValue); + final ExtensionAugment> extensionAugment = nshc4Convertor.convert(matchEntry, + MatchPath.PACKET_RECEIVED_MATCH); + Assert.assertEquals(NSHC4_VALUE, + ((NxAugMatchNotifPacketIn) extensionAugment.getAugmentationObject()).getNxmNxNshc4().getValue()); + Assert.assertEquals(MASK_VALUE, + ((NxAugMatchNotifPacketIn) extensionAugment.getAugmentationObject()).getNxmNxNshc4().getMask()); + Assert.assertEquals(extensionAugment.getKey(), NxmNxNshc4Key.class); - final ExtensionAugment> extensionAugment = nshc4Convertor.convert(matchEntry, MatchPath.PACKETRECEIVED_MATCH); - Assert.assertEquals(1, ((NxAugMatchNotifPacketIn)extensionAugment.getAugmentationObject()).getNxmNxNshc4().getValue().intValue()); + final ExtensionAugment> extensionAugment1 = nshc4Convertor.convert(matchEntry, + MatchPath.SWITCH_FLOW_REMOVED_MATCH); + Assert.assertEquals(NSHC4_VALUE, + ((NxAugMatchNotifSwitchFlowRemoved) extensionAugment1.getAugmentationObject()) + .getNxmNxNshc4().getValue()); + Assert.assertEquals(MASK_VALUE, + ((NxAugMatchNotifSwitchFlowRemoved) extensionAugment1.getAugmentationObject()) + .getNxmNxNshc4().getMask()); Assert.assertEquals(extensionAugment.getKey(), NxmNxNshc4Key.class); - final ExtensionAugment> extensionAugment1 = nshc4Convertor.convert(matchEntry, MatchPath.SWITCHFLOWREMOVED_MATCH); - Assert.assertEquals(1, ((NxAugMatchNotifSwitchFlowRemoved)extensionAugment1.getAugmentationObject()).getNxmNxNshc4().getValue().intValue()); + final ExtensionAugment> extensionAugment2 = nshc4Convertor.convert(matchEntry, + MatchPath.FLOWS_STATISTICS_UPDATE_MATCH); + Assert.assertEquals(NSHC4_VALUE, + ((NxAugMatchNodesNodeTableFlow) extensionAugment2.getAugmentationObject()).getNxmNxNshc4().getValue()); + Assert.assertEquals(MASK_VALUE, + ((NxAugMatchNodesNodeTableFlow) extensionAugment2.getAugmentationObject()).getNxmNxNshc4().getMask()); Assert.assertEquals(extensionAugment.getKey(), NxmNxNshc4Key.class); - final ExtensionAugment> extensionAugment2 = nshc4Convertor.convert(matchEntry, MatchPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_MATCH); - Assert.assertEquals(1, ((NxAugMatchNotifUpdateFlowStats)extensionAugment2.getAugmentationObject()).getNxmNxNshc4().getValue().intValue()); + final ExtensionAugment> extensionAugment3 = nshc4Convertor.convert(matchEntry, + MatchPath.FLOWS_STATISTICS_RPC_MATCH); + Assert.assertEquals(NSHC4_VALUE, + ((NxAugMatchRpcGetFlowStats) extensionAugment3.getAugmentationObject()).getNxmNxNshc4().getValue()); + Assert.assertEquals(MASK_VALUE, + ((NxAugMatchRpcGetFlowStats) extensionAugment3.getAugmentationObject()).getNxmNxNshc4().getMask()); Assert.assertEquals(extensionAugment.getKey(), NxmNxNshc4Key.class); } -} \ No newline at end of file +}