Squashed commit of the following:
[ovsdb.git] / openstack / net-virt / src / test / java / org / opendaylight / ovsdb / openstack / netvirt / impl / ProviderNetworkManagerImplTest.java
index fb93983447d87b761b4789ab77c49170a0c63056..3a32a9e0e567e8fc7041ebdca3f2f6b2030a18ee 100644 (file)
@@ -11,76 +11,63 @@ import static org.junit.Assert.assertEquals;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import java.lang.reflect.Field;
 import java.util.HashMap;
-import java.util.Random;
 
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Spy;
 import org.mockito.runners.MockitoJUnitRunner;
-import org.opendaylight.ovsdb.openstack.netvirt.api.Constants;
 import org.opendaylight.ovsdb.openstack.netvirt.api.NetworkingProvider;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.osgi.framework.ServiceReference;
 
 /**
- * Unit test for class ProviderNetworkManagerImpl
- *
- * TODO In order to have deeper tests, private inner class
- *  ProviderEntry of ProviderNetworkManager should be public.
+ * Unit test for {@link ProviderNetworkManagerImpl}
  */
+/* TODO SB_MIGRATION */ @Ignore
 @RunWith(MockitoJUnitRunner.class)
 public class ProviderNetworkManagerImplTest {
 
     @InjectMocks private ProviderNetworkManagerImpl providerNetworkManagerImpl;
     @Spy private HashMap<Node, NetworkingProvider> nodeToProviderMapping;
 
-    private Random r = new Random();
-
     /**
      * Test method {@link ProviderNetworkManagerImpl#getProvider(Node)}
      */
     @Test
     public void testGetProvider(){
+        // TODO test the method with no networkingProvider in the map
+        // Could not be done as ProviderEntry is a private inner class of ProviderNetworkManagerImpl
+//        assertNotNull("Error, did not return the networkingProvider of the specified node", providerNetworkManagerImpl.getProvider(any(Node.class));
+
         Node node = mock(Node.class);
         NetworkingProvider networkingProvider = mock(NetworkingProvider.class);
-
-        // populate nodeToProviderMapping
         nodeToProviderMapping.put(node, networkingProvider);
-
-        // test when nodeToProviderMapping is populate
         assertEquals("Error, did not return the networkingProvider of the specified node", networkingProvider, providerNetworkManagerImpl.getProvider(node));
     }
 
     /**
-     * Test method {@link ProviderNetworkManagerImpl#providerAdded(ServiceReference, NetworkingProvider)}
+     * Test methods {@link ProviderNetworkManagerImpl#providerRemoved(ServiceReference)}
+     * and {@link ProviderNetworkManagerImpl#providerAdded(ServiceReference, NetworkingProvider)}
      */
     @Test
-    public void testProviderAdded(){
-        ServiceReference ref = mock(ServiceReference.class);
+    public void testProviderAddedAndRemoved() throws Exception {
+        Field field = ProviderNetworkManagerImpl.class.getDeclaredField("providers");
+        field.setAccessible(true);
+        HashMap map = (HashMap) field.get(providerNetworkManagerImpl);
 
-        // configure ref
-        when(ref.getProperty(org.osgi.framework.Constants.SERVICE_ID)).thenReturn(r.nextLong());
-        when(ref.getProperty(Constants.SOUTHBOUND_PROTOCOL_PROPERTY)).thenReturn("proto");
-        when(ref.getProperty(Constants.OPENFLOW_VERSION_PROPERTY)).thenReturn("of");
-        when(ref.getProperty(Constants.PROVIDER_TYPE_PROPERTY)).thenReturn("provider");
+        ServiceReference ref = mock(ServiceReference.class);
+        when(ref.getProperty(org.osgi.framework.Constants.SERVICE_ID)).thenReturn(Long.valueOf(1));
 
-        // nothing much to test
         providerNetworkManagerImpl.providerAdded(ref, mock(NetworkingProvider.class));
-    }
 
-    /**
-     * Test method {@link ProviderNetworkManagerImpl#providerRemoved(ServiceReference)}
-     */
-    @Test
-    public void testProviderRemoved(){
-        ServiceReference ref = mock(ServiceReference.class);
-
-        // configure ref
-        when(ref.getProperty(org.osgi.framework.Constants.SERVICE_ID)).thenReturn(r.nextLong());
+        assertEquals("Error, providerAdded() did not add the provider", 1, map.size());
 
-        // nothing much to test
         providerNetworkManagerImpl.providerRemoved(ref);
+
+        assertEquals("Error, providerRemoved() did not remove the provider", 0, map.size());
     }
 }