X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=interfacemgr%2Finterfacemgr-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Finterfacemgr%2Ftest%2FTunnelInterfaceConfigurationTest.java;h=966976ec9dcbcd1dd3f5eb0d85d699cd6fb8ef03;hb=fd4e64307b45b3e0c9704a3dc699e66c644efc11;hp=92c0b743d9a8094fb9260e3b564425ac35857fc5;hpb=4a61af2a3eb515be685d55c84c8a98794e1f2ee2;p=vpnservice.git diff --git a/interfacemgr/interfacemgr-impl/src/test/java/org/opendaylight/vpnservice/interfacemgr/test/TunnelInterfaceConfigurationTest.java b/interfacemgr/interfacemgr-impl/src/test/java/org/opendaylight/vpnservice/interfacemgr/test/TunnelInterfaceConfigurationTest.java index 92c0b743..966976ec 100644 --- a/interfacemgr/interfacemgr-impl/src/test/java/org/opendaylight/vpnservice/interfacemgr/test/TunnelInterfaceConfigurationTest.java +++ b/interfacemgr/interfacemgr-impl/src/test/java/org/opendaylight/vpnservice/interfacemgr/test/TunnelInterfaceConfigurationTest.java @@ -21,18 +21,21 @@ 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.DataChangeScope; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.idmanager.IdManager; import org.opendaylight.vpnservice.interfacemgr.IfmUtil; import org.opendaylight.vpnservice.interfacemgr.commons.InterfaceMetaUtils; import org.opendaylight.vpnservice.interfacemgr.renderer.ovs.confighelpers.OvsInterfaceConfigAddHelper; import org.opendaylight.vpnservice.interfacemgr.renderer.ovs.confighelpers.OvsInterfaceConfigRemoveHelper; +import org.opendaylight.vpnservice.interfacemgr.renderer.ovs.confighelpers.OvsInterfaceConfigUpdateHelper; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface.OperStatus; +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.inventory.rev130819.NodeConnectorId; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.InterfaceTypeGre; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeRef; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.alivenessmonitor.rev150629.AlivenessMonitorService; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.idmanager.rev150403.IdManagerService; import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.meta.rev151007.bridge._interface.info.BridgeEntry; import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.meta.rev151007.bridge._interface.info.BridgeEntryKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.meta.rev151007.bridge._interface.info.bridge.entry.BridgeInterfaceEntry; @@ -82,13 +85,15 @@ public class TunnelInterfaceConfigurationTest { TerminationPoint terminationPoint; @Mock DataBroker dataBroker; - @Mock IdManager idManager; + @Mock IdManagerService idManager; + @Mock AlivenessMonitorService alivenessMonitorService; @Mock ListenerRegistration dataChangeListenerRegistration; @Mock ReadOnlyTransaction mockReadTx; @Mock WriteTransaction mockWriteTx; OvsInterfaceConfigAddHelper addHelper; OvsInterfaceConfigRemoveHelper removeHelper; + OvsInterfaceConfigUpdateHelper updateHelper; @Before public void setUp() throws Exception { @@ -195,10 +200,50 @@ public class TunnelInterfaceConfigurationTest { ifaceBuilder.setKey(IfmUtil.getStateInterfaceKeyFromName(tunnelInterfaceEnabled.getName())); stateInterface = ifaceBuilder.build(); - removeHelper.removeConfiguration(dataBroker, tunnelInterfaceEnabled, idManager, parentRefs); + removeHelper.removeConfiguration(dataBroker, alivenessMonitorService, tunnelInterfaceEnabled, idManager, parentRefs); //Add some verifications verify(mockWriteTx).delete(LogicalDatastoreType.CONFIGURATION, bridgeEntryIid); verify(mockWriteTx).delete(LogicalDatastoreType.CONFIGURATION, terminationPointInstanceIdentifier); } + + + @Test + public void testUpdateAdminStateForGreInterface() { + Optional + expectedStateInterface = Optional.of(stateInterface); + doReturn(Futures.immediateCheckedFuture(expectedStateInterface)).when(mockReadTx).read( + LogicalDatastoreType.OPERATIONAL, interfaceStateIdentifier); + + updateHelper.updateConfiguration(dataBroker, alivenessMonitorService, idManager,tunnelInterfaceDisabled,tunnelInterfaceEnabled); + + //verify whether operational data store is updated with the new oper state. + InterfaceBuilder ifaceBuilder = new InterfaceBuilder(); + ifaceBuilder.setOperStatus(OperStatus.Down); + ifaceBuilder.setKey(IfmUtil.getStateInterfaceKeyFromName(stateInterface.getName())); + + verify(mockWriteTx).merge(LogicalDatastoreType.OPERATIONAL, interfaceStateIdentifier, + ifaceBuilder.build()); + } + @Test + public void testEnableAdminStateForGreInterface() { + Optional + expectedStateInterface = Optional.of(stateInterface); + OptionalexpectedNodeConnector = Optional.of(nodeConnector); + + doReturn(Futures.immediateCheckedFuture(expectedNodeConnector)).when(mockReadTx).read( + LogicalDatastoreType.OPERATIONAL, nodeConnectorInstanceIdentifier); + doReturn(Futures.immediateCheckedFuture(expectedStateInterface)).when(mockReadTx).read( + LogicalDatastoreType.OPERATIONAL, interfaceStateIdentifier); + + updateHelper.updateConfiguration(dataBroker, alivenessMonitorService, idManager,tunnelInterfaceEnabled,tunnelInterfaceDisabled); + + //verify whether operational data store is updated with the new oper state. + InterfaceBuilder ifaceBuilder = new InterfaceBuilder(); + ifaceBuilder.setOperStatus(OperStatus.Down); + ifaceBuilder.setKey(IfmUtil.getStateInterfaceKeyFromName(stateInterface.getName())); + + verify(mockWriteTx).merge(LogicalDatastoreType.OPERATIONAL, interfaceStateIdentifier, + ifaceBuilder.build()); + } }