Remove unused references to DataChangeListener
[genius.git] / itm / itm-impl / src / test / java / org / opendaylight / genius / itm / cli / TepCommandHelperTest.java
index e82464db9a8b7b41c6f7412610f87f1fd03f181c..780304adc6116474c60712fd2e984fba6ddd46cc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
+ * Copyright (c) 2016, 2017 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
@@ -9,11 +9,9 @@
 package org.opendaylight.genius.itm.cli;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
 
 import com.google.common.base.Optional;
 import com.google.common.util.concurrent.Futures;
@@ -21,6 +19,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;
 import java.math.BigInteger;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -31,10 +30,8 @@ import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.runners.MockitoJUnitRunner;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataChangeListener;
 import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.genius.itm.globals.ITMConstants;
 import org.opendaylight.genius.itm.impl.ItmUtils;
@@ -44,29 +41,31 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefixBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state
-        .InterfaceBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.InterfaceBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelMonitoringTypeBase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeGre;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeVxlan;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.ItmConfig;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.TunnelMonitorInterval;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.TunnelMonitorIntervalBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.TunnelMonitorParams;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.config.rev160406.TunnelMonitorParamsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.TunnelList;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.TunnelListBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.TunnelOperStatus;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnel.list.InternalTunnel;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnel.list.InternalTunnelBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnel.list.InternalTunnelKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnels_state.StateTunnelList;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnels_state.StateTunnelListBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZones;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZonesBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZoneBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZoneKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.Subnets;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone
-        .SubnetsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.SubnetsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.SubnetsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.DeviceVteps;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.DeviceVtepsBuilder;
@@ -74,7 +73,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transp
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.Vteps;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.VtepsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.VtepsKey;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -122,6 +120,8 @@ public class TepCommandHelperTest {
     InternalTunnel internalTunnelTest = null;
     TunnelList tunnelList = null;
     TunnelList tunnelListTest = null;
+    StateTunnelList stateTunnelListTest = null ;
+    StateTunnelList stateTunnelTest = null ;
     org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface
             interfaceTest = null;
     org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface
@@ -134,35 +134,42 @@ public class TepCommandHelperTest {
     List<TransportZone> transportZoneList = new ArrayList<>();
     List<TransportZone> transportZoneListNew = new ArrayList<>();
     List<InternalTunnel> internalTunnelList = new ArrayList<>();
+    List<StateTunnelList> stateTunnelList = new ArrayList<>() ;
     List<String> lowerLayerIfList = new ArrayList<>();
     List<InstanceIdentifier> instanceIdentifierList = new ArrayList<>();
     java.lang.Class<? extends TunnelTypeBase> tunnelType1 = TunnelTypeVxlan.class;
     java.lang.Class<? extends TunnelTypeBase> tunnelType2 = TunnelTypeGre.class;
 
     InstanceIdentifier<TransportZone> transportZoneIdentifier = InstanceIdentifier.builder(TransportZones.class)
-            .child(TransportZone.class, new TransportZoneKey(transportZone1)).build();
-    InstanceIdentifier<TransportZones> transportZonesIdentifier = InstanceIdentifier.builder(TransportZones.class).build();
-    InstanceIdentifier<TunnelMonitorInterval> tunnelMonitorIntervalIdentifier = InstanceIdentifier.builder(TunnelMonitorInterval.class).build();
-    InstanceIdentifier<TunnelMonitorParams> tunnelMonitorParamsIdentifier = InstanceIdentifier.builder(TunnelMonitorParams.class).build();
-    InstanceIdentifier<Vteps> vtepsIdentifier = InstanceIdentifier.builder(TransportZones.class).child(TransportZone.class, new
-            TransportZoneKey(transportZone1))
-            .child(Subnets.class, new SubnetsKey(ipPrefixTest)).child(Vteps.class, new VtepsKey(dpId1,portName1)).build();
-    InstanceIdentifier<Vteps> vtepsIdentifierNew = InstanceIdentifier.builder(TransportZones.class).child(TransportZone
-            .class, new TransportZoneKey(transportZone1))
-            .child(Subnets.class, new SubnetsKey(ipPrefixTest)).child(Vteps.class, new VtepsKey(dpId2,portName1)).build();
+                    .child(TransportZone.class, new TransportZoneKey(transportZone1)).build();
+    InstanceIdentifier<TransportZones> transportZonesIdentifier =
+            InstanceIdentifier.builder(TransportZones.class).build();
+    InstanceIdentifier<TunnelMonitorInterval> tunnelMonitorIntervalIdentifier =
+            InstanceIdentifier.builder(TunnelMonitorInterval.class).build();
+    InstanceIdentifier<TunnelMonitorParams> tunnelMonitorParamsIdentifier =
+            InstanceIdentifier.builder(TunnelMonitorParams.class).build();
+    InstanceIdentifier<Vteps> vtepsIdentifier = InstanceIdentifier.builder(TransportZones.class)
+                    .child(TransportZone.class, new TransportZoneKey(transportZone1))
+                    .child(Subnets.class, new SubnetsKey(ipPrefixTest))
+                    .child(Vteps.class, new VtepsKey(dpId1,portName1)).build();
+    InstanceIdentifier<Vteps> vtepsIdentifierNew = InstanceIdentifier.builder(TransportZones.class)
+                    .child(TransportZone
+                    .class, new TransportZoneKey(transportZone1))
+                    .child(Subnets.class, new SubnetsKey(ipPrefixTest))
+                    .child(Vteps.class, new VtepsKey(dpId2,portName1)).build();
     InstanceIdentifier<Subnets> subnetsIdentifier = InstanceIdentifier.builder(TransportZones.class)
-            .child(TransportZone.class, new TransportZoneKey(transportZone1)).child(Subnets.class,
-                    new SubnetsKey(ipPrefixTest)).build();
+                    .child(TransportZone.class, new TransportZoneKey(transportZone1))
+                    .child(Subnets.class, new SubnetsKey(ipPrefixTest)).build();
     InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces
             .state.Interface> interfaceIdentifier = ItmUtils.buildStateInterfaceId(tunnelInterfaceName);
     InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces
             .Interface> interfaceIdentifierNew = ItmUtils.buildId(tunnelInterfaceName);
 
     @Mock DataBroker dataBroker;
-    @Mock ListenerRegistration<DataChangeListener> dataChangeListenerRegistration;
+    @Mock ItmConfig itmConfig;
     @Mock ReadOnlyTransaction mockReadTx;
     @Mock WriteTransaction mockWriteTx;
-    @Mock Map<String, Map<SubnetObject, List<Vteps>>> tZones;
+    @Mock Map<String, Map<SubnetObject, List<Vteps>>> tzones;
 
     Optional<TransportZone> optionalTransportZone;
     Optional<TransportZones> optionalTransportZones;
@@ -178,13 +185,7 @@ public class TepCommandHelperTest {
     TepCommandHelper tepCommandHelper ;
 
     @Before
-    public void setUp() throws Exception {
-        when(dataBroker.registerDataChangeListener(
-                any(LogicalDatastoreType.class),
-                any(InstanceIdentifier.class),
-                any(DataChangeListener.class),
-                any(AsyncDataBroker.DataChangeScope.class)))
-                .thenReturn(dataChangeListenerRegistration);
+    public void setUp() {
         setupMocks();
 
         optionalTransportZone = Optional.of(transportZone);
@@ -200,20 +201,20 @@ public class TepCommandHelperTest {
                 .CONFIGURATION,transportZoneIdentifier);
         doReturn(Futures.immediateCheckedFuture(optionalTransportZones)).when(mockReadTx).read(LogicalDatastoreType
                 .CONFIGURATION,transportZonesIdentifier);
-        doReturn(Futures.immediateCheckedFuture(optionalTunnelMonitorInterval)).when(mockReadTx).read
-                (LogicalDatastoreType.CONFIGURATION,tunnelMonitorIntervalIdentifier);
-        doReturn(Futures.immediateCheckedFuture(optionalTunnelMonitorParams)).when(mockReadTx).read
-                (LogicalDatastoreType.CONFIGURATION,tunnelMonitorParamsIdentifier);
-        doReturn(Futures.immediateCheckedFuture(optionalVteps)).when(mockReadTx).read(LogicalDatastoreType
-                .CONFIGURATION,vtepsIdentifier);
-        doReturn(Futures.immediateCheckedFuture(optionalSubnets)).when(mockReadTx).read(LogicalDatastoreType
-                .CONFIGURATION,subnetsIdentifier);
-        doReturn(Futures.immediateCheckedFuture(ifStateOptional)).when(mockReadTx).read(LogicalDatastoreType
-                .OPERATIONAL,interfaceIdentifier);
-        doReturn(Futures.immediateCheckedFuture(ifStateOptionalNew)).when(mockReadTx).read(LogicalDatastoreType
-                .CONFIGURATION,interfaceIdentifierNew);
-
-        tepCommandHelper = new TepCommandHelper(dataBroker);
+        doReturn(Futures.immediateCheckedFuture(optionalTunnelMonitorInterval)).when(mockReadTx)
+                .read(LogicalDatastoreType.CONFIGURATION,tunnelMonitorIntervalIdentifier);
+        doReturn(Futures.immediateCheckedFuture(optionalTunnelMonitorParams)).when(mockReadTx)
+                .read(LogicalDatastoreType.CONFIGURATION,tunnelMonitorParamsIdentifier);
+        doReturn(Futures.immediateCheckedFuture(optionalVteps)).when(mockReadTx)
+                .read(LogicalDatastoreType.CONFIGURATION,vtepsIdentifier);
+        doReturn(Futures.immediateCheckedFuture(optionalSubnets)).when(mockReadTx)
+                .read(LogicalDatastoreType.CONFIGURATION,subnetsIdentifier);
+        doReturn(Futures.immediateCheckedFuture(ifStateOptional)).when(mockReadTx)
+                .read(LogicalDatastoreType.OPERATIONAL,interfaceIdentifier);
+        doReturn(Futures.immediateCheckedFuture(ifStateOptionalNew)).when(mockReadTx)
+                .read(LogicalDatastoreType.CONFIGURATION,interfaceIdentifierNew);
+
+        tepCommandHelper = new TepCommandHelper(dataBroker, itmConfig);
 
     }
 
@@ -227,10 +228,11 @@ public class TepCommandHelperTest {
         instanceIdentifierList.add(transportZoneIdentifier);
         instanceIdentifierList.add(vtepsIdentifier);
         instanceIdentifierList.add(subnetsIdentifier);
-        deviceVteps = new DeviceVtepsBuilder().setIpAddress(ipAddress1).setKey(new DeviceVtepsKey(ipAddress1,sourceDevice))
+        deviceVteps = new DeviceVtepsBuilder().setIpAddress(ipAddress1)
+                .setKey(new DeviceVtepsKey(ipAddress1,sourceDevice))
                 .setNodeId(sourceDevice).setTopologyId(destinationDevice).build();
-        vteps = new VtepsBuilder().setPortname(portName1).setDpnId(dpId2).setIpAddress(ipAddress1).setKey(new
-                VtepsKey(dpId2,portName1)).build();
+        vteps = new VtepsBuilder().setPortname(portName1).setDpnId(dpId2)
+                .setIpAddress(ipAddress1).setKey(new VtepsKey(dpId2,portName1)).build();
         vtepsNew = new VtepsBuilder().setPortname(portName1).setDpnId(dpId1).setIpAddress(ipAddress1).setKey(new
                 VtepsKey(dpId1,portName1)).build();
         vtepsTest = new VtepsBuilder().build();
@@ -249,36 +251,47 @@ public class TepCommandHelperTest {
         tunnelMonitorInterval = new TunnelMonitorIntervalBuilder().setInterval(10000).build();
         tunnelMonitorParams = new TunnelMonitorParamsBuilder().setEnabled(true).build();
         internalTunnelTest = new InternalTunnelBuilder().setSourceDPN(dpId1).setDestinationDPN(dpId2)
-                .setTunnelInterfaceName(tunnelInterfaceName).setKey(new InternalTunnelKey(dpId1,dpId2,tunnelType1))
-                .setTransportType(tunnelType1).build();
+                .setTunnelInterfaceNames(Collections.singletonList(tunnelInterfaceName))
+                .setKey(new InternalTunnelKey(dpId1, dpId2, tunnelType1)).setTransportType(tunnelType1).build();
         internalTunnelList.add(internalTunnelTest);
+        stateTunnelListTest = new StateTunnelListBuilder().setTunnelInterfaceName(tunnelInterfaceName)
+                .setOperState(TunnelOperStatus.Up).build();
+        stateTunnelList.add(stateTunnelListTest);
         tunnelList = new TunnelListBuilder().setInternalTunnel(internalTunnelList).build();
         tunnelListTest = new TunnelListBuilder().build();
         lowerLayerIfList.add(dpId1.toString());
-        interfaceTest = new InterfaceBuilder().setOperStatus(Interface.OperStatus.Up).setAdminStatus
-                (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface.AdminStatus.Up)
-                .setPhysAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress.getDefaultInstance("AA:AA:AA:AA:AA:AA"))
+        interfaceTest = new InterfaceBuilder().setOperStatus(Interface.OperStatus.Up)
+                .setAdminStatus(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508
+                        .interfaces.state.Interface.AdminStatus.Up)
+                .setPhysAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715
+                        .PhysAddress.getDefaultInstance("AA:AA:AA:AA:AA:AA"))
                 .setIfIndex(100).setLowerLayerIf(lowerLayerIfList).setType(L2vlan.class).build();
         interfaceTestNew = ItmUtils.buildTunnelInterface(dpId1, tunnelInterfaceName, destinationDevice, enabled,
-                TunnelTypeVxlan.class, ipAddress1, ipAddress2, gtwyIp1, vlanId, true, enabled,monitorProtocol, interval);
+                TunnelTypeVxlan.class, ipAddress1, ipAddress2, gtwyIp1, vlanId, true, enabled,monitorProtocol,
+                interval, false, null);
         interfaceTestNewCase = ItmUtils.buildTunnelInterface(dpId1, tunnelInterfaceName, destinationDevice, enabled,
-                TunnelTypeGre.class, ipAddress1, ipAddress2, gtwyIp1, vlanId, true, enabled, monitorProtocol, interval);
+                TunnelTypeGre.class, ipAddress1, ipAddress2, gtwyIp1, vlanId, true, enabled, monitorProtocol,
+                interval, false, null);
         doReturn(mockReadTx).when(dataBroker).newReadOnlyTransaction();
         doReturn(mockWriteTx).when(dataBroker).newWriteOnlyTransaction();
         doReturn(Futures.immediateCheckedFuture(null)).when(mockWriteTx).submit();
     }
 
     @Test
-    public void testCreateLocalCacheTzonesEmpty(){
+    public void testCreateLocalCacheTzonesEmpty() {
 
-        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1);
+        try {
+            tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1, null);
+        } catch (TepException e) {
+            LOG.error(e.getMessage());
+        }
 
         verify(mockReadTx).read(LogicalDatastoreType.CONFIGURATION,transportZoneIdentifier);
 
     }
 
     @Test
-    public void testCreateLocalCacheWithoutcheckExistingSubnet(){
+    public void testCreateLocalCacheWithoutcheckExistingSubnet() {
 
         IpAddress gatewayIpObj = new IpAddress("0.0.0.0".toCharArray());
         IpPrefix subnetMaskObj = new IpPrefix(subnetMask.toCharArray());
@@ -295,15 +308,20 @@ public class TepCommandHelperTest {
         doReturn(Futures.immediateCheckedFuture(Optional.absent())).when(mockReadTx).read(LogicalDatastoreType
                 .CONFIGURATION,transportZonesIdentifier);
 
-        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1);
-        tepCommandHelper.createLocalCache(dpId2,portName1,vlanId, tepIp1,subnetMask,gwyIp1, transportZone1);
+        try {
+            tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1, null);
+            tepCommandHelper.createLocalCache(dpId2,portName1,vlanId, tepIp1,subnetMask,gwyIp1, transportZone1, null);
+        } catch (TepException e) {
+            LOG.error(e.getMessage());
+        }
+
 
         verify(mockReadTx, times(2)).read(LogicalDatastoreType.CONFIGURATION,transportZoneIdentifier);
 
     }
 
     @Test
-    public void testCreateLocalCacheWithcheckExistingSubnet(){
+    public void testCreateLocalCacheWithcheckExistingSubnet() {
 
         transportZoneNew = new TransportZoneBuilder().setZoneName(transportZone1).setTunnelType(tunnelType2).build();
 
@@ -314,52 +332,73 @@ public class TepCommandHelperTest {
         doReturn(Futures.immediateCheckedFuture(Optional.absent())).when(mockReadTx).read(LogicalDatastoreType
                 .CONFIGURATION,transportZonesIdentifier);
 
-        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1);
-        tepCommandHelper.createLocalCache(dpId2,portName1,vlanId, tepIp1,subnetMask,gwyIp2, transportZone1);
+
+        try {
+            tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1, null);
+            tepCommandHelper.createLocalCache(dpId2,portName1,vlanId, tepIp1,subnetMask,gwyIp2, transportZone1, null);
+        } catch (TepException e) {
+            LOG.error(e.getMessage());
+        }
 
         verify(mockReadTx, times(2)).read(LogicalDatastoreType.CONFIGURATION,transportZoneIdentifier);
 
     }
 
+    @SuppressWarnings("checkstyle:IllegalCatch")
     @Test
-    public void testCreateLocalCacheInvalidIp(){
-
-        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp3,subnetMask,gwyIp1,transportZone1);
-
-        assertEquals("Invalid IpAddress. Expected: 1.0.0.0 to 254.255.255.255" + newline,outContent.toString());
-
+    public void testCreateLocalCacheInvalidIp() {
+
+        String output = null;
+        try {
+            tepCommandHelper.createLocalCache(dpId1, portName1, vlanId, tepIp3, subnetMask, gwyIp1,
+                    transportZone1, null);
+        } catch (Exception e) {
+            output = e.getMessage() + newline;
+        }
+        assertEquals("Invalid IpAddress. Expected: 1.0.0.0 to 254.255.255.255" + newline,output);
     }
 
     @Test
-    public void testCreateLocalCacheGtwyIpNull(){
-
-        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,null,transportZone1);
+    public void testCreateLocalCacheGtwyIpNull() {
 
+        try {
+            tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,null,transportZone1, null);
+        } catch (TepException e) {
+            LOG.error(e.getMessage());
+        }
         LOG.debug("gateway is null");
-
     }
 
     @Test
-    public void testCreateLocalCacheInvalidSubnetMask(){
+    public void testCreateLocalCacheInvalidSubnetMask() {
 
-        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,tepIp2,gwyIp1,transportZone1);
+        String output = null;
+        try {
+            tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,tepIp2,gwyIp1,transportZone1, null);
+        } catch (TepException e) {
+            output = e.getMessage() + newline;
+        }
 
         String newline = System.getProperty("line.separator");
-        assertEquals("Invalid Subnet Mask. Expected: 0.0.0.0/0 to 255.255.255.255/32" + newline,outContent.toString());
+        assertEquals("Invalid Subnet Mask. Expected: 0.0.0.0/0 to 255.255.255.255/32" + newline,output);
 
     }
 
     @Test
-    public void testCreateLocalCacheMismatchIpwithSubnet(){
-
-        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp4,subnetMask,gwyIp1,transportZone1);
-
-        assertEquals("IpAddress and gateWayIp should belong to the subnet provided" + newline,outContent.toString());
-
+    public void testCreateLocalCadcheMismatchIpwithSubnet() {
+
+        String output = null;
+        try {
+            tepCommandHelper.createLocalCache(dpId1, portName1, vlanId, tepIp4, subnetMask, gwyIp1,
+                    transportZone1, null);
+        } catch (TepException e) {
+            output = e.getMessage() + newline;
+        }
+        assertEquals("IpAddress and gateWayIp should belong to the subnet provided" + newline,output);
     }
 
     @Test
-    public void testConfigureTunnelType(){
+    public void testConfigureTunnelType() {
 
         doReturn(Futures.immediateCheckedFuture(Optional.absent())).when(mockReadTx).read(LogicalDatastoreType
                 .CONFIGURATION,transportZoneIdentifier);
@@ -368,37 +407,41 @@ public class TepCommandHelperTest {
 
         verify(mockReadTx).read(LogicalDatastoreType.CONFIGURATION,transportZoneIdentifier);
         verify(mockWriteTx).put(LogicalDatastoreType.CONFIGURATION,transportZonesIdentifier,transportZones,true);
-
     }
 
     @Test
-    public void testConfigureTunnelMonitorInterval(){
+    public void testConfigureTunnelMonitorInterval() {
 
         TunnelMonitorInterval tunnelMonitor = new TunnelMonitorIntervalBuilder().setInterval(interval).build();
 
         tepCommandHelper.configureTunnelMonitorInterval(interval);
 
         verify(mockReadTx).read(LogicalDatastoreType.CONFIGURATION,tunnelMonitorIntervalIdentifier);
-        verify(mockWriteTx).merge(LogicalDatastoreType.CONFIGURATION,tunnelMonitorIntervalIdentifier,tunnelMonitor,true);
-
+        verify(mockWriteTx).merge(LogicalDatastoreType.CONFIGURATION,tunnelMonitorIntervalIdentifier,
+                tunnelMonitor,true);
     }
 
     @Test
-    public void testConfigureTunnelMonitorParams(){
+    public void testConfigureTunnelMonitorParams() {
 
-        TunnelMonitorParams tunnelMonitor = new TunnelMonitorParamsBuilder().setEnabled(enabled).setMonitorProtocol(monitorProtocol).build();
+        TunnelMonitorParams tunnelMonitor = new TunnelMonitorParamsBuilder().setEnabled(enabled)
+                .setMonitorProtocol(monitorProtocol).build();
 
         tepCommandHelper.configureTunnelMonitorParams(enabled, "BFD");
 
         verify(mockReadTx).read(LogicalDatastoreType.CONFIGURATION,tunnelMonitorParamsIdentifier);
         verify(mockWriteTx).merge(LogicalDatastoreType.CONFIGURATION,tunnelMonitorParamsIdentifier,tunnelMonitor,true);
-
     }
 
+    @SuppressWarnings("checkstyle:IllegalCatch")
     @Test
-    public void testDeleteVtep(){
+    public void testDeleteVtep() {
 
-        tepCommandHelper.deleteVtep(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1);
+        try {
+            tepCommandHelper.deleteVtep(dpId1, portName1, vlanId, tepIp1, subnetMask, gwyIp1, transportZone1, null);
+        } catch (Exception e) {
+            LOG.error(e.getMessage());
+        }
 
         verify(mockReadTx).read(LogicalDatastoreType.CONFIGURATION,vtepsIdentifier);
         verify(mockReadTx).read(LogicalDatastoreType.CONFIGURATION,subnetsIdentifier);
@@ -406,46 +449,71 @@ public class TepCommandHelperTest {
     }
 
     @Test
-    public void testDeleteVtepInvalidIp(){
+    public void testDeleteVtepInvalidIp() {
 
-        tepCommandHelper.deleteVtep(dpId1,portName1,vlanId,tepIp3,subnetMask,gwyIp1,transportZone1);
+        String output = null;
+        try {
+            tepCommandHelper.deleteVtep(dpId1, portName1, vlanId, tepIp3, subnetMask, gwyIp1, transportZone1, null);
+        } catch (TepException e) {
+            output = e.getMessage() + newline;
+        }
 
         String newline = System.getProperty("line.separator");
-        assertEquals("Invalid IpAddress. Expected: 1.0.0.0 to 254.255.255.255" + newline,outContent.toString());
+        assertEquals("Invalid IpAddress. Expected: 1.0.0.0 to 254.255.255.255" + newline,output);
 
     }
 
     @Test
-    public void testDeleteVtepInvalidSubnetMask(){
+    public void testDeleteVtepInvalidSubnetMask() {
 
-        tepCommandHelper.deleteVtep(dpId1,portName1,vlanId,tepIp1,tepIp1,gwyIp1,transportZone1);
+        String output = null;
+        try {
+            tepCommandHelper.deleteVtep(dpId1, portName1, vlanId, tepIp1, tepIp1, gwyIp1, transportZone1, null);
+        } catch (TepException e) {
+            output = e.getMessage() + newline;
+        }
 
-        assertEquals("Invalid Subnet Mask. Expected: 0.0.0.0/0 to 255.255.255.255/32" + newline,outContent.toString());
+        assertEquals("Invalid Subnet Mask. Expected: 0.0.0.0/0 to 255.255.255.255/32" + newline,output);
 
     }
 
+    @SuppressWarnings("checkstyle:IllegalCatch")
     @Test
-    public void testDeleteVtepGatewayIpNull(){
+    public void testDeleteVtepGatewayIpNull() {
 
-        tepCommandHelper.deleteVtep(dpId1,portName1,vlanId,tepIp1,subnetMask,null,transportZone1);
+        try {
+            tepCommandHelper.deleteVtep(dpId1, portName1, vlanId, tepIp1, subnetMask, null, transportZone1, null);
+        }  catch (Exception e) {
+            LOG.error(e.getMessage());
+        }
 
         LOG.debug("gateway is null in deleteVtep");
 
     }
 
+    @SuppressWarnings("checkstyle:IllegalCatch")
     @Test
-    public void testDeleteVtepIpSubnetMismatch(){
+    public void testDeleteVtepIpSubnetMismatch() {
 
-        tepCommandHelper.deleteVtep(dpId1,portName1,vlanId,tepIp4,subnetMask,gwyIp1,transportZone1);
+        String output = null;
+        try {
+            tepCommandHelper.deleteVtep(dpId1, portName1, vlanId, tepIp4, subnetMask, gwyIp1, transportZone1, null);
+        } catch (Exception e) {
+            output = e.getMessage() + newline;
+        }
 
-        assertEquals("IpAddress and gateWayIp should belong to the subnet provided" + newline,outContent.toString());
+        assertEquals("IpAddress and gateWayIp should belong to the subnet provided" + newline,output);
 
     }
 
     @Test
-    public void testBuildTepsTunnelTypeVxlan(){
+    public void testBuildTepsTunnelTypeVxlan() {
 
-        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1);
+        try {
+            tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1, null);
+        } catch (TepException e) {
+            LOG.error(e.getMessage());
+        }
         tepCommandHelper.buildTeps();
 
         verify(mockReadTx, times(2)).read(LogicalDatastoreType.CONFIGURATION,transportZoneIdentifier);
@@ -454,14 +522,18 @@ public class TepCommandHelperTest {
     }
 
     @Test
-    public void testBuildTepsTunnelTypeGre(){
+    public void testBuildTepsTunnelTypeGre() {
 
         optionalTransportZone = Optional.of(transportZoneNew);
 
         doReturn(Futures.immediateCheckedFuture(optionalTransportZone)).when(mockReadTx).read(LogicalDatastoreType
                 .CONFIGURATION,transportZoneIdentifier);
 
-        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1);
+        try {
+            tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1, null);
+        } catch (TepException e) {
+            LOG.error(e.getMessage());
+        }
         tepCommandHelper.buildTeps();
 
         verify(mockReadTx, times(2)).read(LogicalDatastoreType.CONFIGURATION,transportZoneIdentifier);
@@ -471,14 +543,14 @@ public class TepCommandHelperTest {
 
 
     @Test
-    public void testBuildTepsTransportZoneAbsent(){
+    public void testBuildTepsTransportZoneAbsent() throws TepException {
 
         optionalTransportZone = Optional.absent();
 
         doReturn(Futures.immediateCheckedFuture(optionalTransportZone)).when(mockReadTx).read(LogicalDatastoreType
                 .CONFIGURATION,transportZoneIdentifier);
 
-        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1);
+        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1, null);
         tepCommandHelper.buildTeps();
 
         verify(mockReadTx, times(2)).read(LogicalDatastoreType.CONFIGURATION,transportZoneIdentifier);
@@ -487,31 +559,40 @@ public class TepCommandHelperTest {
     }
 
     @Test
-    public void testShowTepsWithTransportZone(){
+    public void testShowTepsWithTransportZone() {
 
-        tepCommandHelper.showTeps(enabled,interval);
+        try {
+            tepCommandHelper.showTeps(enabled, interval, null);
+        } catch (TepException e) {
+            LOG.error(e.getMessage());
+        }
 
         verify(mockReadTx).read(LogicalDatastoreType.CONFIGURATION,transportZonesIdentifier);
 
     }
 
     @Test
-    public void testShowTepsWithoutTransportZone(){
+    public void testShowTepsWithoutTransportZone() {
 
         optionalTransportZones = Optional.of(transportZonesNew);
 
         doReturn(Futures.immediateCheckedFuture(optionalTransportZones)).when(mockReadTx).read(LogicalDatastoreType
                 .CONFIGURATION,transportZonesIdentifier);
 
-        tepCommandHelper.showTeps(enabled,interval);
+        String output = null;
+        try {
+            tepCommandHelper.showTeps(enabled, interval, null);
+        } catch (TepException e) {
+            output = e.getMessage() + newline;
+        }
 
         verify(mockReadTx).read(LogicalDatastoreType.CONFIGURATION,transportZonesIdentifier);
-        assertEquals("No teps configured" + newline,outContent.toString());
+        assertEquals("No teps configured" + newline,output);
 
     }
 
     @Test
-    public void testDeleteOnCommit(){
+    public void testDeleteOnCommit() {
 
         transportZoneList.add(transportZone);
         transportZoneList.add(transportZoneNew);
@@ -521,7 +602,11 @@ public class TepCommandHelperTest {
         doReturn(Futures.immediateCheckedFuture(optionalTransportZones)).when(mockReadTx).read(LogicalDatastoreType
                 .CONFIGURATION,transportZonesIdentifier);
 
-        tepCommandHelper.deleteVtep(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1);
+        try {
+            tepCommandHelper.deleteVtep(dpId1, portName1, vlanId, tepIp1, subnetMask, gwyIp1, transportZone1, null);
+        } catch (TepException e) {
+            LOG.error(e.getMessage());
+        }
         tepCommandHelper.deleteOnCommit();
 
         verify(mockReadTx).read(LogicalDatastoreType.CONFIGURATION,transportZonesIdentifier);
@@ -534,42 +619,7 @@ public class TepCommandHelperTest {
     }
 
     @Test
-    public void testShowStateTunnelTypeVxlan(){
-
-        tepCommandHelper.showState(tunnelList,enabled);
-
-        verify(mockReadTx).read(LogicalDatastoreType.OPERATIONAL,interfaceIdentifier);
-        verify(mockReadTx).read(LogicalDatastoreType.CONFIGURATION,interfaceIdentifierNew);
-
-    }
-
-    @Test
-    public void testShowStateTunnelTypeGre(){
-
-        Optional<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface>
-                ifStateOptionalNew = Optional.of(interfaceTestNewCase);
-
-        doReturn(Futures.immediateCheckedFuture(ifStateOptionalNew)).when(mockReadTx).read(LogicalDatastoreType
-                .CONFIGURATION,interfaceIdentifierNew);
-
-        tepCommandHelper.showState(tunnelList,enabled);
-
-        verify(mockReadTx).read(LogicalDatastoreType.OPERATIONAL,interfaceIdentifier);
-        verify(mockReadTx).read(LogicalDatastoreType.CONFIGURATION,interfaceIdentifierNew);
-
-    }
-
-    @Test
-    public void testShowStateTunnelAbsent(){
-
-        tepCommandHelper.showState(tunnelListTest, enabled);
-
-        assertEquals("No Internal Tunnels Exist" + newline,outContent.toString());
-
-    }
-
-    @Test
-    public void testGetTransportZone(){
+    public void testGetTransportZone() {
 
         tepCommandHelper.getTransportZone(transportZone1);
 
@@ -577,19 +627,27 @@ public class TepCommandHelperTest {
     }
 
     @Test
-    public void testIsInCache(){
+    public void testIsInCache() {
 
-        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1);
-        tepCommandHelper.isInCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1);
+        try {
+            tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1, null);
+        } catch (TepException e) {
+            LOG.error(e.getMessage());
+        }
+        tepCommandHelper.isInCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1, null);
 
         verify(mockReadTx).read(LogicalDatastoreType.CONFIGURATION,transportZoneIdentifier);
 
     }
 
     @Test
-    public void testValidateForDuplicates(){
+    public void testValidateForDuplicates() {
 
-        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1);
+        try {
+            tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1, null);
+        } catch (TepException e) {
+            LOG.error(e.getMessage());
+        }
         tepCommandHelper.validateForDuplicates(vtepsTest,transportZone1);
 
         verify(mockReadTx, times(2)).read(LogicalDatastoreType.CONFIGURATION,transportZonesIdentifier);
@@ -597,9 +655,13 @@ public class TepCommandHelperTest {
     }
 
     @Test
-    public void testCheckTepPerTzPerDpn(){
+    public void testCheckTepPerTzPerDpn() {
 
-        tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1);
+        try {
+            tepCommandHelper.createLocalCache(dpId1,portName1,vlanId,tepIp1,subnetMask,gwyIp1,transportZone1, null);
+        } catch (TepException e) {
+            LOG.error(e.getMessage());
+        }
         tepCommandHelper.checkTepPerTzPerDpn(transportZone1,dpId2);
 
         verify(mockReadTx, times(2)).read(LogicalDatastoreType.CONFIGURATION,transportZoneIdentifier);