import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
+import java.lang.reflect.Field;
import java.net.HttpURLConnection;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.Mock;
import org.opendaylight.neutron.spi.NeutronFloatingIP;
import org.opendaylight.ovsdb.openstack.netvirt.api.Action;
+import org.opendaylight.ovsdb.openstack.netvirt.api.EventDispatcher;
import org.opendaylight.ovsdb.openstack.netvirt.impl.NeutronL3Adapter;
+import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
/**
* Unit test for {@link FloatingIPHandler}
*/
-@RunWith(MockitoJUnitRunner.class)
+@RunWith(PowerMockRunner.class)
+@PrepareForTest(ServiceHelper.class)
public class FloatingIPHandlerTest {
- @InjectMocks private FloatingIPHandler floatingHandler = mock(FloatingIPHandler.class, Mockito.CALLS_REAL_METHODS);
- @InjectMocks private NeutronL3Adapter neutronL3Adapter = mock(NeutronL3Adapter.class);
+ @InjectMocks FloatingIPHandler floatingHandler;
+ @Mock NeutronL3Adapter neutronL3Adapter;
@Test
public void testCanCreateFloatingIP(){
floatingHandler.processEvent((AbstractEvent) ev);
verify(neutronL3Adapter, times(1)).handleNeutronFloatingIPEvent(ev.getNeutronFloatingIP(), ev.getAction());;
}
+
+ @Test
+ public void testSetDependencies() throws Exception {
+ EventDispatcher eventDispatcher = mock(EventDispatcher.class);
+ NeutronL3Adapter neutronL3Adapter = mock(NeutronL3Adapter.class);
+
+ PowerMockito.mockStatic(ServiceHelper.class);
+ PowerMockito.when(ServiceHelper.getGlobalInstance(EventDispatcher.class, floatingHandler)).thenReturn(eventDispatcher);
+ PowerMockito.when(ServiceHelper.getGlobalInstance(NeutronL3Adapter.class, floatingHandler)).thenReturn(neutronL3Adapter);
+
+ floatingHandler.setDependencies(mock(BundleContext.class), mock(ServiceReference.class));
+
+ assertEquals("Error, did not return the correct object", floatingHandler.eventDispatcher, eventDispatcher);
+ assertEquals("Error, did not return the correct object", getNeutronL3Adapter(), neutronL3Adapter);
+ }
+
+ private NeutronL3Adapter getNeutronL3Adapter() throws Exception {
+ Field field = FloatingIPHandler.class.getDeclaredField("neutronL3Adapter");
+ field.setAccessible(true);
+ return (NeutronL3Adapter) field.get(floatingHandler);
+ }
}