X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=interfacemgr%2Finterfacemgr-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Finterfacemgr%2Ftest%2FVlanInterfaceConfigurationTest.java;h=0f61af1ff96a848cf5983b8233cc91c0faf0c253;hb=6e60a68cb870f5b237ce26a95d1ae78c233b4029;hp=469ac2a5c14de190f6ae65be0902e115d7b43913;hpb=ba45d7db37822f2566c2f4969dd59f66e0349268;p=vpnservice.git diff --git a/interfacemgr/interfacemgr-impl/src/test/java/org/opendaylight/vpnservice/interfacemgr/test/VlanInterfaceConfigurationTest.java b/interfacemgr/interfacemgr-impl/src/test/java/org/opendaylight/vpnservice/interfacemgr/test/VlanInterfaceConfigurationTest.java index 469ac2a5..0f61af1f 100644 --- a/interfacemgr/interfacemgr-impl/src/test/java/org/opendaylight/vpnservice/interfacemgr/test/VlanInterfaceConfigurationTest.java +++ b/interfacemgr/interfacemgr-impl/src/test/java/org/opendaylight/vpnservice/interfacemgr/test/VlanInterfaceConfigurationTest.java @@ -13,6 +13,7 @@ import static org.mockito.Mockito.*; import com.google.common.base.Optional; import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; import java.math.BigInteger; @@ -31,6 +32,7 @@ import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataCh 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.mdsalutil.interfaces.IMdsalApiManager; @@ -40,8 +42,19 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces. 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.vpnservice.alivenessmonitor.rev150629.AlivenessMonitorService; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.idmanager.rev150403.AllocateIdInput; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.idmanager.rev150403.AllocateIdOutput; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.idmanager.rev150403.AllocateIdOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.meta.rev151007._interface.child.info.InterfaceParentEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.meta.rev151007._interface.child.info.InterfaceParentEntryKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.meta.rev151007._interface.child.info._interface.parent.entry.InterfaceChildEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.meta.rev151007._interface.child.info._interface.parent.entry.InterfaceChildEntryBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.meta.rev151007._interface.child.info._interface.parent.entry.InterfaceChildEntryKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.rev150331.ParentRefs; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.yangtools.yang.common.RpcResultBuilder; @RunWith(MockitoJUnitRunner.class) public class VlanInterfaceConfigurationTest { @@ -64,6 +77,9 @@ public class VlanInterfaceConfigurationTest { Interface vlanInterfaceDisabled; InstanceIdentifier interfaceInstanceIdentifier; InstanceIdentifier nodeConnectorInstanceIdentifier; + InstanceIdentifier interfaceParentEntryIdentifier = null; + InterfaceChildEntry interfaceChildEntry = null; + InstanceIdentifier interfaceChildEntryInstanceIdentifier; InstanceIdentifier interfaceStateIdentifier; org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface stateInterface; @@ -91,10 +107,21 @@ public class VlanInterfaceConfigurationTest { nodeConnectorInstanceIdentifier = InterfaceManagerTestUtil.getNcIdent("openflow:1", nodeConnectorId); interfaceStateIdentifier = IfmUtil.buildStateInterfaceId(vlanInterfaceEnabled.getName()); stateInterface = InterfaceManagerTestUtil.buildStateInterface(InterfaceManagerTestUtil.interfaceName, nodeConnectorId); - + AllocateIdOutput output = new AllocateIdOutputBuilder().setIdValue((long)1).build(); + RpcResultBuilder allocateIdRpcBuilder = RpcResultBuilder.success(); + allocateIdRpcBuilder.withResult(output); + ListenableFuture> future = Futures.immediateFuture(allocateIdRpcBuilder.build()); + interfaceParentEntryIdentifier = InterfaceMetaUtils.getInterfaceParentEntryIdentifier( + new InterfaceParentEntryKey(InterfaceManagerTestUtil.interfaceName)); + interfaceChildEntryInstanceIdentifier = InterfaceMetaUtils.getInterfaceChildEntryIdentifier(new InterfaceParentEntryKey("s1-eth1"), + new InterfaceChildEntryKey(vlanInterfaceEnabled.getName())); + interfaceChildEntry = new InterfaceChildEntryBuilder().setKey(new InterfaceChildEntryKey(vlanInterfaceEnabled.getName())). + setChildInterface(vlanInterfaceEnabled.getName()).build(); // Setup mocks when(dataBroker.newReadOnlyTransaction()).thenReturn(mockReadTx); when(dataBroker.newWriteOnlyTransaction()).thenReturn(mockWriteTx); + + when(idManager.allocateId(any(AllocateIdInput.class))).thenReturn(future); } @Test @@ -106,8 +133,10 @@ public class VlanInterfaceConfigurationTest { LogicalDatastoreType.CONFIGURATION, interfaceInstanceIdentifier); doReturn(Futures.immediateCheckedFuture(Optional.absent())).when(mockReadTx).read( LogicalDatastoreType.OPERATIONAL, interfaceStateIdentifier); + doReturn(Futures.immediateCheckedFuture(Optional.absent())).when(mockReadTx).read( + LogicalDatastoreType.CONFIGURATION, interfaceParentEntryIdentifier); - addHelper.addConfiguration(dataBroker, null, vlanInterfaceEnabled, idManager, + addHelper.addConfiguration(dataBroker, vlanInterfaceEnabled.getAugmentation(ParentRefs.class), vlanInterfaceEnabled, idManager, alivenessMonitorService, mdsalApiManager); //Nothing to verify, since when switch is not connected we don't do any datastore operation @@ -117,14 +146,17 @@ public class VlanInterfaceConfigurationTest { @Test public void testAddVlanInterfaceWhenSwitchIsConnected() { Optional expectedInterface = Optional.of(vlanInterfaceEnabled); - Optional expectedStateInterface = Optional.of(stateInterface); + Optional + expectedStateInterface = Optional.of(stateInterface); doReturn(Futures.immediateCheckedFuture(expectedInterface)).when(mockReadTx).read( LogicalDatastoreType.CONFIGURATION, interfaceInstanceIdentifier); doReturn(Futures.immediateCheckedFuture(expectedStateInterface)).when(mockReadTx).read( LogicalDatastoreType.OPERATIONAL, interfaceStateIdentifier); + doReturn(Futures.immediateCheckedFuture(Optional.absent())).when(mockReadTx).read( + LogicalDatastoreType.CONFIGURATION, interfaceParentEntryIdentifier); - addHelper.addConfiguration(dataBroker, null, vlanInterfaceEnabled, idManager, + addHelper.addConfiguration(dataBroker, vlanInterfaceEnabled.getAugmentation(ParentRefs.class), vlanInterfaceEnabled, idManager, alivenessMonitorService, mdsalApiManager); //Nothing to verify, since when adminstate is enabled and switch opstate is already up, @@ -141,17 +173,20 @@ public class VlanInterfaceConfigurationTest { LogicalDatastoreType.CONFIGURATION, interfaceInstanceIdentifier); doReturn(Futures.immediateCheckedFuture(expectedStateInterface)).when(mockReadTx).read( LogicalDatastoreType.OPERATIONAL, interfaceStateIdentifier); + doReturn(Futures.immediateCheckedFuture(Optional.absent())).when(mockReadTx).read( + LogicalDatastoreType.CONFIGURATION, interfaceParentEntryIdentifier); org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.InterfaceBuilder ifaceBuilder = new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.InterfaceBuilder(); ifaceBuilder.setOperStatus(OperStatus.Down); ifaceBuilder.setKey(IfmUtil.getStateInterfaceKeyFromName(vlanInterfaceEnabled.getName())); + ifaceBuilder.setType(L2vlan.class); stateInterface = ifaceBuilder.build(); - addHelper.addConfiguration(dataBroker, null, vlanInterfaceDisabled, idManager, + addHelper.addConfiguration(dataBroker, vlanInterfaceDisabled.getAugmentation(ParentRefs.class), vlanInterfaceDisabled, idManager, alivenessMonitorService, mdsalApiManager); //verification - verify(mockWriteTx).merge(LogicalDatastoreType.OPERATIONAL, interfaceStateIdentifier, stateInterface); + verify(mockWriteTx).put(LogicalDatastoreType.CONFIGURATION, interfaceChildEntryInstanceIdentifier, interfaceChildEntry, true); } @Test @@ -165,16 +200,13 @@ public class VlanInterfaceConfigurationTest { LogicalDatastoreType.OPERATIONAL, nodeConnectorInstanceIdentifier); doReturn(Futures.immediateCheckedFuture(expectedStateIf)).when(mockReadTx).read( LogicalDatastoreType.OPERATIONAL, interfaceStateIdentifier); - - org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.InterfaceBuilder ifaceBuilder = new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.InterfaceBuilder(); - ifaceBuilder.setOperStatus(OperStatus.Down); - ifaceBuilder.setKey(IfmUtil.getStateInterfaceKeyFromName(vlanInterfaceEnabled.getName())); - stateInterface = ifaceBuilder.build(); + doReturn(Futures.immediateCheckedFuture(Optional.absent())).when(mockReadTx).read( + LogicalDatastoreType.CONFIGURATION, interfaceParentEntryIdentifier); removeHelper.removeConfiguration(dataBroker,alivenessMonitorService, vlanInterfaceEnabled, idManager, - mdsalApiManager, null); + mdsalApiManager, vlanInterfaceEnabled.getAugmentation(ParentRefs.class)); //verification - verify(mockWriteTx).merge(LogicalDatastoreType.OPERATIONAL, interfaceStateIdentifier, stateInterface); + verify(mockWriteTx).delete(LogicalDatastoreType.OPERATIONAL, interfaceStateIdentifier); } }