X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=southbound%2Fsouthbound-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fovsdb%2Fsouthbound%2FOvsdbConnectionManagerTest.java;h=9a67daa54c23e15a470b3f7dd2541bcd38f0c4b8;hb=b280e0059271cf85d51d6ab241e6c135c2a81832;hp=7bb7eef25f41fe5cd7862bb873f79d8b6460f2c5;hpb=82997ed5ede5fad4508fa2f2fcbaaf673b983699;p=ovsdb.git diff --git a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/OvsdbConnectionManagerTest.java b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/OvsdbConnectionManagerTest.java index 7bb7eef25..9a67daa54 100644 --- a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/OvsdbConnectionManagerTest.java +++ b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/OvsdbConnectionManagerTest.java @@ -13,17 +13,20 @@ import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static org.mockito.Mockito.times; +import static org.powermock.api.support.membermodification.MemberMatcher.field; +import static org.powermock.api.support.membermodification.MemberModifier.suppress; +import com.google.common.base.Optional; +import com.google.common.util.concurrent.CheckedFuture; import java.net.InetAddress; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; - -import com.google.common.util.concurrent.CheckedFuture; +import java.util.concurrent.TimeUnit; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -42,13 +45,11 @@ import org.opendaylight.ovsdb.lib.impl.OvsdbConnectionService; import org.opendaylight.ovsdb.southbound.reconciliation.ReconciliationManager; import org.opendaylight.ovsdb.southbound.transactions.md.TransactionCommand; import org.opendaylight.ovsdb.southbound.transactions.md.TransactionInvoker; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.PortNumber; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.rev130405.services.service.Instance; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAttributes; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ConnectionInfo; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ConnectionInfoBuilder; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.powermock.api.mockito.PowerMockito; @@ -58,13 +59,12 @@ import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.reflect.Whitebox; -import com.google.common.base.Optional; - -@PrepareForTest({SouthboundMapper.class, OvsdbConnectionManager.class, OvsdbConnectionService.class, InstanceIdentifier.class, SouthboundUtil.class, Optional.class}) @RunWith(PowerMockRunner.class) +@PrepareForTest({ SouthboundMapper.class, OvsdbConnectionManager.class, OvsdbConnectionService.class, + InstanceIdentifier.class, SouthboundUtil.class, Optional.class }) public class OvsdbConnectionManagerTest { - @Mock private OvsdbConnectionManager ovsdbConnectionManager; + @Mock private OvsdbConnectionManager ovsdbConnManager; @Mock private DataBroker db; @Mock private TransactionInvoker txInvoker; @Mock private EntityOwnershipService entityOwnershipService; @@ -79,13 +79,12 @@ public class OvsdbConnectionManagerTest { @Before public void setUp() throws Exception { - ovsdbConnectionManager = PowerMockito.mock(OvsdbConnectionManager.class, Mockito.CALLS_REAL_METHODS); - MemberModifier.field(OvsdbConnectionManager.class, "db").set(ovsdbConnectionManager, db); - MemberModifier.field(OvsdbConnectionManager.class, "txInvoker").set(ovsdbConnectionManager, txInvoker); - MemberModifier.field(OvsdbConnectionManager.class, "entityOwnershipService").set(ovsdbConnectionManager, entityOwnershipService); - MemberModifier.field(OvsdbConnectionManager.class, "reconciliationManager").set(ovsdbConnectionManager, reconciliationManager); - MemberModifier.field(OvsdbConnectionManager.class, "ovsdbConnection") - .set(ovsdbConnectionManager, ovsdbConnection); + ovsdbConnManager = PowerMockito.mock(OvsdbConnectionManager.class, Mockito.CALLS_REAL_METHODS); + field(OvsdbConnectionManager.class, "db").set(ovsdbConnManager, db); + field(OvsdbConnectionManager.class, "txInvoker").set(ovsdbConnManager, txInvoker); + field(OvsdbConnectionManager.class, "entityOwnershipService").set(ovsdbConnManager, entityOwnershipService); + field(OvsdbConnectionManager.class, "reconciliationManager").set(ovsdbConnManager, reconciliationManager); + field(OvsdbConnectionManager.class, "ovsdbConnection").set(ovsdbConnManager, ovsdbConnection); entityConnectionMap = new ConcurrentHashMap<>(); externalClient = mock(OvsdbClient.class, Mockito.RETURNS_DEEP_STUBS); @@ -94,86 +93,100 @@ public class OvsdbConnectionManagerTest { when(externalClient.getConnectionInfo().getLocalAddress()).thenReturn(mock(InetAddress.class)); when(externalClient.getConnectionInfo().getLocalPort()).thenReturn(8080); List databases = Arrays.asList("Open_vSwitch"); - when(externalClient.getDatabases().get()).thenReturn(databases); + when(externalClient.getDatabases().get(1000, TimeUnit.MILLISECONDS)).thenReturn(databases); PowerMockito.mockStatic(SouthboundUtil.class); when(SouthboundUtil.connectionInfoToString(any(ConnectionInfo.class))).thenReturn("192.18.120.31:8080"); } + @Test public void testConnected() throws Exception { OvsdbConnectionInstance client = mock(OvsdbConnectionInstance.class); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "connectedButCallBacksNotRegistered", OvsdbClient.class)); - when(ovsdbConnectionManager.connectedButCallBacksNotRegistered(any(OvsdbClient.class))).thenReturn(client); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "connectedButCallBacksNotRegistered", + OvsdbClient.class)); + when(ovsdbConnManager.connectedButCallBacksNotRegistered(any(OvsdbClient.class))).thenReturn(client); doNothing().when(client).registerCallbacks(); //TODO: Write unit tests for EntityOwnershipService InstanceIdentifier iid = mock(InstanceIdentifier.class); when(client.getInstanceIdentifier()).thenReturn(iid); - MemberModifier.field(OvsdbConnectionManager.class, "entityConnectionMap").set(ovsdbConnectionManager, entityConnectionMap); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getEntityFromConnectionInstance", OvsdbConnectionInstance.class)); + field(OvsdbConnectionManager.class, "entityConnectionMap").set(ovsdbConnManager, entityConnectionMap); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getEntityFromConnectionInstance", + OvsdbConnectionInstance.class)); //TODO: Write unit tests for entity ownership service related code. - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "registerEntityForOwnership", OvsdbConnectionInstance.class)); - ovsdbConnectionManager.connected(externalClient); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "registerEntityForOwnership", + OvsdbConnectionInstance.class)); + + ReadOnlyTransaction tx = mock(ReadOnlyTransaction.class); + when(db.newReadOnlyTransaction()).thenReturn(tx); + when(tx.read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))) + .thenReturn(mock(CheckedFuture.class)); + when(client.getInstanceIdentifier()).thenReturn(mock(InstanceIdentifier.class)); + + ovsdbConnManager.connected(externalClient); } @SuppressWarnings("unchecked") @Test public void testConnectedButCallBacksNotRegistered() throws Exception { - OvsdbConnectionInstance client = mock(OvsdbConnectionInstance.class); ConnectionInfo key = mock(ConnectionInfo.class); PowerMockito.mockStatic(SouthboundMapper.class); when(SouthboundMapper.createConnectionInfo(any(OvsdbClient.class))).thenReturn(key); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getInstanceIdentifier", ConnectionInfo.class)); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getInstanceIdentifier", ConnectionInfo.class)); InstanceIdentifier iid = mock(InstanceIdentifier.class); - when(ovsdbConnectionManager.getInstanceIdentifier(key)).thenReturn(iid); + when(ovsdbConnManager.getInstanceIdentifier(key)).thenReturn(iid); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", ConnectionInfo.class)); - when(ovsdbConnectionManager.getConnectionInstance(key)).thenReturn(null); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", ConnectionInfo.class)); + when(ovsdbConnManager.getConnectionInstance(key)).thenReturn(null); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "putConnectionInstance", ConnectionInfo.class, OvsdbConnectionInstance.class)); + OvsdbConnectionInstance client = mock(OvsdbConnectionInstance.class); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "putConnectionInstance", ConnectionInfo.class, + OvsdbConnectionInstance.class)); doNothing().when(client).createTransactInvokers(); - PowerMockito.whenNew(OvsdbConnectionInstance.class). - withArguments(any(ConnectionInfo.class), any(OvsdbClient.class),any(TransactionInvoker.class), any(InstanceIdentifier.class)). - thenReturn(client); + PowerMockito.whenNew(OvsdbConnectionInstance.class).withArguments(any(ConnectionInfo.class), + any(OvsdbClient.class), any(TransactionInvoker.class), any(InstanceIdentifier.class)) + .thenReturn(client); - assertEquals("Error, did not receive correct OvsdbConnectionInstance object", client, ovsdbConnectionManager.connectedButCallBacksNotRegistered(externalClient)); + assertEquals("Error, did not receive correct OvsdbConnectionInstance object", client, + ovsdbConnManager.connectedButCallBacksNotRegistered(externalClient)); } @Test public void testDisconnected() throws Exception { - OvsdbConnectionInstance ovsdbConnectionInstance = mock(OvsdbConnectionInstance.class); - ConnectionInfo key = mock(ConnectionInfo.class); PowerMockito.mockStatic(SouthboundMapper.class); when(SouthboundMapper.createConnectionInfo(any(OvsdbClient.class))).thenReturn(key); + OvsdbConnectionInstance ovsdbConnectionInstance = mock(OvsdbConnectionInstance.class); clients = new ConcurrentHashMap<>(); clients.put(key, ovsdbConnectionInstance); - MemberModifier.field(OvsdbConnectionManager.class, "clients").set(ovsdbConnectionManager, clients); + MemberModifier.field(OvsdbConnectionManager.class, "clients").set(ovsdbConnManager, clients); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", ConnectionInfo.class)); - when(ovsdbConnectionManager.getConnectionInstance(any(ConnectionInfo.class))).thenReturn(ovsdbConnectionInstance); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", ConnectionInfo.class)); + when(ovsdbConnManager.getConnectionInstance(any(ConnectionInfo.class))).thenReturn(ovsdbConnectionInstance); doNothing().when(txInvoker).invoke(any(TransactionCommand.class)); when(SouthboundMapper.suppressLocalIpPort(any(ConnectionInfo.class))).thenReturn(key); - //TODO: Write unit tests for EntityOwnershipService - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "unregisterEntityForOwnership", OvsdbConnectionInstance.class)); + // TODO: Write unit tests for EntityOwnershipService + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "unregisterEntityForOwnership", + OvsdbConnectionInstance.class)); instanceIdentifiers = new ConcurrentHashMap<>(); - MemberModifier.field(OvsdbConnectionManager.class, "instanceIdentifiers").set(ovsdbConnectionManager, instanceIdentifiers); + field(OvsdbConnectionManager.class, "instanceIdentifiers").set(ovsdbConnManager, instanceIdentifiers); MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "reconcileConnection", InstanceIdentifier.class, OvsdbNodeAugmentation.class)); ReadOnlyTransaction tx = mock(ReadOnlyTransaction.class); when(db.newReadOnlyTransaction()).thenReturn(tx); - when(tx.read(any(LogicalDatastoreType.class),any(InstanceIdentifier.class))) + when(tx.read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))) .thenReturn(mock(CheckedFuture.class)); when(ovsdbConnectionInstance.getInstanceIdentifier()).thenReturn(mock(InstanceIdentifier.class)); - ovsdbConnectionManager.disconnected(externalClient); - Map testClients = Whitebox.getInternalState(ovsdbConnectionManager, "clients"); + ovsdbConnManager.disconnected(externalClient); + Map testClients = Whitebox.getInternalState(ovsdbConnManager, + "clients"); assertEquals("Error, size of the hashmap is incorrect", 0, testClients.size()); } @@ -182,27 +195,29 @@ public class OvsdbConnectionManagerTest { OvsdbNodeAugmentation ovsdbNode = mock(OvsdbNodeAugmentation.class); ConnectionInfo connectionInfo = mock(ConnectionInfo.class); when(ovsdbNode.getConnectionInfo()).thenReturn(connectionInfo); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", ConnectionInfo.class)); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", ConnectionInfo.class)); OvsdbConnectionInstance ovsdbConnectionInstance = mock(OvsdbConnectionInstance.class); - when(ovsdbConnectionManager.getConnectionInstance(any(ConnectionInfo.class))).thenReturn(ovsdbConnectionInstance); + when(ovsdbConnManager.getConnectionInstance(any(ConnectionInfo.class))).thenReturn(ovsdbConnectionInstance); + when(ovsdbConnectionInstance.getInstanceIdentifier()).thenReturn(mock(InstanceIdentifier.class)); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "removeInstanceIdentifier", ConnectionInfo.class)); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "removeInstanceIdentifier", ConnectionInfo.class)); - //TODO: Write unit tests for entity ownership service related code. - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "unregisterEntityForOwnership", OvsdbConnectionInstance.class)); - ovsdbConnectionManager.disconnect(ovsdbNode); + // TODO: Write unit tests for entity ownership service related code. + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "unregisterEntityForOwnership", + OvsdbConnectionInstance.class)); + ovsdbConnManager.disconnect(ovsdbNode); verify((OvsdbClient)ovsdbConnectionInstance).disconnect(); } - @Ignore @Test + @Ignore public void testInit() { - ConnectionInfo key = mock(ConnectionInfo.class); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", ConnectionInfo.class)); + mock(ConnectionInfo.class); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", ConnectionInfo.class)); OvsdbConnectionInstance ovsdbConnectionInstance = mock(OvsdbConnectionInstance.class); - when(ovsdbConnectionManager.getConnectionInstance(any(ConnectionInfo.class))).thenReturn(ovsdbConnectionInstance); + when(ovsdbConnManager.getConnectionInstance(any(ConnectionInfo.class))).thenReturn(ovsdbConnectionInstance); - //client not null + // client not null // ovsdbConnectionManager.init(key); verify(ovsdbConnectionInstance).registerCallbacks(); } @@ -216,8 +231,8 @@ public class OvsdbConnectionManagerTest { clients = new ConcurrentHashMap<>(); clients.put(key1, ovsdbConnectionInstance1); clients.put(key2, ovsdbConnectionInstance2); - MemberModifier.field(OvsdbConnectionManager.class, "clients").set(ovsdbConnectionManager, clients); - ovsdbConnectionManager.close(); + MemberModifier.field(OvsdbConnectionManager.class, "clients").set(ovsdbConnManager, clients); + ovsdbConnManager.close(); verify(ovsdbConnectionInstance1).disconnect(); verify(ovsdbConnectionInstance2).disconnect(); } @@ -226,45 +241,49 @@ public class OvsdbConnectionManagerTest { public void testPutAndGetConnectionInstance() throws Exception { ConnectionInfo key = mock(ConnectionInfo.class); ConnectionInfo connectionInfo = mock(ConnectionInfo.class); - OvsdbConnectionInstance instance = mock(OvsdbConnectionInstance.class); PowerMockito.mockStatic(SouthboundMapper.class); when(SouthboundMapper.suppressLocalIpPort(key)).thenReturn(connectionInfo); clients = new ConcurrentHashMap<>(); - MemberModifier.field(OvsdbConnectionManager.class, "clients").set(ovsdbConnectionManager, clients); + MemberModifier.field(OvsdbConnectionManager.class, "clients").set(ovsdbConnManager, clients); - //Test putConnectionInstance() - Whitebox.invokeMethod(ovsdbConnectionManager, "putConnectionInstance", key, instance); - Map testClients = Whitebox.getInternalState(ovsdbConnectionManager, "clients"); + // Test putConnectionInstance() + OvsdbConnectionInstance instance = mock(OvsdbConnectionInstance.class); + Whitebox.invokeMethod(ovsdbConnManager, "putConnectionInstance", key, instance); + Map testClients = Whitebox.getInternalState(ovsdbConnManager, + "clients"); assertEquals("Error, size of the hashmap is incorrect", 1, testClients.size()); - //Test getConnectionInstance(ConnectionInfo key) - assertEquals("Error, returned incorrect OvsdbConnectionInstance object", instance, ovsdbConnectionManager.getConnectionInstance(key)); + // Test getConnectionInstance(ConnectionInfo key) + assertEquals("Error, returned incorrect OvsdbConnectionInstance object", instance, + ovsdbConnManager.getConnectionInstance(key)); } - @SuppressWarnings("unchecked") @Test + @SuppressWarnings("unchecked") public void testPutandGetInstanceIdentifier() throws Exception { ConnectionInfo key = mock(ConnectionInfo.class); ConnectionInfo connectionInfo = mock(ConnectionInfo.class); - InstanceIdentifier iid = mock(InstanceIdentifier.class); PowerMockito.mockStatic(SouthboundMapper.class); when(SouthboundMapper.suppressLocalIpPort(key)).thenReturn(connectionInfo); instanceIdentifiers = new ConcurrentHashMap<>(); - MemberModifier.field(OvsdbConnectionManager.class, "instanceIdentifiers").set(ovsdbConnectionManager, instanceIdentifiers); + field(OvsdbConnectionManager.class, "instanceIdentifiers").set(ovsdbConnManager, instanceIdentifiers); //Test putInstanceIdentifier() - Whitebox.invokeMethod(ovsdbConnectionManager, "putInstanceIdentifier", key, iid); - Map testIids = Whitebox.getInternalState(ovsdbConnectionManager, "instanceIdentifiers"); + Whitebox.invokeMethod(ovsdbConnManager, "putInstanceIdentifier", key, iid); + Map testIids = Whitebox.getInternalState(ovsdbConnManager, + "instanceIdentifiers"); assertEquals("Error, size of the hashmap is incorrect", 1, testIids.size()); //Test getInstanceIdentifier() - assertEquals("Error returning correct InstanceIdentifier object",iid , ovsdbConnectionManager.getInstanceIdentifier(key)); + assertEquals("Error returning correct InstanceIdentifier object", iid, + ovsdbConnManager.getInstanceIdentifier(key)); //Test removeInstanceIdentifier() - Whitebox.invokeMethod(ovsdbConnectionManager, "removeInstanceIdentifier", key); - Map testRemoveIids = Whitebox.getInternalState(ovsdbConnectionManager, "instanceIdentifiers"); + Whitebox.invokeMethod(ovsdbConnManager, "removeInstanceIdentifier", key); + Map testRemoveIids = Whitebox.getInternalState(ovsdbConnManager, + "instanceIdentifiers"); assertEquals("Error, size of the hashmap is incorrect", 0, testRemoveIids.size()); } @@ -274,21 +293,22 @@ public class OvsdbConnectionManagerTest { //Test getClient(ConnectionInfo connectionInfo) ConnectionInfo key = mock(ConnectionInfo.class); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", ConnectionInfo.class)); - when(ovsdbConnectionManager.getConnectionInstance(key)).thenReturn((OvsdbConnectionInstance)ovsdbClient); - assertEquals("Error getting correct OvsdbClient object", ovsdbClient, ovsdbConnectionManager.getClient(key)); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", ConnectionInfo.class)); + when(ovsdbConnManager.getConnectionInstance(key)).thenReturn((OvsdbConnectionInstance)ovsdbClient); + assertEquals("Error getting correct OvsdbClient object", ovsdbClient, ovsdbConnManager.getClient(key)); //Test getClient(OvsdbBridgeAttributes mn) OvsdbBridgeAttributes mn = mock(OvsdbBridgeAttributes.class); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", OvsdbBridgeAttributes.class)); - when(ovsdbConnectionManager.getConnectionInstance(mn)).thenReturn((OvsdbConnectionInstance)ovsdbClient); - assertEquals("Error getting correct OvsdbClient object", ovsdbClient, ovsdbConnectionManager.getClient(mn)); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", + OvsdbBridgeAttributes.class)); + when(ovsdbConnManager.getConnectionInstance(mn)).thenReturn((OvsdbConnectionInstance)ovsdbClient); + assertEquals("Error getting correct OvsdbClient object", ovsdbClient, ovsdbConnManager.getClient(mn)); //Test getClient(Node node) Node node = mock(Node.class); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", Node.class)); - when(ovsdbConnectionManager.getConnectionInstance(node)).thenReturn((OvsdbConnectionInstance)ovsdbClient); - assertEquals("Error getting correct OvsdbClient object", ovsdbClient, ovsdbConnectionManager.getClient(node)); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getConnectionInstance", Node.class)); + when(ovsdbConnManager.getConnectionInstance(node)).thenReturn((OvsdbConnectionInstance)ovsdbClient); + assertEquals("Error getting correct OvsdbClient object", ovsdbClient, ovsdbConnManager.getClient(node)); } @SuppressWarnings("unchecked") @@ -304,30 +324,36 @@ public class OvsdbConnectionManagerTest { InetAddress ip = mock(InetAddress.class); when(SouthboundMapper.createInetAddress(any(IpAddress.class))).thenReturn(ip); - OvsdbClient client = mock(OvsdbClient.class); PowerMockito.mockStatic(OvsdbConnectionService.class); when(OvsdbConnectionService.getService()).thenReturn(ovsdbConnection); PortNumber port = mock(PortNumber.class); when(connectionInfo.getRemotePort()).thenReturn(port); when(port.getValue()).thenReturn(8080); + OvsdbClient client = mock(OvsdbClient.class); when(ovsdbConnection.connect(any(InetAddress.class), anyInt())).thenReturn(client); //client not null case - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "putInstanceIdentifier", ConnectionInfo.class, InstanceIdentifier.class)); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "connectedButCallBacksNotRegistered", OvsdbClient.class)); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "putInstanceIdentifier", ConnectionInfo.class, + InstanceIdentifier.class)); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "connectedButCallBacksNotRegistered", + OvsdbClient.class)); - PowerMockito.doNothing().when(ovsdbConnectionManager, "putInstanceIdentifier", any(ConnectionInfo.class), any(InstanceIdentifier.class)); + PowerMockito.doNothing().when(ovsdbConnManager, "putInstanceIdentifier", any(ConnectionInfo.class), + any(InstanceIdentifier.class)); OvsdbConnectionInstance ovsdbConnectionInstance = mock(OvsdbConnectionInstance.class); - when(ovsdbConnectionManager.connectedButCallBacksNotRegistered(any(OvsdbClient.class))).thenReturn(ovsdbConnectionInstance); + when(ovsdbConnManager.connectedButCallBacksNotRegistered(any(OvsdbClient.class))) + .thenReturn(ovsdbConnectionInstance); InstanceIdentifier iid = mock(InstanceIdentifier.class); when(ovsdbConnectionInstance.getInstanceIdentifier()).thenReturn(iid); - MemberModifier.field(OvsdbConnectionManager.class, "entityConnectionMap").set(ovsdbConnectionManager, entityConnectionMap); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getEntityFromConnectionInstance", OvsdbConnectionInstance.class)); + field(OvsdbConnectionManager.class, "entityConnectionMap").set(ovsdbConnManager, entityConnectionMap); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "getEntityFromConnectionInstance", + OvsdbConnectionInstance.class)); //TODO: Write unit tests for entity ownership service related code. - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "registerEntityForOwnership", OvsdbConnectionInstance.class)); - assertEquals("ERROR", client, ovsdbConnectionManager.connect(PowerMockito.mock(InstanceIdentifier.class), ovsdbNode)); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "registerEntityForOwnership", + OvsdbConnectionInstance.class)); + assertEquals("ERROR", client, ovsdbConnManager.connect(PowerMockito.mock(InstanceIdentifier.class), ovsdbNode)); } @Test @@ -335,13 +361,14 @@ public class OvsdbConnectionManagerTest { Entity entity = new Entity("entityType", "entityName"); ConnectionInfo key = mock(ConnectionInfo.class); - OvsdbConnectionInstance ovsdbConnectionInstance = new OvsdbConnectionInstance(key, externalClient, txInvoker, iid); - entityConnectionMap.put(entity, ovsdbConnectionInstance); + OvsdbConnectionInstance ovsdbConnInstance = new OvsdbConnectionInstance(key, externalClient, txInvoker, iid); + entityConnectionMap.put(entity, ovsdbConnInstance); - MemberModifier.field(OvsdbConnectionManager.class, "entityConnectionMap").set(ovsdbConnectionManager, entityConnectionMap); - MemberModifier.suppress(MemberMatcher.method(OvsdbConnectionManager.class, "putConnectionInstance", ConnectionInfo.class, OvsdbConnectionInstance.class)); + field(OvsdbConnectionManager.class, "entityConnectionMap").set(ovsdbConnManager, entityConnectionMap); + suppress(MemberMatcher.method(OvsdbConnectionManager.class, "putConnectionInstance", ConnectionInfo.class, + OvsdbConnectionInstance.class)); EntityOwnershipChange ownershipChange = new EntityOwnershipChange(entity, true, false, false); - Whitebox.invokeMethod(ovsdbConnectionManager, "handleOwnershipChanged", ownershipChange); - PowerMockito.verifyPrivate(ovsdbConnectionManager, times(1)).invoke("putConnectionInstance", key, ovsdbConnectionInstance); + Whitebox.invokeMethod(ovsdbConnManager, "handleOwnershipChanged", ownershipChange); + PowerMockito.verifyPrivate(ovsdbConnManager, times(1)).invoke("putConnectionInstance", key, ovsdbConnInstance); } }