Reduce powermock use in OvsdbManagersUpdateCommandTest 85/94585/2
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 10 Jan 2021 11:38:10 +0000 (12:38 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 10 Jan 2021 11:39:18 +0000 (12:39 +0100)
Do not overmock unrelated classes and use a @VisibleForTesting
method do ditch some of the powermock use.

Change-Id: I90c47897f9057a2a81d0016ce47d27d1f6ac2181
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbManagersUpdateCommand.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbManagersUpdateCommandTest.java

index 0f0929a3fa216aa2ed750a9881c0e46688286e45..ba28c9be40204290906119bc1914ed76b3f7530a 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
+import com.google.common.annotations.VisibleForTesting;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -135,7 +136,8 @@ public class OvsdbManagersUpdateCommand extends AbstractTransactionCommand {
      * @param managerEntry the {@link ManagerEntry}
      * @return the {@link InstanceIdentifier}
      */
-    private InstanceIdentifier<ManagerEntry> getManagerEntryIid(ManagerEntry managerEntry) {
+    @VisibleForTesting
+    final InstanceIdentifier<ManagerEntry> getManagerEntryIid(ManagerEntry managerEntry) {
 
         OvsdbConnectionInstance client = getOvsdbConnectionInstance();
         String nodeString = client.getNodeKey().getNodeId().getValue();
index 8a4b7eb17bf3aab933862d8cc0049e2a6e937426..a132833c4aa3847166f93dd33bf4769c53e598ba 100644 (file)
@@ -5,11 +5,13 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.ovsdb.southbound.transactions.md;
 
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
+import static org.junit.Assert.assertSame;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -39,9 +41,7 @@ import org.opendaylight.ovsdb.southbound.SouthboundUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagerEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagerEntryKey;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
 import org.powermock.api.mockito.PowerMockito;
@@ -148,19 +148,15 @@ public class OvsdbManagersUpdateCommandTest {
 
     @Test
     public void testGetManagerEntryIid() throws Exception {
-        ManagerEntry managerEntry = mock(ManagerEntry.class);
         OvsdbConnectionInstance client = mock(OvsdbConnectionInstance.class, Mockito.RETURNS_DEEP_STUBS);
         when(ovsdbManagersUpdateCommand.getOvsdbConnectionInstance()).thenReturn(client);
         when(client.getNodeKey().getNodeId().getValue()).thenReturn(NODE_ID);
-        PowerMockito.whenNew(Uri.class).withAnyArguments().thenReturn(mock(Uri.class));
 
-        NodeId nodeId = mock(NodeId.class);
-        PowerMockito.whenNew(NodeId.class).withAnyArguments().thenReturn(nodeId);
-        NodeKey nodeKey = mock(NodeKey.class);
-        PowerMockito.whenNew(NodeKey.class).withAnyArguments().thenReturn(nodeKey);
+        ManagerEntry managerEntry = mock(ManagerEntry.class);
         when(managerEntry.key()).thenReturn(mock(ManagerEntryKey.class));
-        assertEquals(KeyedInstanceIdentifier.class,
-                Whitebox.invokeMethod(ovsdbManagersUpdateCommand, "getManagerEntryIid", managerEntry).getClass());
+        InstanceIdentifier<ManagerEntry> iid = ovsdbManagersUpdateCommand.getManagerEntryIid(managerEntry);
+        assertThat(iid, instanceOf(KeyedInstanceIdentifier.class));
+        assertSame(managerEntry.key(), ((KeyedInstanceIdentifier<?, ?>) iid).getKey());
     }
 
     @SuppressWarnings("unchecked")