summaryrefslogtreecommitdiffstats
path: root/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate
diff options
context:
space:
mode:
authorMichal Cmarada <mcmarada@cisco.com>2019-05-27 13:54:02 +0200
committerMichal Cmarada <mcmarada@cisco.com>2019-05-27 13:54:02 +0200
commit5543345d32514bfa38292a5080e57b915e39ea1d (patch)
tree6d759a5eb22bb020f47c299e928e7a65f7a84b2f /v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate
parent5c416ebacf4baad25de6213661c3cdfff31c0482 (diff)
HC2VPP-411: remove deprecated interface-state
- new ietf-interfaces obsoletes interfaces-state container, only interfaces container should be used from now on. Change-Id: Ifb24611a3dca987bdf6b029d32e01d9b1f479fe8 Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
Diffstat (limited to 'v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate')
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/AfPacketCustomizerTest.java127
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/EthernetCustomizerTest.java98
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/GreCustomizerTest.java129
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceCustomizerTest.java196
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceDataTranslatorTest.java104
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceRoutingCustomizerTest.java94
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceStatisticsCustomizerTest.java124
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/L2CustomizerTest.java160
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/RewriteCustomizerTest.java118
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/SubInterfaceCustomizerTest.java138
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/SubInterfaceL2CustomizerTest.java73
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/SubInterfaceRoutingCustomizerTest.java121
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/TapV2CustomizerTest.java142
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/VhostUserCustomizerTest.java121
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/VxlanCustomizerTest.java155
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/VxlanGpeCustomizerTest.java141
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/cache/InterfaceCacheDumpManagerImplTest.java208
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/pbb/PbbRewriteStateCustomizerTest.java35
-rw-r--r--v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/span/MirroredInterfacesCustomizerTest.java128
19 files changed, 0 insertions, 2412 deletions
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/AfPacketCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/AfPacketCustomizerTest.java
deleted file mode 100644
index 66b1f6c75..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/AfPacketCustomizerTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 2018 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static io.fd.hc2vpp.v3po.interfacesstate.AfPacketCustomizer.getCfgId;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
-import io.fd.hc2vpp.common.test.read.InitializingReaderCustomizerTest;
-import io.fd.hc2vpp.common.test.util.InterfaceDumpHelper;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.honeycomb.translate.read.ReadFailedException;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.core.dto.AfPacketDetails;
-import io.fd.jvpp.core.dto.AfPacketDetailsReplyDump;
-import io.fd.jvpp.core.dto.SwInterfaceDetails;
-import java.util.Collections;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.AfPacket;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.AfPacketBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class AfPacketCustomizerTest extends InitializingReaderCustomizerTest<AfPacket, AfPacketBuilder>
- implements InterfaceDumpHelper {
- private static final String IFC_CTX_NAME = "ifc-test-instance";
- private static final String IF_NAME = "host-veth1";
- private static final int IF_INDEX = 1;
- private static final InstanceIdentifier<AfPacket> IID =
- InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(IF_NAME))
- .augmentation(VppInterfaceStateAugmentation.class).child(AfPacket.class);
-
- private NamingContext interfaceContext;
-
- @Mock
- private InterfaceCacheDumpManager dumpCacheManager;
-
- public AfPacketCustomizerTest() {
- super(AfPacket.class, VppInterfaceStateAugmentationBuilder.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- interfaceContext = new NamingContext("generatedInterfaceName", IFC_CTX_NAME);
- defineMapping(mappingContext, IF_NAME, IF_INDEX, IFC_CTX_NAME);
- }
-
- @Override
- protected ReaderCustomizer<AfPacket, AfPacketBuilder> initCustomizer() {
- return new AfPacketCustomizer(api, interfaceContext, dumpCacheManager);
- }
-
- @Test
- public void testRead() throws ReadFailedException {
- final AfPacketBuilder builder = mock(AfPacketBuilder.class);
- when(dumpCacheManager.getInterfaceDetail(IID, ctx, IF_NAME)).thenReturn(ifaceDetails());
- when(api.afPacketDump(any())).thenReturn(future(afPacketReplyDump()));
-
- getCustomizer().readCurrentAttributes(IID, builder, ctx);
-
- verify(builder).setMac(new PhysAddress("01:02:03:04:05:06"));
- }
-
- @Test
- public void testReadFailed() throws ReadFailedException {
- final AfPacketBuilder builder = mock(AfPacketBuilder.class);
- when(dumpCacheManager.getInterfaceDetail(IID, ctx, IF_NAME)).thenReturn(null);
-
- getCustomizer().readCurrentAttributes(IID, builder, ctx);
-
- verifyZeroInteractions(builder);
- }
-
- @Test
- public void testInit() {
- final AfPacket operData = new AfPacketBuilder()
- .setHostInterfaceName(IF_NAME)
- .setMac(new PhysAddress("11:22:33:44:55:66")).build();
- final org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces._interface.AfPacket
- cfgData =
- new org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces._interface.AfPacketBuilder()
- .setHostInterfaceName(IF_NAME)
- .setMac(new PhysAddress("11:22:33:44:55:66")).build();
- invokeInitTest(IID, operData, getCfgId(IID), cfgData);
- }
-
- private SwInterfaceDetails ifaceDetails() {
- final SwInterfaceDetails details = new SwInterfaceDetails();
- details.swIfIndex = IF_INDEX;
- details.interfaceName = IF_NAME.getBytes();
- details.l2Address = new byte[] {1, 2, 3, 4, 5, 6};
- return details;
- }
-
- private AfPacketDetailsReplyDump afPacketReplyDump() {
- final AfPacketDetailsReplyDump reply = new AfPacketDetailsReplyDump();
- final AfPacketDetails details0 = new AfPacketDetails();
- details0.swIfIndex = IF_INDEX;
- details0.hostIfName = IF_NAME.getBytes();
- reply.afPacketDetails = Collections.singletonList(details0);
- return reply;
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/EthernetCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/EthernetCustomizerTest.java
deleted file mode 100644
index cb8ce5413..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/EthernetCustomizerTest.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.hc2vpp.common.test.util.InterfaceDumpHelper;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.honeycomb.translate.read.ReadFailedException;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.core.dto.SwInterfaceDetails;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.EthernetStateAttributes;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.Ethernet;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.EthernetBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class EthernetCustomizerTest extends ReaderCustomizerTest<Ethernet, EthernetBuilder> implements
- InterfaceDumpHelper {
- private static final String IFC_CTX_NAME = "ifc-test-instance";
- private static final String IF_NAME = "local0";
- private static final int IF_INDEX = 1;
- private static final InstanceIdentifier<Ethernet> IID =
- InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(IF_NAME))
- .augmentation(VppInterfaceStateAugmentation.class).child(Ethernet.class);
- private NamingContext interfaceContext;
-
- @Mock
- private InterfaceCacheDumpManager dumpCacheManager;
-
- public EthernetCustomizerTest() {
- super(Ethernet.class, VppInterfaceStateAugmentationBuilder.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- interfaceContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME);
- defineMapping(mappingContext, IF_NAME, IF_INDEX, IFC_CTX_NAME);
- }
-
- @Override
- protected ReaderCustomizer<Ethernet, EthernetBuilder> initCustomizer() {
- return new EthernetCustomizer(dumpCacheManager);
- }
-
- private void testRead(final int linkDuplex, final EthernetStateAttributes.Duplex duplex)
- throws ReadFailedException {
- final EthernetBuilder builder = mock(EthernetBuilder.class);
- final short mtu = 123;
- when(dumpCacheManager.getInterfaceDetail(any(), any(), any())).thenReturn(ifaceDetails(mtu, linkDuplex));
- getCustomizer().readCurrentAttributes(IID, builder, ctx);
- verify(builder).setMtu((int) mtu);
- verify(builder).setDuplex(duplex);
- }
-
- private SwInterfaceDetails ifaceDetails(final short mtu, final int duplex) {
- final SwInterfaceDetails details = new SwInterfaceDetails();
- details.swIfIndex = IF_INDEX;
- details.linkMtu = mtu;
- details.linkDuplex = (byte) duplex;
- return details;
- }
-
- @Test
- public void testReadHalfDuplex() throws ReadFailedException {
- testRead(1, EthernetStateAttributes.Duplex.Half);
- }
-
- @Test
- public void testReadFullDuplex() throws ReadFailedException {
- testRead(2, EthernetStateAttributes.Duplex.Full);
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/GreCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/GreCustomizerTest.java
deleted file mode 100644
index 969a98c3b..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/GreCustomizerTest.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
-import com.google.common.collect.Lists;
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.hc2vpp.common.translate.util.AddressTranslator;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.honeycomb.translate.read.ReadFailedException;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.VppInvocationException;
-import io.fd.jvpp.core.dto.GreTunnelDetails;
-import io.fd.jvpp.core.dto.GreTunnelDetailsReplyDump;
-import io.fd.jvpp.core.dto.GreTunnelDump;
-import io.fd.jvpp.core.dto.SwInterfaceDetails;
-import io.fd.jvpp.core.types.Address;
-import io.fd.jvpp.core.types.GreTunnel;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.Gre;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.GreBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class GreCustomizerTest extends ReaderCustomizerTest<Gre, GreBuilder> implements AddressTranslator {
-
- private static final String IFACE_NAME = "ifc1";
- private static final int IFACE_ID = 0;
- private static final String IFC_CTX_NAME = "ifc-test-instance";
-
- private NamingContext interfacesContext;
- static final InstanceIdentifier<Gre> IID =
- InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(IFACE_NAME))
- .augmentation(VppInterfaceStateAugmentation.class).child(Gre.class);
-
- @Mock
- private InterfaceCacheDumpManager dumpCacheManager;
-
- public GreCustomizerTest() {
- super(Gre.class, VppInterfaceStateAugmentationBuilder.class);
- }
-
- @Override
- public void setUp() throws VppInvocationException, ReadFailedException {
- interfacesContext = new NamingContext("gre-tunnel", IFC_CTX_NAME);
- defineMapping(mappingContext, IFACE_NAME, IFACE_ID, IFC_CTX_NAME);
-
- final SwInterfaceDetails v = new SwInterfaceDetails();
- v.interfaceName = "gre-tunnel4".getBytes();
-
- when(dumpCacheManager.getInterfaceDetail(IID, ctx, IFACE_NAME)).thenReturn(v);
-
- final GreTunnelDetailsReplyDump value = new GreTunnelDetailsReplyDump();
- final GreTunnelDetails greTunnelDetails = new GreTunnelDetails();
- greTunnelDetails.tunnel = new GreTunnel();
- greTunnelDetails.tunnel.isIpv6 = 0;
- greTunnelDetails.tunnel.dst = ipv4AddressToAddress(new Ipv4Address("1.2.3.4"));
- greTunnelDetails.tunnel.src = ipv4AddressToAddress(new Ipv4Address("1.2.3.5"));
- greTunnelDetails.tunnel.outerFibId = 55;
- greTunnelDetails.tunnel.swIfIndex = 0;
- value.greTunnelDetails = Lists.newArrayList(greTunnelDetails);
-
- doReturn(future(value)).when(api).greTunnelDump(any(GreTunnelDump.class));
- }
-
- @Test
- public void testReadCurrentAttributes() throws Exception {
- final GreBuilder builder = getCustomizer().getBuilder(IID);
- getCustomizer().readCurrentAttributes(IID, builder, ctx);
-
- assertEquals(55, builder.getOuterFibId().intValue());
-
- assertNull(builder.getSrc().getIpv6AddressNoZone());
- assertNotNull(builder.getSrc().getIpv4AddressNoZone());
- assertEquals("1.2.3.5", builder.getSrc().getIpv4AddressNoZone().getValue());
-
- assertNull(builder.getDst().getIpv6AddressNoZone());
- assertNotNull(builder.getDst().getIpv4AddressNoZone());
- assertEquals("1.2.3.4", builder.getDst().getIpv4AddressNoZone().getValue());
-
- verify(api).greTunnelDump(any(GreTunnelDump.class));
- }
-
- @Test
- public void testReadCurrentAttributesWrongType() throws Exception {
- final SwInterfaceDetails v = new SwInterfaceDetails();
- v.interfaceName = "tap-2".getBytes();
-
- when(dumpCacheManager.getInterfaceDetail(IID, ctx, IFACE_NAME)).thenReturn(v);
-
- final GreBuilder builder = getCustomizer().getBuilder(IID);
- getCustomizer().readCurrentAttributes(IID, builder, ctx);
- verifyZeroInteractions(api);
- }
-
- @Override
- protected ReaderCustomizer<Gre, GreBuilder> initCustomizer() {
- return new GreCustomizer(api, interfacesContext, dumpCacheManager);
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceCustomizerTest.java
deleted file mode 100644
index a3188b426..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceCustomizerTest.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
-import io.fd.hc2vpp.common.test.read.ListReaderCustomizerTest;
-import io.fd.hc2vpp.common.test.util.InterfaceDumpHelper;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.v3po.DisabledInterfacesManager;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.core.dto.SwInterfaceDetails;
-import io.fd.jvpp.core.dto.SwInterfaceDump;
-import io.fd.jvpp.core.types.InterfaceIndex;
-import java.util.Arrays;
-import java.util.List;
-import java.util.stream.Stream;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesStateBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class InterfaceCustomizerTest extends ListReaderCustomizerTest<Interface, InterfaceKey, InterfaceBuilder>
- implements InterfaceDataTranslator, InterfaceDumpHelper {
-
- private static final String IFC_CTX_NAME = "ifc-test-instance";
- private static final String IFACE0_NAME = "eth0";
- private static final String IFACE1_NAME = "eth1";
- private static final String SUB_IFACE_NAME = "eth1.1";
- private static final int IFACE0_ID = 0;
- private static final int IFACE1_ID = 1;
- private static final int SUB_IFACE_ID = 2;
-
- private NamingContext interfacesContext;
- @Mock
- private DisabledInterfacesManager interfaceDisableContext;
- @Mock
- private InterfaceCacheDumpManager dumpCacheManager;
-
- public InterfaceCustomizerTest() {
- super(Interface.class, InterfacesStateBuilder.class);
- }
-
- @Override
- public void setUp() {
- interfacesContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME);
- defineMapping(mappingContext, IFACE0_NAME, IFACE0_ID, IFC_CTX_NAME);
- defineMapping(mappingContext, IFACE1_NAME, IFACE1_ID, IFC_CTX_NAME);
- defineMapping(mappingContext, SUB_IFACE_NAME, SUB_IFACE_ID, IFC_CTX_NAME);
- }
-
- @Override
- protected ReaderCustomizer<Interface, InterfaceBuilder> initCustomizer() {
- return new InterfaceCustomizer(interfacesContext, interfaceDisableContext, dumpCacheManager);
- }
-
- private void assertIfacesAreEqual(final Interface iface, final SwInterfaceDetails details) {
- assertEquals(iface.getName(), new String(details.interfaceName));
- assertEquals(yangIfIndexToVpp(iface.getIfIndex().intValue()), details.swIfIndex);
- assertEquals(iface.getPhysAddress().getValue(), vppPhysAddrToYang(details.l2Address));
- }
-
- @Test
- public void testReadCurrentAttributes() throws Exception {
- final InstanceIdentifier<Interface> id = InstanceIdentifier.create(InterfacesState.class)
- .child(Interface.class, new InterfaceKey(IFACE0_NAME));
- final InterfaceBuilder builder = getCustomizer().getBuilder(id);
-
- final SwInterfaceDetails iface = new SwInterfaceDetails();
- iface.interfaceName = IFACE0_NAME.getBytes();
- iface.swIfIndex = 0;
- iface.linkSpeed = 1;
- iface.l2AddressLength = 6;
- iface.l2Address = new byte[iface.l2AddressLength];
- when(dumpCacheManager.getInterfaceDetail(id, ctx, IFACE0_NAME)).thenReturn(iface);
-
- getCustomizer().readCurrentAttributes(id, builder, ctx);
-
- final SwInterfaceDump request = new SwInterfaceDump();
- request.swIfIndex = new InterfaceIndex();
- request.swIfIndex.interfaceindex =~0;
- request.nameFilter = IFACE0_NAME.getBytes();
- request.nameFilterValid = 1;
-
- assertIfacesAreEqual(builder.build(), iface);
- verify(dumpCacheManager, times(1)).getInterfaceDetail(id, ctx, IFACE0_NAME);
- }
-
- @Test
- public void testReadSubInterface() throws Exception {
- final InstanceIdentifier<Interface> id = InstanceIdentifier.create(InterfacesState.class)
- .child(Interface.class, new InterfaceKey(SUB_IFACE_NAME));
- final InterfaceBuilder builder = mock(InterfaceBuilder.class);
-
- final SwInterfaceDetails iface = new SwInterfaceDetails();
- iface.interfaceName = SUB_IFACE_NAME.getBytes();
- iface.swIfIndex = 2;
- iface.supSwIfIndex = 1;
- iface.subId = 1;
- when(dumpCacheManager.getInterfaceDetail(id, ctx, SUB_IFACE_NAME)).thenReturn(iface);
-
- getCustomizer().readCurrentAttributes(id, builder, ctx);
-
- final SwInterfaceDump request = new SwInterfaceDump();
- request.swIfIndex = new InterfaceIndex();
- request.swIfIndex.interfaceindex =~0;
- request.nameFilter = SUB_IFACE_NAME.getBytes();
- request.nameFilterValid = 1;
-
- verifyZeroInteractions(builder);
- verify(dumpCacheManager, times(1)).getInterfaceDetail(id, ctx, SUB_IFACE_NAME);
- }
-
- @Test
- public void testGetAllIds() throws Exception {
- final InstanceIdentifier<Interface> id = InstanceIdentifier.create(InterfacesState.class)
- .child(Interface.class);
-
- final SwInterfaceDetails swIf0 = new SwInterfaceDetails();
- swIf0.swIfIndex = 0;
- swIf0.supSwIfIndex = 0;
- swIf0.interfaceName = IFACE0_NAME.getBytes();
- final SwInterfaceDetails swIf1 = new SwInterfaceDetails();
- swIf1.swIfIndex = 1;
- swIf1.supSwIfIndex = 1;
- swIf1.interfaceName = IFACE1_NAME.getBytes();
- final SwInterfaceDetails swSubIf1 = new SwInterfaceDetails();
- swSubIf1.swIfIndex = 2;
- swSubIf1.subId = 1;
- swSubIf1.supSwIfIndex = 1;
- swSubIf1.interfaceName = SUB_IFACE_NAME.getBytes();
- when(dumpCacheManager.getInterfaces(id, ctx)).thenReturn(Stream.of(swIf0, swIf1, swSubIf1));
-
- final List<InterfaceKey> expectedIds = Arrays.asList(new InterfaceKey(IFACE0_NAME), new InterfaceKey(
- IFACE1_NAME));
- final List<InterfaceKey> actualIds = getCustomizer().getAllIds(id, ctx);
-
- final SwInterfaceDump request = new SwInterfaceDump();
- request.swIfIndex = new InterfaceIndex();
- request.swIfIndex.interfaceindex = ~0;
- request.nameFilter = "".getBytes();
- request.nameFilterValid = 0;
-
- // sub-interface should not be on the list
- assertEquals(expectedIds, actualIds);
- verify(dumpCacheManager, times(1)).getInterfaces(id, ctx);
- }
-
- @Test
- public void testGetAllIdsWithDisabled() throws Exception {
- final InstanceIdentifier<Interface> id = InstanceIdentifier.create(InterfacesState.class)
- .child(Interface.class);
-
- doReturn(true).when(interfaceDisableContext).isInterfaceDisabled(1, mappingContext);
-
- final SwInterfaceDetails swIf0 = new SwInterfaceDetails();
- swIf0.swIfIndex = 0;
- swIf0.interfaceName = IFACE0_NAME.getBytes();
- final SwInterfaceDetails swIf1 = new SwInterfaceDetails();
- swIf1.swIfIndex = 1;
- swIf1.interfaceName = IFACE1_NAME.getBytes();
- when(dumpCacheManager.getInterfaces(id, ctx)).thenReturn(Stream.of(swIf0, swIf1));
-
- final List<InterfaceKey> expectedIds = Arrays.asList(new InterfaceKey(IFACE0_NAME));
- final List<InterfaceKey> actualIds = getCustomizer().getAllIds(id, ctx);
-
- // disabled interface should not be on the list
- assertEquals(expectedIds, actualIds);
- verify(dumpCacheManager, times(1)).getInterfaces(id, ctx);
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceDataTranslatorTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceDataTranslatorTest.java
deleted file mode 100644
index 7ea94a921..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceDataTranslatorTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.honeycomb.translate.read.ReadContext;
-import io.fd.honeycomb.translate.read.ReadFailedException;
-import io.fd.jvpp.core.dto.SwInterfaceDetails;
-import java.nio.charset.StandardCharsets;
-import org.junit.Test;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.AfPacket;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.TapV2;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VhostUser;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VxlanGpeTunnel;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VxlanTunnel;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana._if.type.rev180703.EthernetCsmacd;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class InterfaceDataTranslatorTest implements InterfaceDataTranslator {
-
- @Test
- public void testVppPhysAddrToYang() throws Exception {
- assertEquals("01:02:03:04:05:06", vppPhysAddrToYang(new byte[] {1, 2, 3, 4, 5, 6}));
- // Extended (64-bit) MAC addresses are currently not supported (it might require yang model update),
- // so test if extended part is ignored
- assertEquals("0a:0b:0c:0d:0e:0f", vppPhysAddrToYang(new byte[] {0xa, 0xb, 0xc, 0xd, 0xe, 0xf, 0, 0}));
- }
-
- @Test(expected = NullPointerException.class)
- public void testVppPhysAddrToYangFailNullArgument() throws Exception {
- vppPhysAddrToYang(null);
- }
-
- @Test(expected = IllegalArgumentException.class)
- public void testVppPhysAddrToYangInvalidByteArrayLength() throws Exception {
- vppPhysAddrToYang(new byte[] {1, 2, 3, 4, 5});
- }
-
- @Test
- public void testGetInterfaceType() {
- assertEquals(TapV2.class, getInterfaceType("tap0"));
- assertEquals(VxlanTunnel.class, getInterfaceType("vxlan0"));
- assertEquals(VxlanGpeTunnel.class, getInterfaceType("vxlan_gpe0"));
- assertEquals(VhostUser.class, getInterfaceType("VirtualEthernet0/0/0"));
- assertEquals(AfPacket.class, getInterfaceType("host-veth0"));
- assertEquals(EthernetCsmacd.class, getInterfaceType("eth0.0"));
- assertEquals(EthernetCsmacd.class, getInterfaceType("local0"));
- }
-
- @Test
- public void testIsInterfaceOfType() {
- assertTrue(isInterfaceOfType(TapV2.class, interfaceDetails("tap0")));
- assertTrue(isInterfaceOfType(VxlanTunnel.class, interfaceDetails("vxlan0")));
- assertTrue(isInterfaceOfType(VxlanGpeTunnel.class, interfaceDetails("vxlan_gpe0")));
- assertTrue(isInterfaceOfType(VhostUser.class, interfaceDetails("VirtualEthernet0/0/0")));
- assertTrue(isInterfaceOfType(AfPacket.class, interfaceDetails("host-veth0")));
- assertTrue(isInterfaceOfType(EthernetCsmacd.class, interfaceDetails("eth0.0")));
- assertTrue(isInterfaceOfType(EthernetCsmacd.class, interfaceDetails("local0")));
- }
-
- @Test
- public void testIsInterfaceOfTypeMissingIfc() throws ReadFailedException {
- final InterfaceCacheDumpManager dumpManager = mock(InterfaceCacheDumpManager.class);
- final ReadContext ctx = mock(ReadContext.class);
- final String ifcName = "tapThatDoesNotExists";
- final InstanceIdentifier<Interface> id =
- InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(ifcName));
-
- when(dumpManager.getInterfaceDetail(id, ctx, ifcName)).thenReturn(null);
-
- assertFalse(isInterfaceOfType(dumpManager, id, ctx, TapV2.class));
- }
-
- private SwInterfaceDetails interfaceDetails(final String interfaceName) {
- final SwInterfaceDetails details = new SwInterfaceDetails();
- details.interfaceName = interfaceName.getBytes(StandardCharsets.UTF_8);
- return details;
- }
-
-
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceRoutingCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceRoutingCustomizerTest.java
deleted file mode 100644
index b72130939..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceRoutingCustomizerTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.core.dto.SwInterfaceGetTableReply;
-import org.junit.Test;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.Routing;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.RoutingBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.fib.table.management.rev180521.VniReference;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class InterfaceRoutingCustomizerTest extends ReaderCustomizerTest<Routing, RoutingBuilder> {
-
- private static final String IFC_CTX_NAME = "ifc-test-instance";
- private static final String IF_NAME = "local0";
- private static final int IF_ID = 1;
- private static final Long IP4_VRF_ID = 1L;
- private static final Long IP6_VRF_ID = 2L;
-
- private NamingContext interfacesContext;
-
- public InterfaceRoutingCustomizerTest() {
- super(Routing.class, VppInterfaceStateAugmentationBuilder.class);
- }
-
- @Override
- public void setUp() {
- interfacesContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME);
- defineMapping(mappingContext, IF_NAME, IF_ID, IFC_CTX_NAME);
- }
-
- @Override
- protected ReaderCustomizer<Routing, RoutingBuilder> initCustomizer() {
- return new InterfaceRoutingCustomizer(api, interfacesContext);
- }
-
- private InstanceIdentifier<Routing> getRoutingId(final String name) {
- return InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(name))
- .augmentation(VppInterfaceStateAugmentation.class).child(Routing.class);
- }
-
- @Test
- public void testRead() throws Exception {
- final RoutingBuilder builder = mock(RoutingBuilder.class);
- when(api.swInterfaceGetTable(any())).thenReturn(future(tableReply(IP4_VRF_ID))).thenReturn(future(tableReply(IP6_VRF_ID)));
- getCustomizer().readCurrentAttributes(getRoutingId(IF_NAME), builder, ctx);
-
- verify(builder).setIpv4VrfId(new VniReference(IP4_VRF_ID));
- verify(builder).setIpv6VrfId(new VniReference(IP6_VRF_ID));
- }
-
- @Test
- public void testReadRoutingNotDefined() throws Exception {
- final RoutingBuilder builder = mock(RoutingBuilder.class);
- final Long vrfId = 0L;
- when(api.swInterfaceGetTable(any())).thenReturn(future(tableReply(vrfId)));
- getCustomizer().readCurrentAttributes(getRoutingId(IF_NAME), builder, ctx);
- verifyZeroInteractions(builder);
- }
-
- private SwInterfaceGetTableReply tableReply(final Long vrfId) {
- final SwInterfaceGetTableReply reply = new SwInterfaceGetTableReply();
- reply.vrfId = vrfId.intValue();
- return reply;
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceStatisticsCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceStatisticsCustomizerTest.java
deleted file mode 100644
index ae280cd8f..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/InterfaceStatisticsCustomizerTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 2019 PANTHEON.tech.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.when;
-
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceStatisticsManager;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceStatisticsManagerImpl;
-import io.fd.honeycomb.translate.read.ReadFailedException;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.stats.dto.InterfaceStatistics;
-import io.fd.jvpp.stats.dto.InterfaceStatisticsDetails;
-import io.fd.jvpp.stats.dto.InterfaceStatisticsDetailsReplyDump;
-import io.fd.jvpp.stats.future.FutureJVppStatsFacade;
-import java.util.Optional;
-import org.junit.Assert;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.naming.context.rev160513.contexts.naming.context.mappings.MappingBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state._interface.Statistics;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state._interface.StatisticsBuilder;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class InterfaceStatisticsCustomizerTest extends ReaderCustomizerTest<Statistics, StatisticsBuilder> {
-
- private static final String IFC_CTX_NAME = "ifc-test-stats-instance";
- private static final String IF_NAME = "testIfc";
- private static final int SW_IF_INDEX = 1;
- private static final int OUT_ERRORS = 2;
- private static final int OUT_MULTI = 3;
- private static final int OUT_UNI = 4;
- private static final int OUT_BROAD = 5;
- private static final int OUT_BYTES = 6;
- private static final int IN_ERRORS = 22;
- private static final int IN_MULTI = 33;
- private static final int IN_UNI = 44;
- private static final int IN_BROAD = 55;
- private static final int IN_BYTES = 66;
- private NamingContext interfaceContext;
- private static final InstanceIdentifier<Statistics> IID =
- InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(IF_NAME))
- .child(Statistics.class);
- @Mock
- private FutureJVppStatsFacade jvppStats;
-
- private InterfaceStatisticsManager statisticsManager;
-
- public InterfaceStatisticsCustomizerTest() {
- super(Statistics.class, InterfaceBuilder.class);
- }
-
- @Override
- public void setUp() {
- interfaceContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME);
- interfaceContext.addName(1, IF_NAME, ctx.getMappingContext());
- }
-
- @Override
- protected ReaderCustomizer<Statistics, StatisticsBuilder> initCustomizer() {
- statisticsManager = new InterfaceStatisticsManagerImpl();
- return new InterfaceStatisticsCustomizer(interfaceContext, jvppStats, statisticsManager);
- }
-
- @Test
- public void testReadStatistics() throws Exception {
- statisticsManager.enableStatistics();
- when(ctx.getMappingContext().read(any()))
- .thenReturn(Optional.of(new MappingBuilder().setName(IF_NAME).setIndex(SW_IF_INDEX).build()));
- when(jvppStats.interfaceStatisticsDump(any())).thenReturn(future(getStatistics()));
- StatisticsBuilder statBuilder = new StatisticsBuilder();
- getCustomizer().readCurrentAttributes(IID, statBuilder, ctx);
- Statistics stat = statBuilder.build();
- int[] expected = new int[]{SW_IF_INDEX, OUT_ERRORS, OUT_MULTI, OUT_UNI, OUT_BROAD,
- OUT_BYTES, IN_ERRORS, IN_MULTI, IN_UNI, IN_BROAD, IN_BYTES};
- int[] actual = new int[]{interfaceContext.getIndex(IF_NAME, ctx.getMappingContext()),
- stat.getOutErrors().getValue().intValue(), stat.getOutMulticastPkts().getValue().intValue(),
- stat.getOutUnicastPkts().getValue().intValue(), stat.getOutBroadcastPkts().getValue().intValue(),
- stat.getOutOctets().getValue().intValue(), stat.getInErrors().getValue().intValue(),
- stat.getInMulticastPkts().getValue().intValue(), stat.getInUnicastPkts().getValue().intValue(),
- stat.getInBroadcastPkts().getValue().intValue(), stat.getInOctets().getValue().intValue()};
-
- Assert.assertArrayEquals(expected, actual);
- }
-
- @Test(expected = ReadFailedException.class)
- public void testReadStatisticsFailed() throws Exception {
- statisticsManager.enableStatistics();
- when(ctx.getMappingContext().read(any()))
- .thenReturn(Optional.of(new MappingBuilder().setName(IF_NAME).setIndex(SW_IF_INDEX).build()));
- when(jvppStats.interfaceStatisticsDump(any())).thenReturn(future(null));
- StatisticsBuilder statBuilder = new StatisticsBuilder();
- getCustomizer().readCurrentAttributes(IID, statBuilder, ctx);
- }
-
- private InterfaceStatisticsDetailsReplyDump getStatistics() {
- InterfaceStatisticsDetailsReplyDump dumpReply = new InterfaceStatisticsDetailsReplyDump();
- dumpReply.interfaceStatisticsDetails = new InterfaceStatisticsDetails(1, 1);
- dumpReply.interfaceStatisticsDetails.interfaceStatistics[0] =
- new InterfaceStatistics(SW_IF_INDEX, OUT_ERRORS, OUT_MULTI, OUT_UNI, OUT_BROAD,
- OUT_BYTES, IN_ERRORS, IN_MULTI, IN_UNI, IN_BROAD, IN_BYTES);
- return dumpReply;
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/L2CustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/L2CustomizerTest.java
deleted file mode 100644
index 3a074c664..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/L2CustomizerTest.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.core.dto.BridgeDomainDetails;
-import io.fd.jvpp.core.dto.BridgeDomainDetailsReplyDump;
-import io.fd.jvpp.core.dto.BridgeDomainDump;
-import io.fd.jvpp.core.dto.SwInterfaceDetails;
-import io.fd.jvpp.core.types.BridgeDomainSwIf;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.L2;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.L2Builder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.l2.state.attributes.Interconnection;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.l2.state.attributes.interconnection.BridgeBasedBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class L2CustomizerTest extends ReaderCustomizerTest<L2, L2Builder> {
-
- private static final String IFC_CTX_NAME = "ifc-test-instance";
- private static final String BD_CTX_NAME = "bd-test-instance";
- private NamingContext interfaceContext;
- private NamingContext bridgeDomainContext;
-
- @Mock
- private InterfaceCacheDumpManager dumpCacheManager;
-
- public L2CustomizerTest() {
- super(L2.class, VppInterfaceStateAugmentationBuilder.class);
- }
-
- @Override
- public void setUp() {
- interfaceContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME);
- bridgeDomainContext = new NamingContext("generatedBDName", BD_CTX_NAME);
- }
-
- @Override
- protected ReaderCustomizer<L2, L2Builder> initCustomizer() {
- return new L2Customizer(api, interfaceContext, bridgeDomainContext, dumpCacheManager);
- }
-
- private InstanceIdentifier<L2> getL2Id(final String name) {
- return InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(name))
- .augmentation(
- VppInterfaceStateAugmentation.class).child(L2.class);
- }
-
- private void whenBridgeDomainDumpThenReturn(final List<BridgeDomainDetails> bridgeDomainDetails) {
- final BridgeDomainDetailsReplyDump reply = new BridgeDomainDetailsReplyDump();
- reply.bridgeDomainDetails = bridgeDomainDetails;
- when(api.bridgeDomainDump(any(BridgeDomainDump.class))).thenReturn(future(reply));
- }
-
-
- private BridgeDomainSwIf generateBdSwIfDetails(final int ifId) {
- final BridgeDomainSwIf bdSwIfDetails = new BridgeDomainSwIf();
- bdSwIfDetails.swIfIndex = ifId;
- bdSwIfDetails.shg = 1;
- return bdSwIfDetails;
- }
-
- private Interconnection generateInterconnection(final String bdName, final Boolean bvi) {
- final BridgeBasedBuilder bbBuilder = new BridgeBasedBuilder();
- bbBuilder.setBridgeDomain(bdName);
- bbBuilder.setSplitHorizonGroup((short) 1);
- if (bvi != null) {
- bbBuilder.setBridgedVirtualInterface(bvi);
- } else {
- bbBuilder.setBridgedVirtualInterface(false); // false is default
- }
- return bbBuilder.build();
- }
-
- @Test
- public void testReadBvi() throws Exception {
- final int ifId = 1;
- final int bdId = 1;
- final String bdName = "bd001";
- final String ifName = "eth0.sub0";
- defineMapping(mappingContext, ifName, ifId, IFC_CTX_NAME);
- defineMapping(mappingContext, bdName, bdId, BD_CTX_NAME);
-
- final SwInterfaceDetails ifaceDetails = new SwInterfaceDetails();
- ifaceDetails.subId = ifId;
-
- // BVIinterfaceContext
- whenBridgeDomainDumpThenReturn(Collections.singletonList(generateBdDetails(ifId, ifId, bdId)));
-
- L2Builder builder = mock(L2Builder.class);
- getCustomizer().readCurrentAttributes(getL2Id(ifName), builder, ctx);
-
- verify(builder).setInterconnection(generateInterconnection(bdName, true));
- }
-
- // split to separate test to avoid using cached value from previous run(cannot mock cache)
- @Test
- public void testReadNoBvi() throws Exception {
- final Map<Integer, SwInterfaceDetails> cachedInterfaceDump = new HashMap<>();
- final int ifId = 1;
- final int bdId = 1;
- final String bdName = "bd001";
- final String ifName = "eth0.sub0";
- defineMapping(mappingContext, ifName, ifId, IFC_CTX_NAME);
- defineMapping(mappingContext, bdName, bdId, BD_CTX_NAME);
-
- final SwInterfaceDetails ifaceDetails = new SwInterfaceDetails();
- ifaceDetails.subId = ifId;
- cachedInterfaceDump.put(ifId, ifaceDetails);
-
- // Not BVI
- whenBridgeDomainDumpThenReturn(Collections
- .singletonList(generateBdDetails(ifId, 99 /* Different ifc is marked as BVI in bd details */, bdId)));
-
- L2Builder builder = mock(L2Builder.class);
- getCustomizer().readCurrentAttributes(getL2Id(ifName), builder, ctx);
-
- verify(builder).setInterconnection(generateInterconnection(bdName, null));
- }
-
- private BridgeDomainDetails generateBdDetails(final int ifId, final int bviSwIfIndex, int bdId) {
- final BridgeDomainDetails bridgeDomainDetails = new BridgeDomainDetails();
- bridgeDomainDetails.bviSwIfIndex = bviSwIfIndex;
- bridgeDomainDetails.bdId = bdId;
- bridgeDomainDetails.swIfDetails = new BridgeDomainSwIf[]{generateBdSwIfDetails(ifId)};
- return bridgeDomainDetails;
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/RewriteCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/RewriteCustomizerTest.java
deleted file mode 100644
index a64064f84..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/RewriteCustomizerTest.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.common.translate.util.TagRewriteOperation;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.honeycomb.translate.read.ReadFailedException;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.core.dto.SwInterfaceDetails;
-import java.util.List;
-import org.junit.Test;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Captor;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.SubinterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319._802dot1q;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.SubInterfaces;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.sub.interfaces.SubInterface;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.sub.interfaces.SubInterfaceKey;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.rewrite.attributes.Rewrite;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.rewrite.attributes.RewriteBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.sub._interface.l2.state.attributes.L2Builder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.tag.rewrite.PushTags;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.ChildOf;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class RewriteCustomizerTest extends ReaderCustomizerTest<Rewrite, RewriteBuilder> {
-
- private static final String IFC_CTX_NAME = "ifc-test-instance";
- private static final String IF_NAME = "local0";
- private static final String VLAN_IF_NAME = "local0.1";
- private static final int VLAN_IF_INDEX = 11;
- private static final int VLAN_ID = 1;
-
- private NamingContext interfacesContext;
-
- @Captor
- private ArgumentCaptor<List<PushTags>> captor;
-
- @Mock
- private InterfaceCacheDumpManager dumpCacheManager;
-
- public RewriteCustomizerTest() {
- super(Rewrite.class, L2Builder.class);
- }
-
- @Override
- public void setUp() {
- interfacesContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME);
- defineMapping(mappingContext, VLAN_IF_NAME, VLAN_IF_INDEX, IFC_CTX_NAME);
- }
-
- @Override
- protected ReaderCustomizer<Rewrite, RewriteBuilder> initCustomizer() {
- return new RewriteCustomizer(dumpCacheManager);
- }
-
- private InstanceIdentifier<Rewrite> getVlanTagRewriteId(final String name, final long index) {
- final Class<ChildOf<? super SubInterface>> child = (Class) Rewrite.class;
- final InstanceIdentifier id =
- InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(name))
- .augmentation(
- SubinterfaceStateAugmentation.class).child(SubInterfaces.class)
- .child(SubInterface.class, new SubInterfaceKey(index))
- .child(child);
- return id;
- }
-
- @Test
- public void testRead() throws ReadFailedException {
- final SwInterfaceDetails ifaceDetails = new SwInterfaceDetails();
- ifaceDetails.subId = VLAN_ID;
- ifaceDetails.interfaceName = VLAN_IF_NAME.getBytes();
- ifaceDetails.vtrOp = TagRewriteOperation.translate_2_to_2.ordinal();
- ifaceDetails.subNumberOfTags = 2;
- ifaceDetails.vtrTag1 = 123;
- ifaceDetails.vtrTag2 = 321;
- ifaceDetails.vtrPushDot1Q = 1;
- ifaceDetails.swIfIndex = VLAN_IF_INDEX;
- ifaceDetails.supSwIfIndex = 2;
-
- final RewriteBuilder builder = mock(RewriteBuilder.class);
- final InstanceIdentifier<Rewrite> vlanTagRewriteId = getVlanTagRewriteId(IF_NAME, VLAN_ID);
- when(dumpCacheManager.getInterfaceDetail(vlanTagRewriteId, ctx, VLAN_IF_NAME)).thenReturn(ifaceDetails);
- getCustomizer().readCurrentAttributes(vlanTagRewriteId, builder, ctx);
-
- verify(builder).setVlanType(_802dot1q.class);
- verify(builder).setPopTags((short) 2);
-
- verify(builder).setPushTags(captor.capture());
- final List<PushTags> tags = captor.getValue();
- assertEquals(ifaceDetails.subNumberOfTags, tags.size());
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/SubInterfaceCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/SubInterfaceCustomizerTest.java
deleted file mode 100644
index e1afd9c99..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/SubInterfaceCustomizerTest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import io.fd.hc2vpp.common.test.read.ListReaderCustomizerTest;
-import io.fd.hc2vpp.common.test.util.InterfaceDumpHelper;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.honeycomb.translate.read.ReadFailedException;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.core.dto.SwInterfaceDetails;
-import java.util.List;
-import java.util.stream.Stream;
-import org.junit.Test;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.SubinterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.SubInterfaces;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.SubInterfacesBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.sub.interfaces.SubInterface;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.sub.interfaces.SubInterfaceBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.sub.interfaces.SubInterfaceKey;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.match.attributes.match.type.VlanTagged;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.sub._interface.base.attributes.Match;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.sub._interface.base.attributes.Tags;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class SubInterfaceCustomizerTest
- extends ListReaderCustomizerTest<SubInterface, SubInterfaceKey, SubInterfaceBuilder> implements
- InterfaceDumpHelper {
-
- private static final String IFC_CTX_NAME = "ifc-test-instance";
- private static final String SUPER_IF_NAME = "local0";
- private static final int SUPER_IF_INDEX = 1;
- private static final String VLAN_IF_NAME = "local0.1";
- private static final int VLAN_IF_ID = 1;
- private static final int VLAN_IF_INDEX = 11;
-
- private NamingContext interfacesContext;
-
- @Mock
- private InterfaceCacheDumpManager dumpCacheManager;
-
- public SubInterfaceCustomizerTest() {
- super(SubInterface.class, SubInterfacesBuilder.class);
- }
-
- @Override
- public void setUp() {
- interfacesContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME);
- defineMapping(mappingContext, SUPER_IF_NAME, SUPER_IF_INDEX, IFC_CTX_NAME);
- defineMapping(mappingContext, VLAN_IF_NAME, VLAN_IF_INDEX, IFC_CTX_NAME);
- }
-
- @Override
- protected ReaderCustomizer<SubInterface, SubInterfaceBuilder> initCustomizer() {
- return new SubInterfaceCustomizer(api, interfacesContext, dumpCacheManager);
- }
-
- private InstanceIdentifier<SubInterface> getSubInterfaceId(final String name, final long id) {
- return InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(name))
- .augmentation(
- SubinterfaceStateAugmentation.class).child(
- SubInterfaces.class).child(SubInterface.class, new SubInterfaceKey(id));
- }
-
- @Test
- public void testRead() throws ReadFailedException {
-
- final SwInterfaceDetails ifaceDetails = new SwInterfaceDetails();
- ifaceDetails.subId = VLAN_IF_ID;
- ifaceDetails.interfaceName = VLAN_IF_NAME.getBytes();
- ifaceDetails.swIfIndex = 2;
- ifaceDetails.supSwIfIndex = SUPER_IF_INDEX;
- defineMapping(mappingContext, SUPER_IF_NAME, SUPER_IF_INDEX, IFC_CTX_NAME);
- defineMapping(mappingContext, VLAN_IF_NAME, VLAN_IF_INDEX, IFC_CTX_NAME);
- ifaceDetails.subNumberOfTags = 2;
- ifaceDetails.subOuterVlanIdAny = 1;
- ifaceDetails.subInnerVlanIdAny = 1;
- ifaceDetails.subExactMatch = 1;
-
- final SubInterfaceBuilder builder = mock(SubInterfaceBuilder.class);
- final InstanceIdentifier<SubInterface> subInterfaceId = getSubInterfaceId(SUPER_IF_NAME, VLAN_IF_ID);
-
- when(dumpCacheManager.getInterfaceDetail(subInterfaceId, ctx, VLAN_IF_NAME)).thenReturn(ifaceDetails);
- getCustomizer().readCurrentAttributes(subInterfaceId, builder, ctx);
-
- verify(builder).setIdentifier((long) VLAN_IF_ID);
-
- ArgumentCaptor<Tags> tagCaptor = ArgumentCaptor.forClass(Tags.class);
- verify(builder).setTags(tagCaptor.capture());
- assertEquals(ifaceDetails.subNumberOfTags, tagCaptor.getValue().getTag().size());
-
- ArgumentCaptor<Match> matchCaptor = ArgumentCaptor.forClass(Match.class);
- verify(builder).setMatch(matchCaptor.capture());
- final VlanTagged matchType = (VlanTagged) matchCaptor.getValue().getMatchType();
- assertTrue(matchType.getVlanTagged().isMatchExactTags());
- }
-
- @Test
- public void testGetAllIds() throws Exception {
- final SwInterfaceDetails iface = new SwInterfaceDetails();
- iface.interfaceName = VLAN_IF_NAME.getBytes();
- iface.swIfIndex = VLAN_IF_INDEX;
- iface.subId = VLAN_IF_ID;
- iface.supSwIfIndex = SUPER_IF_INDEX;
-
- final InstanceIdentifier<SubInterface> subInterfaceId = getSubInterfaceId(SUPER_IF_NAME, VLAN_IF_ID);
- when(dumpCacheManager.getInterfaces(subInterfaceId, ctx)).thenReturn(Stream.of(iface));
- final List<SubInterfaceKey> allIds =
- getCustomizer().getAllIds(subInterfaceId, ctx);
-
- assertEquals(1, allIds.size());
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/SubInterfaceL2CustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/SubInterfaceL2CustomizerTest.java
deleted file mode 100644
index 59ff8f497..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/SubInterfaceL2CustomizerTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.SubinterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.SubInterfaces;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.sub.interfaces.SubInterface;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.sub.interfaces.SubInterfaceBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.sub.interfaces.SubInterfaceKey;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.sub._interface.l2.state.attributes.L2;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.sub._interface.l2.state.attributes.L2Builder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class SubInterfaceL2CustomizerTest extends ReaderCustomizerTest<L2, L2Builder> {
-
- private static final String IFC_CTX_NAME = "ifc-test-instance";
- private static final String BD_CTX_NAME = "bd-test-instance";
- private NamingContext interfaceContext;
- private NamingContext bridgeDomainContext;
-
- private static final String IF_NAME = "local0";
- private static final int IF_INDEX = 1;
- private static final String SUB_IF_NAME = "local0.1";
- private static final long SUB_IF_ID = 1;
- private static final int SUB_IF_INDEX = 11;
- private InstanceIdentifier<L2> IID =
- InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(IF_NAME))
- .augmentation(SubinterfaceStateAugmentation.class)
- .child(SubInterfaces.class).child(SubInterface.class, new SubInterfaceKey(SUB_IF_ID))
- .child(L2.class);
-
- @Mock
- private InterfaceCacheDumpManager dumpCacheManager;
-
- public SubInterfaceL2CustomizerTest() {
- super(L2.class, SubInterfaceBuilder.class);
- }
-
- @Override
- protected void setUp() {
- interfaceContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME);
- bridgeDomainContext = new NamingContext("generatedBDName", BD_CTX_NAME);
- defineMapping(mappingContext, IF_NAME, IF_INDEX, IFC_CTX_NAME);
- defineMapping(mappingContext, SUB_IF_NAME, SUB_IF_INDEX, IFC_CTX_NAME);
- }
-
- @Override
- protected ReaderCustomizer<L2, L2Builder> initCustomizer() {
- return new SubInterfaceL2Customizer(api, interfaceContext, bridgeDomainContext, dumpCacheManager);
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/SubInterfaceRoutingCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/SubInterfaceRoutingCustomizerTest.java
deleted file mode 100644
index 33d118a26..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/SubInterfaceRoutingCustomizerTest.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.when;
-
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.hc2vpp.common.translate.util.ByteDataTranslator;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.honeycomb.translate.read.ReadFailedException;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.core.dto.SwInterfaceGetTable;
-import io.fd.jvpp.core.dto.SwInterfaceGetTableReply;
-import org.junit.Test;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.SubinterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.SubInterfaces;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.sub.interfaces.SubInterface;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.sub.interfaces.SubInterfaceBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.interfaces.state._interface.sub.interfaces.SubInterfaceKey;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.sub._interface.routing.attributes.Routing;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.vlan.rev180319.sub._interface.routing.attributes.RoutingBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class SubInterfaceRoutingCustomizerTest extends ReaderCustomizerTest<Routing, RoutingBuilder> implements
- ByteDataTranslator {
-
- private static final String IFC_CTX_NAME = "ifc-test-instance";
- private static final String IF_NAME = "local0";
- private static final int IF_ID = 1;
- private static final String SUBIF_NAME = "local0.4";
- private static final int SUBIF_ID = 4;
- private static final InstanceIdentifier<Routing> VALID_ID =
- InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(IF_NAME))
- .augmentation(SubinterfaceStateAugmentation.class)
- .child(SubInterfaces.class)
- .child(SubInterface.class, new SubInterfaceKey((long) SUBIF_ID))
- .child(Routing.class);
- private static final int IPV4_VRF = 4;
- private static final int IPV6_VRF = 6;
- private static final int NO_VRF = 0;
-
- private NamingContext interfacesContext;
-
- public SubInterfaceRoutingCustomizerTest() {
- super(Routing.class, SubInterfaceBuilder.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- interfacesContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME);
- defineMapping(mappingContext, IF_NAME, IF_ID, IFC_CTX_NAME);
- defineMapping(mappingContext, SUBIF_NAME, SUBIF_ID, IFC_CTX_NAME);
- }
-
- @Override
- protected ReaderCustomizer<Routing, RoutingBuilder> initCustomizer() {
- return new SubInterfaceRoutingCustomizer(api, interfacesContext);
- }
-
- @Test
- public void testReadAttributesAllDefined() throws ReadFailedException {
- when(api.swInterfaceGetTable(request(false, SUBIF_ID))).thenReturn(future(reply(IPV4_VRF)));
- when(api.swInterfaceGetTable(request(true, SUBIF_ID))).thenReturn(future(reply(IPV6_VRF)));
- final RoutingBuilder routingBuilder = new RoutingBuilder();
- getCustomizer().readCurrentAttributes(VALID_ID, routingBuilder, ctx);
- assertEquals(IPV4_VRF, routingBuilder.getIpv4VrfId().getValue().intValue());
- assertEquals(IPV6_VRF, routingBuilder.getIpv6VrfId().getValue().intValue());
- }
-
- @Test
- public void testReadAttributesOneDefined() throws ReadFailedException {
- when(api.swInterfaceGetTable(request(false, SUBIF_ID))).thenReturn(future(reply(IPV4_VRF)));
- when(api.swInterfaceGetTable(request(true, SUBIF_ID))).thenReturn(future(reply(NO_VRF)));
- final RoutingBuilder routingBuilder = new RoutingBuilder();
- getCustomizer().readCurrentAttributes(VALID_ID, routingBuilder, ctx);
- assertEquals(IPV4_VRF, routingBuilder.getIpv4VrfId().getValue().intValue());
- assertNull(routingBuilder.getIpv6VrfId());
- }
-
- @Test
- public void testReadAttributesNoDefined() throws ReadFailedException {
- when(api.swInterfaceGetTable(any())).thenReturn(future(reply(NO_VRF)));
- final RoutingBuilder routingBuilder = new RoutingBuilder();
- getCustomizer().readCurrentAttributes(VALID_ID, routingBuilder, ctx);
- assertNull(routingBuilder.getIpv4VrfId());
- assertNull(routingBuilder.getIpv6VrfId());
- }
-
- private SwInterfaceGetTable request(final boolean ipv6, final int index) {
- SwInterfaceGetTable request = new SwInterfaceGetTable();
- request.isIpv6 = booleanToByte(ipv6);
- request.swIfIndex = index;
- return request;
- }
-
- private SwInterfaceGetTableReply reply(final int vrf) {
- SwInterfaceGetTableReply reply = new SwInterfaceGetTableReply();
- reply.vrfId = vrf;
- return reply;
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/TapV2CustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/TapV2CustomizerTest.java
deleted file mode 100644
index ce5f491d4..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/TapV2CustomizerTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 2018 Pantheon Technologies and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.hc2vpp.common.test.util.InterfaceDumpHelper;
-import io.fd.hc2vpp.common.translate.util.Ipv4Translator;
-import io.fd.hc2vpp.common.translate.util.Ipv6Translator;
-import io.fd.hc2vpp.common.translate.util.MacTranslator;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.honeycomb.translate.read.ReadFailedException;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.core.dto.SwInterfaceDetails;
-import io.fd.jvpp.core.dto.SwInterfaceTapV2Details;
-import io.fd.jvpp.core.dto.SwInterfaceTapV2DetailsReplyDump;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.TapV2;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.TapV2Builder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6AddressNoZone;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class TapV2CustomizerTest extends ReaderCustomizerTest<TapV2, TapV2Builder> implements InterfaceDumpHelper,
- Ipv4Translator, Ipv6Translator, MacTranslator {
-
- private static final String IFC_CTX_NAME = "ifc-test-instance";
- private static final String IF_NAME = "tapV21";
- private static final String DEVICE_NAME = "testTapV2Device";
- private static final int IF_INDEX = 1;
- private static final String HOST_BRIDGE = "TestBridge";
- private static final String HOST_IPV4_PREFIX = "192.168.255.100";
- private static final byte HOST_IPV4_PREFIX_LEN = 24;
- private static final String HOST_IPV6_PREFIX = "a::100";
- private static final byte HOST_IPV6_PREFIX_LEN = -128;
- private static final int HOST_IPV6_PREFIX_LEN_EXP = 128;
- private static final int RX_TX_RING_SIZE = 512;
- private static final String HOST_MAC = "00:ee:ee:ee:ee:ee";
- private static final String HOST_NAMESPACE = "testHostNS";
-
- private static final InstanceIdentifier<TapV2> IID =
- InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(IF_NAME))
- .augmentation(VppInterfaceStateAugmentation.class).child(TapV2.class);
- private NamingContext interfaceContext;
-
- @Mock
- private InterfaceCacheDumpManager dumpCacheManager;
-
- public TapV2CustomizerTest() {
- super(TapV2.class, VppInterfaceStateAugmentationBuilder.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- interfaceContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME);
- defineMapping(mappingContext, IF_NAME, IF_INDEX, IFC_CTX_NAME);
- when(dumpCacheManager.getInterfaceDetail(IID, ctx, IF_NAME)).thenReturn(ifaceDetails());
- }
-
- private SwInterfaceDetails ifaceDetails() {
- final SwInterfaceDetails details = new SwInterfaceDetails();
- details.swIfIndex = IF_INDEX;
- details.interfaceName = IF_NAME.getBytes();
- details.tag = new byte[64];
- return details;
- }
-
- @Override
- protected ReaderCustomizer<TapV2, TapV2Builder> initCustomizer() {
- return new TapV2Customizer(api, interfaceContext, dumpCacheManager);
- }
-
- @Test
- public void testRead() throws ReadFailedException {
- final TapV2Builder builder = mock(TapV2Builder.class);
- when(api.swInterfaceTapV2Dump(any())).thenReturn(future(tapDump()));
- getCustomizer().readCurrentAttributes(IID, builder, ctx);
- verify(builder).setHostInterfaceName(IF_NAME);
- verify(builder).setDeviceName(DEVICE_NAME);
- verify(builder).setHostBridge(HOST_BRIDGE);
- verify(builder)
- .setHostIpv4Address(new Ipv4Prefix(String.format("%s/%d", HOST_IPV4_PREFIX, HOST_IPV4_PREFIX_LEN)));
- verify(builder)
- .setHostIpv6Address(new Ipv6Prefix(String.format("%s/%d", HOST_IPV6_PREFIX, HOST_IPV6_PREFIX_LEN_EXP)));
- verify(builder).setTxRingSize(RX_TX_RING_SIZE);
- verify(builder).setRxRingSize(RX_TX_RING_SIZE);
- verify(builder).setHostNamespace(HOST_NAMESPACE);
- verify(builder).setHostMac(new PhysAddress(HOST_MAC));
- }
-
- @Test(expected = ReadFailedException.class)
- public void testReadFailed() throws ReadFailedException {
- when(api.swInterfaceTapV2Dump(any())).thenReturn(failedFuture());
- getCustomizer().readCurrentAttributes(IID, mock(TapV2Builder.class), ctx);
- }
-
- private SwInterfaceTapV2DetailsReplyDump tapDump() {
- final SwInterfaceTapV2DetailsReplyDump reply = new SwInterfaceTapV2DetailsReplyDump();
- final SwInterfaceTapV2Details details = new SwInterfaceTapV2Details();
- details.devName = DEVICE_NAME.getBytes(UTF_8);
- details.swIfIndex = IF_INDEX;
- details.hostBridge = HOST_BRIDGE.getBytes(UTF_8);
- details.hostNamespace = HOST_NAMESPACE.getBytes(UTF_8);
- details.hostIfName = IF_NAME.getBytes(UTF_8);
- details.hostIp4PrefixLen = HOST_IPV4_PREFIX_LEN;
- details.hostIp4Addr = ipv4AddressNoZoneToArray(HOST_IPV4_PREFIX);
- details.hostIp6Addr = ipv6AddressNoZoneToArray(new Ipv6AddressNoZone(HOST_IPV6_PREFIX));
- details.hostIp6PrefixLen = HOST_IPV6_PREFIX_LEN;
- details.hostMacAddr = parseMac(HOST_MAC);
- details.txRingSz = details.rxRingSz = RX_TX_RING_SIZE;
- reply.swInterfaceTapV2Details.add(details);
- return reply;
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/VhostUserCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/VhostUserCustomizerTest.java
deleted file mode 100644
index 0f849ed42..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/VhostUserCustomizerTest.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.hc2vpp.common.test.util.InterfaceDumpHelper;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.honeycomb.translate.read.ReadFailedException;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.core.dto.SwInterfaceDetails;
-import io.fd.jvpp.core.dto.SwInterfaceVhostUserDetails;
-import io.fd.jvpp.core.dto.SwInterfaceVhostUserDetailsReplyDump;
-import java.math.BigInteger;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VhostUserRole;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.VhostUser;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.VhostUserBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class VhostUserCustomizerTest extends ReaderCustomizerTest<VhostUser, VhostUserBuilder> implements
- InterfaceDumpHelper {
- private static final String IFC_CTX_NAME = "ifc-test-instance";
- private static final String IF_NAME = "VirtualEthernet1";
- private static final int IF_INDEX = 1;
- private static final InstanceIdentifier<VhostUser> IID =
- InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(IF_NAME))
- .augmentation(VppInterfaceStateAugmentation.class).child(VhostUser.class);
-
- private NamingContext interfaceContext;
-
- @Mock
- private InterfaceCacheDumpManager dumpCacheManager;
-
- public VhostUserCustomizerTest() {
- super(VhostUser.class, VppInterfaceStateAugmentationBuilder.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- interfaceContext = new NamingContext("generatedIfaceName", IFC_CTX_NAME);
- defineMapping(mappingContext, IF_NAME, IF_INDEX, IFC_CTX_NAME);
- when(dumpCacheManager.getInterfaceDetail(IID, ctx, IF_NAME)).thenReturn(ifaceDetails());
- }
-
- private SwInterfaceDetails ifaceDetails() {
- final SwInterfaceDetails details = new SwInterfaceDetails();
- details.swIfIndex = IF_INDEX;
- details.interfaceName = IF_NAME.getBytes();
- details.tag = new byte[64];
- return details;
- }
-
- @Override
- protected ReaderCustomizer<VhostUser, VhostUserBuilder> initCustomizer() {
- return new VhostUserCustomizer(api, interfaceContext, dumpCacheManager);
- }
-
- @Test
- public void testRead() throws ReadFailedException {
- final VhostUserBuilder builder = mock(VhostUserBuilder.class);
- when(api.swInterfaceVhostUserDump(any())).thenReturn(future(vhostDump()));
- getCustomizer().readCurrentAttributes(IID, builder, ctx);
- verifyVhostBuilder(builder);
- }
-
- @Test(expected = ReadFailedException.class)
- public void testReadFailed() throws ReadFailedException {
- when(api.swInterfaceVhostUserDump(any())).thenReturn(failedFuture());
- getCustomizer().readCurrentAttributes(IID, mock(VhostUserBuilder.class), ctx);
- }
-
- private SwInterfaceVhostUserDetailsReplyDump vhostDump() {
- final SwInterfaceVhostUserDetailsReplyDump reply = new SwInterfaceVhostUserDetailsReplyDump();
- final SwInterfaceVhostUserDetails details = new SwInterfaceVhostUserDetails();
- details.swIfIndex = IF_INDEX;
- details.interfaceName = IF_NAME.getBytes();
- details.isServer = 1;
- details.features = 2;
- details.numRegions = 3;
- details.sockFilename = "socketName".getBytes();
- details.virtioNetHdrSz = 4;
- details.sockErrno = 5;
- reply.swInterfaceVhostUserDetails.add(details);
- return reply;
- }
-
- private void verifyVhostBuilder(final VhostUserBuilder builder) {
- verify(builder).setRole(VhostUserRole.Server);
- verify(builder).setFeatures(BigInteger.valueOf(2));
- verify(builder).setNumMemoryRegions(3L);
- verify(builder).setSocket("socketName");
- verify(builder).setVirtioNetHdrSize(4L);
- verify(builder).setConnectError("5");
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/VxlanCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/VxlanCustomizerTest.java
deleted file mode 100644
index 80a8975d1..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/VxlanCustomizerTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
-import com.google.common.collect.Lists;
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.hc2vpp.common.translate.util.AddressTranslator;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.honeycomb.translate.read.ReadFailedException;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.VppInvocationException;
-import io.fd.jvpp.core.dto.SwInterfaceDetails;
-import io.fd.jvpp.core.dto.VxlanTunnelDetails;
-import io.fd.jvpp.core.dto.VxlanTunnelDetailsReplyDump;
-import io.fd.jvpp.core.dto.VxlanTunnelDump;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.L2Input;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.Vxlan;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.VxlanBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class VxlanCustomizerTest extends ReaderCustomizerTest<Vxlan, VxlanBuilder> {
-
- private static final String IFC_CTX_NAME = "ifc-test-instance";
- private static final String IF_NAME = "ifc1";
- private static final int IF_INDEX = 0;
-
- private NamingContext interfacesContext;
- static final InstanceIdentifier<Vxlan> IID =
- InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(IF_NAME))
- .augmentation(VppInterfaceStateAugmentation.class).child(Vxlan.class);
-
- @Mock
- private InterfaceCacheDumpManager dumpCacheManager;
-
- public VxlanCustomizerTest() {
- super(Vxlan.class, VppInterfaceStateAugmentationBuilder.class);
- }
-
- @Override
- public void setUp() throws VppInvocationException, ReadFailedException {
- interfacesContext = new NamingContext("vxlan-tunnel", IFC_CTX_NAME);
- defineMapping(mappingContext, IF_NAME, IF_INDEX, IFC_CTX_NAME);
-
- final SwInterfaceDetails v = new SwInterfaceDetails();
- v.interfaceName = "vxlan-tunnel4".getBytes();
-
- when(dumpCacheManager.getInterfaceDetail(IID, ctx, IF_NAME)).thenReturn(v);
- doReturn(future(getVxlanTunnelDetailsReplyDump(55))).when(api).vxlanTunnelDump(any(VxlanTunnelDump.class));
- }
-
- @Test
- public void testRead() throws Exception {
- final VxlanBuilder builder = getCustomizer().getBuilder(IID);
- getCustomizer().readCurrentAttributes(IID, builder, ctx);
-
- assertEquals(9, builder.getVni().getValue().intValue());
- assertEquals(55, builder.getEncapVrfId().getValue().intValue());
- assertEquals(L2Input.class, builder.getDecapNext());
-
- assertNull(builder.getSrc().getIpv6AddressNoZone());
- assertNotNull(builder.getSrc().getIpv4AddressNoZone());
- assertEquals("1.2.3.5", builder.getSrc().getIpv4AddressNoZone().getValue());
-
- assertNull(builder.getDst().getIpv6AddressNoZone());
- assertNotNull(builder.getDst().getIpv4AddressNoZone());
- assertEquals("1.2.3.4", builder.getDst().getIpv4AddressNoZone().getValue());
-
- verify(api).vxlanTunnelDump(any(VxlanTunnelDump.class));
- }
-
- @Test
- public void testReadVniOverflow() throws Exception {
- final long encapVrfId = 4294967295L;
- doReturn(future(getVxlanTunnelDetailsReplyDump((int) encapVrfId))).when(api)
- .vxlanTunnelDump(any(VxlanTunnelDump.class));
- final VxlanBuilder builder = getCustomizer().getBuilder(IID);
- getCustomizer().readCurrentAttributes(IID, builder, ctx);
-
- assertEquals(encapVrfId, builder.getEncapVrfId().getValue().longValue());
- verify(api).vxlanTunnelDump(any(VxlanTunnelDump.class));
- }
-
- @Test(expected = IllegalArgumentException.class)
- public void testReadVppNameNotCached() throws Exception {
- when(dumpCacheManager.getInterfaceDetail(IID, ctx, IF_NAME))
- .thenThrow(new IllegalArgumentException("Detail for interface not found"));
-
- final VxlanBuilder builder = getCustomizer().getBuilder(IID);
- getCustomizer().readCurrentAttributes(IID, builder, ctx);
- }
-
- @Test
- public void testReadWrongType() throws Exception {
- final SwInterfaceDetails v = new SwInterfaceDetails();
- v.interfaceName = "tap-2".getBytes();
-
- when(dumpCacheManager.getInterfaceDetail(IID, ctx, IF_NAME)).thenReturn(v);
-
- final VxlanBuilder builder = getCustomizer().getBuilder(IID);
- getCustomizer().readCurrentAttributes(IID, builder, ctx);
-
- // Should be ignored
- verifyZeroInteractions(api);
- }
-
- @Override
- protected ReaderCustomizer<Vxlan, VxlanBuilder> initCustomizer() {
- return new VxlanCustomizer(api, interfacesContext, dumpCacheManager);
- }
-
- private static VxlanTunnelDetailsReplyDump getVxlanTunnelDetailsReplyDump(final int encapVrfId) {
- final VxlanTunnelDetailsReplyDump replyDump = new VxlanTunnelDetailsReplyDump();
- final VxlanTunnelDetails vxlanTunnelDetails = new VxlanTunnelDetails();
- vxlanTunnelDetails.isIpv6 = 0;
- vxlanTunnelDetails.dstAddress = AddressTranslator.INSTANCE.ipv4AddressNoZoneToArray("1.2.3.4");
- vxlanTunnelDetails.srcAddress = AddressTranslator.INSTANCE.ipv4AddressNoZoneToArray("1.2.3.5");
- vxlanTunnelDetails.encapVrfId = encapVrfId;
- vxlanTunnelDetails.swIfIndex = 0;
- vxlanTunnelDetails.vni = 9;
- vxlanTunnelDetails.decapNextIndex = 1;
- replyDump.vxlanTunnelDetails = Lists.newArrayList(vxlanTunnelDetails);
- return replyDump;
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/VxlanGpeCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/VxlanGpeCustomizerTest.java
deleted file mode 100644
index e5bd6dc34..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/VxlanGpeCustomizerTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.mockito.ArgumentMatchers.matches;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
-import com.google.common.collect.Lists;
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.hc2vpp.common.translate.util.AddressTranslator;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManager;
-import io.fd.honeycomb.translate.read.ReadFailedException;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.VppBaseCallException;
-import io.fd.jvpp.core.dto.SwInterfaceDetails;
-import io.fd.jvpp.core.dto.VxlanGpeTunnelDetails;
-import io.fd.jvpp.core.dto.VxlanGpeTunnelDetailsReplyDump;
-import io.fd.jvpp.core.dto.VxlanGpeTunnelDump;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.VxlanGpe;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.VxlanGpeBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class VxlanGpeCustomizerTest extends ReaderCustomizerTest<VxlanGpe, VxlanGpeBuilder>
- implements AddressTranslator {
-
- private static final String IFC_CTX_NAME = "ifc-test-instance";
- private static final String IF_NAME = "ifc2";
- private static final int IF_INDEX = 0;
-
- private NamingContext interfacesContext;
- private static final InstanceIdentifier<VxlanGpe> VXLAN_GPE_ID =
- InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(IF_NAME))
- .augmentation(VppInterfaceStateAugmentation.class).child(VxlanGpe.class);
-
- @Mock
- private InterfaceCacheDumpManager dumpCacheManager;
-
- public VxlanGpeCustomizerTest() {
- super(VxlanGpe.class, VppInterfaceStateAugmentationBuilder.class);
- }
-
- @Override
- public void setUp() throws VppBaseCallException, ReadFailedException {
- interfacesContext = new NamingContext("vxlan_gpe_inf", IFC_CTX_NAME);
- defineMapping(mappingContext, IF_NAME, IF_INDEX, IFC_CTX_NAME);
-
- final SwInterfaceDetails v = new SwInterfaceDetails();
- v.interfaceName = "vxlan_gpe_inf2".getBytes();
-
- when(dumpCacheManager.getInterfaceDetail(any(), any(), matches(IF_NAME))).thenReturn(v);
-
- final VxlanGpeTunnelDetailsReplyDump value = new VxlanGpeTunnelDetailsReplyDump();
- final VxlanGpeTunnelDetails vxlanGpeTunnelDetails = new VxlanGpeTunnelDetails();
- vxlanGpeTunnelDetails.isIpv6 = 0;
- vxlanGpeTunnelDetails.local = ipv4AddressNoZoneToArray("1.2.3.4");
- vxlanGpeTunnelDetails.remote = ipv4AddressNoZoneToArray("1.2.3.5");
- vxlanGpeTunnelDetails.vni = 9;
- vxlanGpeTunnelDetails.protocol = 1;
- vxlanGpeTunnelDetails.encapVrfId = 55;
- vxlanGpeTunnelDetails.decapVrfId = 66;
- vxlanGpeTunnelDetails.swIfIndex = 0;
- value.vxlanGpeTunnelDetails = Lists.newArrayList(vxlanGpeTunnelDetails);
- doReturn(future(value)).when(api).vxlanGpeTunnelDump(any(VxlanGpeTunnelDump.class));
- }
-
- @Test
- public void testReadCurrentAttributes() throws Exception {
- final VxlanGpeBuilder builder = getCustomizer().getBuilder(VXLAN_GPE_ID);
- getCustomizer().readCurrentAttributes(VXLAN_GPE_ID, builder, ctx);
-
- assertNull(builder.getLocal().getIpv6AddressNoZone());
- assertNotNull(builder.getLocal().getIpv4AddressNoZone());
- assertEquals("1.2.3.4", builder.getLocal().getIpv4AddressNoZone().getValue());
-
- assertNull(builder.getRemote().getIpv6AddressNoZone());
- assertNotNull(builder.getRemote().getIpv4AddressNoZone());
- assertEquals("1.2.3.5", builder.getRemote().getIpv4AddressNoZone().getValue());
-
- assertEquals(9, builder.getVni().getValue().intValue());
- assertEquals(1, builder.getNextProtocol().getIntValue());
- assertEquals(55, builder.getEncapVrfId().intValue());
- assertEquals(66, builder.getDecapVrfId().intValue());
-
- verify(api).vxlanGpeTunnelDump(any(VxlanGpeTunnelDump.class));
- }
-
- @Test(expected = IllegalArgumentException.class)
- public void testReadCurrentAttributesVppNameNotCached() throws Exception {
- when(dumpCacheManager.getInterfaceDetail(VXLAN_GPE_ID, ctx, IF_NAME))
- .thenThrow(new IllegalArgumentException("Detail for interface not found"));
-
- final VxlanGpeBuilder builder = getCustomizer().getBuilder(VXLAN_GPE_ID);
- getCustomizer().readCurrentAttributes(VXLAN_GPE_ID, builder, ctx);
- }
-
- @Test
- public void testReadCurrentAttributesWrongType() throws Exception {
- final SwInterfaceDetails v = new SwInterfaceDetails();
- v.interfaceName = "tap-3".getBytes();
-
- when(dumpCacheManager.getInterfaceDetail(VXLAN_GPE_ID, ctx, IF_NAME)).thenReturn(v);
-
- final VxlanGpeBuilder builder = getCustomizer().getBuilder(VXLAN_GPE_ID);
- getCustomizer().readCurrentAttributes(VXLAN_GPE_ID, builder, ctx);
- verifyZeroInteractions(api);
- }
-
- @Override
- protected ReaderCustomizer<VxlanGpe, VxlanGpeBuilder> initCustomizer() {
- return new VxlanGpeCustomizer(api, interfacesContext, dumpCacheManager);
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/cache/InterfaceCacheDumpManagerImplTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/cache/InterfaceCacheDumpManagerImplTest.java
deleted file mode 100644
index e8d265aa7..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/cache/InterfaceCacheDumpManagerImplTest.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate.cache;
-
-import static io.fd.hc2vpp.v3po.interfacesstate.cache.InterfaceCacheDumpManagerImpl.BY_NAME_INDEX_KEY;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-import static org.mockito.MockitoAnnotations.initMocks;
-
-import io.fd.hc2vpp.common.test.util.FutureProducer;
-import io.fd.hc2vpp.common.test.util.NamingContextHelper;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.honeycomb.translate.MappingContext;
-import io.fd.honeycomb.translate.ModificationCache;
-import io.fd.honeycomb.translate.read.ReadContext;
-import io.fd.jvpp.core.dto.SwInterfaceDetails;
-import io.fd.jvpp.core.dto.SwInterfaceDetailsReplyDump;
-import io.fd.jvpp.core.dto.SwInterfaceDump;
-import io.fd.jvpp.core.future.FutureJVppCore;
-import io.fd.jvpp.core.types.InterfaceIndex;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.stream.Collectors;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-public class InterfaceCacheDumpManagerImplTest implements NamingContextHelper, FutureProducer {
-
- private static final String IFACE_0 = "iface-0";
- private static final String IFACE_1 = "iface-1";
- private static final String IFACE_2 = "iface-2";
- private static final String IFACE_3 = "iface-3";
-
- @Mock
- private FutureJVppCore jvpp;
- @Mock
- private ReadContext ctx;
- @Mock
- private MappingContext mappingContext;
-
- private InstanceIdentifier<Interface> identifier;
- private InstanceIdentifier<Interface> identifierThree;
- private NamingContext namingContext;
- private ModificationCache cache;
- private InterfaceCacheDumpManagerImpl manager;
-
- @Before
- public void setUp() throws Exception {
- initMocks(this);
- namingContext = new NamingContext("interface-", "interface-context");
- cache = new ModificationCache();
- manager = new InterfaceCacheDumpManagerImpl(jvpp, namingContext);
- when(ctx.getModificationCache()).thenReturn(cache);
- when(ctx.getMappingContext()).thenReturn(mappingContext);
- identifier = InstanceIdentifier.create(InterfacesState.class)
- .child(Interface.class, new InterfaceKey(IFACE_0));
-
- identifierThree = InstanceIdentifier.create(InterfacesState.class)
- .child(Interface.class, new InterfaceKey(IFACE_3));
-
- when(jvpp.swInterfaceDump(fullRequest())).thenReturn(future(fullReply()));
-
- // this one is not in full dump
- when(jvpp.swInterfaceDump(specificRequest(IFACE_3))).thenReturn(future(specificReplyThree()));
- defineMapping(mappingContext, IFACE_0, 0, "interface-context");
- defineMapping(mappingContext, IFACE_1, 1, "interface-context");
- defineMapping(mappingContext, IFACE_2, 2, "interface-context");
- defineMapping(mappingContext, IFACE_3, 3, "interface-context");
- }
-
- @Test
- public void getInterfaces() throws Exception {
- assertFalse(cache.containsKey(BY_NAME_INDEX_KEY));
- final List<SwInterfaceDetails> interfaces = manager.getInterfaces(identifier, ctx).collect(Collectors.toList());
- assertEquals(3, interfaces.size());
- assertTrue(interfaces.contains(detailZero()));
- assertTrue(interfaces.contains(detailOne()));
- assertTrue(interfaces.contains(detailTwo()));
-
- // first request must call jvpp
- verify(jvpp, times(1)).swInterfaceDump(fullRequest());
- assertTrue(cache.containsKey(BY_NAME_INDEX_KEY));
-
- // then cached value should be returned
- final List<SwInterfaceDetails> cachedInterfaces =
- manager.getInterfaces(identifier, ctx).collect(Collectors.toList());
- assertEquals(3, cachedInterfaces.size());
- assertTrue(cachedInterfaces.contains(detailZero()));
- assertTrue(cachedInterfaces.contains(detailOne()));
- assertTrue(cachedInterfaces.contains(detailTwo()));
-
- //verify that dump wasn't invoked again
- verifyNoMoreInteractions(jvpp);
- }
-
- @Test
- public void getInterfaceDetailFromCache() throws Exception {
- final HashMap<Object, Object> cachedMap = new HashMap<>();
- final SwInterfaceDetails detailZero = detailZero();
- cachedMap.put(IFACE_0, detailZero);
- cache.put(BY_NAME_INDEX_KEY, cachedMap);
- when(jvpp.swInterfaceDump(specificRequest(IFACE_0))).thenReturn(future(specificReplyZero()));
- final SwInterfaceDetails interfaceDetail = manager.getInterfaceDetail(identifier, ctx, IFACE_0);
- assertEquals(detailZero, interfaceDetail);
-
- // must not call jvpp, just get it from cache
- verifyZeroInteractions(jvpp);
- }
-
- @Test
- public void getInterfaceDetailNotInFullDump() throws Exception {
- assertFalse(cache.containsKey(BY_NAME_INDEX_KEY));
- final SwInterfaceDetails specificDetail = manager.getInterfaceDetail(identifierThree, ctx, IFACE_3);
- assertEquals(detailThree(), specificDetail);
-
- verify(jvpp, times(1)).swInterfaceDump(specificRequest(IFACE_3));
- }
-
- private SwInterfaceDetailsReplyDump fullReply() {
- final SwInterfaceDetailsReplyDump reply = new SwInterfaceDetailsReplyDump();
- reply.swInterfaceDetails = Arrays.asList(detailZero(), detailOne(), detailTwo());
- return reply;
- }
-
- private static SwInterfaceDetails detailTwo() {
- SwInterfaceDetails detail3 = new SwInterfaceDetails();
- detail3.swIfIndex = 2;
- detail3.interfaceName = IFACE_2.getBytes();
- return detail3;
- }
-
- private static SwInterfaceDetails detailOne() {
- SwInterfaceDetails detail2 = new SwInterfaceDetails();
- detail2.swIfIndex = 1;
- detail2.interfaceName = IFACE_1.getBytes();
- return detail2;
- }
-
- private static SwInterfaceDetails detailThree() {
- SwInterfaceDetails detail2 = new SwInterfaceDetails();
- detail2.swIfIndex = 3;
- detail2.interfaceName = IFACE_3.getBytes();
- return detail2;
- }
-
- private static SwInterfaceDetails detailZero() {
- SwInterfaceDetails detail1 = new SwInterfaceDetails();
- detail1.swIfIndex = 0;
- detail1.interfaceName = IFACE_0.getBytes();
- return detail1;
- }
-
- private SwInterfaceDetailsReplyDump specificReplyThree() {
- final SwInterfaceDetailsReplyDump reply = new SwInterfaceDetailsReplyDump();
- reply.swInterfaceDetails = Arrays.asList(detailThree());
- return reply;
- }
-
- private SwInterfaceDetailsReplyDump specificReplyZero() {
- final SwInterfaceDetailsReplyDump reply = new SwInterfaceDetailsReplyDump();
- reply.swInterfaceDetails = Arrays.asList(detailZero());
- return reply;
- }
-
- private static SwInterfaceDump specificRequest(final String ifaceName) {
- final SwInterfaceDump specificRequest = new SwInterfaceDump();
- specificRequest.swIfIndex = new InterfaceIndex();
- specificRequest.swIfIndex.interfaceindex =~0;
- specificRequest.nameFilterValid = 1;
- specificRequest.nameFilter = ifaceName.getBytes();
- return specificRequest;
- }
-
- private static SwInterfaceDump fullRequest() {
- final SwInterfaceDump fullRequest = new SwInterfaceDump();
- fullRequest.swIfIndex = new InterfaceIndex();
- fullRequest.swIfIndex.interfaceindex = ~0;
- fullRequest.nameFilterValid = 0;
- fullRequest.nameFilter = "".getBytes();
- return fullRequest;
- }
-} \ No newline at end of file
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/pbb/PbbRewriteStateCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/pbb/PbbRewriteStateCustomizerTest.java
deleted file mode 100644
index 07ace6b6a..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/pbb/PbbRewriteStateCustomizerTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate.pbb;
-
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.pbb.rev161214.PbbRewriteStateInterfaceAugmentationBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.pbb.rev161214.interfaces.state._interface.PbbRewriteState;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.vpp.pbb.rev161214.interfaces.state._interface.PbbRewriteStateBuilder;
-
-public class PbbRewriteStateCustomizerTest extends ReaderCustomizerTest<PbbRewriteState, PbbRewriteStateBuilder> {
-
- public PbbRewriteStateCustomizerTest() {
- super(PbbRewriteState.class, PbbRewriteStateInterfaceAugmentationBuilder.class);
- }
-
- @Override
- protected ReaderCustomizer<PbbRewriteState, PbbRewriteStateBuilder> initCustomizer() {
- return new PbbRewriteStateCustomizer(api);
- }
-}
diff --git a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/span/MirroredInterfacesCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/span/MirroredInterfacesCustomizerTest.java
deleted file mode 100644
index c13775c75..000000000
--- a/v3po/v3po2vpp/src/test/java/io/fd/hc2vpp/v3po/interfacesstate/span/MirroredInterfacesCustomizerTest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package io.fd.hc2vpp.v3po.interfacesstate.span;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.containsInAnyOrder;
-import static org.hamcrest.Matchers.hasSize;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.when;
-
-import io.fd.hc2vpp.common.test.read.ReaderCustomizerTest;
-import io.fd.hc2vpp.common.translate.util.NamingContext;
-import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
-import io.fd.jvpp.core.dto.SwInterfaceSpanDetails;
-import io.fd.jvpp.core.dto.SwInterfaceSpanDetailsReplyDump;
-import java.util.Arrays;
-import org.junit.Test;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.SpanState;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.VppInterfaceStateAugmentation;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.Span;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.interfaces.state._interface.SpanBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.span.state.attributes.MirroredInterfaces;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.span.state.attributes.MirroredInterfacesBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.span.state.attributes.mirrored.interfaces.MirroredInterface;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.span.state.attributes.mirrored.interfaces.MirroredInterfaceBuilder;
-import org.opendaylight.yang.gen.v1.http.fd.io.hc2vpp.yang.v3po.rev190502.span.state.attributes.mirrored.interfaces.MirroredInterfaceKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.InterfacesState;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev180220.interfaces.state.InterfaceKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
-
-public class MirroredInterfacesCustomizerTest
- extends ReaderCustomizerTest<MirroredInterfaces, MirroredInterfacesBuilder> {
-
- private static final String IFACE_NAME = "iface";
-
- private static final String SRC_IFACE_NAME_1 = "src-one";
- private static final String SRC_IFACE_NAME_2 = "src-two";
- private static final String SRC_IFACE_NAME_3 = "src-three";
-
- private static final int IFACE_INDEX = 3;
-
- private NamingContext interfaceContext;
- private InstanceIdentifier<MirroredInterfaces> validId;
- private MirroredInterface validData;
-
- public MirroredInterfacesCustomizerTest() {
- super(MirroredInterfaces.class, SpanBuilder.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- interfaceContext = new NamingContext("iface", "iface-context");
- defineMapping(mappingContext, IFACE_NAME, IFACE_INDEX, "iface-context");
- defineMapping(mappingContext, SRC_IFACE_NAME_1, 1, "iface-context");
- defineMapping(mappingContext, SRC_IFACE_NAME_2, 2, "iface-context");
- defineMapping(mappingContext, SRC_IFACE_NAME_3, 3, "iface-context");
-
- validId = InstanceIdentifier.create(InterfacesState.class).child(Interface.class, new InterfaceKey(IFACE_NAME))
- .augmentation(VppInterfaceStateAugmentation.class).child(Span.class)
- .child(MirroredInterfaces.class);
-
- SwInterfaceSpanDetailsReplyDump dump = new SwInterfaceSpanDetailsReplyDump();
- SwInterfaceSpanDetails detail1 = new SwInterfaceSpanDetails();
-
- detail1.swIfIndexTo = IFACE_INDEX;
- detail1.swIfIndexFrom = 1;
- detail1.state = 1;
-
- SwInterfaceSpanDetails detail2 = new SwInterfaceSpanDetails();
-
- detail2.swIfIndexTo = IFACE_INDEX;
- detail2.swIfIndexFrom = 2;
- detail2.state = 3;
-
- SwInterfaceSpanDetails detail3 = new SwInterfaceSpanDetails();
-
- detail3.swIfIndexTo = IFACE_INDEX;
- detail3.swIfIndexFrom = 3;
- detail3.state = 0;
-
- dump.swInterfaceSpanDetails = Arrays.asList(detail1, detail2, detail3);
-
- when(api.swInterfaceSpanDump(any())).thenReturn(future(dump));
- }
-
- @Test
- public void readCurrentAttributes() throws Exception {
- MirroredInterfacesBuilder builder = new MirroredInterfacesBuilder();
- getCustomizer().readCurrentAttributes(validId, builder, ctx);
-
- final MirroredInterfaces data = builder.build();
- // 1,2 should be returned,0 should be filtered out because of disabled state
-
- assertThat(data.getMirroredInterface(), hasSize(2));
- assertThat(data.getMirroredInterface(), containsInAnyOrder(
- mirroredInterface(SRC_IFACE_NAME_1, SpanState.Receive),
- mirroredInterface(SRC_IFACE_NAME_2, SpanState.Both)));
- }
-
- private MirroredInterface mirroredInterface(final String ifaceName, final SpanState state) {
- return new MirroredInterfaceBuilder()
- .setIfaceRef(ifaceName)
- .withKey(new MirroredInterfaceKey(ifaceName))
- .setState(state)
- .build();
- }
-
- @Override
- protected ReaderCustomizer<MirroredInterfaces, MirroredInterfacesBuilder> initCustomizer() {
- return new InterfaceMirroredInterfacesCustomizer(api, interfaceContext);
- }
-}