X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openstack%2Fnet-virt%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fovsdb%2Fopenstack%2Fnetvirt%2FLBaaSPoolHandlerTest.java;h=4cb99948a2b5f3a507f747b68c9457de8d412d2f;hb=3a51de5f8d57e2c66be32ecc19565c767fd50a03;hp=296a66bed24fa752d33d6848926bc07e1a4250e2;hpb=faf9ce8d4948cf7965534a4791a5f590a14aaa31;p=netvirt.git diff --git a/openstack/net-virt/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/LBaaSPoolHandlerTest.java b/openstack/net-virt/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/LBaaSPoolHandlerTest.java index 296a66bed2..4cb99948a2 100644 --- a/openstack/net-virt/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/LBaaSPoolHandlerTest.java +++ b/openstack/net-virt/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/LBaaSPoolHandlerTest.java @@ -17,6 +17,7 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import java.lang.reflect.Field; import java.net.HttpURLConnection; import java.util.ArrayList; import java.util.List; @@ -38,11 +39,15 @@ import org.opendaylight.neutron.spi.NeutronLoadBalancer; import org.opendaylight.neutron.spi.NeutronLoadBalancerPool; import org.opendaylight.neutron.spi.NeutronLoadBalancerPoolMember; import org.opendaylight.ovsdb.openstack.netvirt.api.Action; +import org.opendaylight.ovsdb.openstack.netvirt.api.EventDispatcher; import org.opendaylight.ovsdb.openstack.netvirt.api.LoadBalancerConfiguration; import org.opendaylight.ovsdb.openstack.netvirt.api.LoadBalancerConfiguration.LoadBalancerPoolMember; import org.opendaylight.ovsdb.openstack.netvirt.api.LoadBalancerProvider; import org.opendaylight.ovsdb.openstack.netvirt.api.NodeCacheManager; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node; +import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper; +import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; + +import org.osgi.framework.ServiceReference; import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; @@ -50,7 +55,7 @@ import org.powermock.modules.junit4.PowerMockRunner; /** * Unit test for {@link LBaaSPoolMemberHandler} */ -@PrepareForTest(NeutronCacheUtils.class) +@PrepareForTest({NeutronCacheUtils.class, ServiceHelper.class}) @RunWith(PowerMockRunner.class) public class LBaaSPoolHandlerTest { @@ -67,17 +72,17 @@ public class LBaaSPoolHandlerTest { public void setUp() { when(neutronLBPool.getLoadBalancerPoolProtocol()).thenReturn(LoadBalancerConfiguration.PROTOCOL_HTTP); - List members = new ArrayList(); + List members = new ArrayList(); NeutronLoadBalancerPoolMember neutronLBPoolMember = mock(NeutronLoadBalancerPoolMember.class); when(neutronLBPoolMember.getPoolMemberAdminStateIsUp()).thenReturn(true); when(neutronLBPoolMember.getPoolMemberSubnetID()).thenReturn("subnetID"); - when(neutronLBPoolMember.getPoolMemberID()).thenReturn("pool_memberID"); + when(neutronLBPoolMember.getID()).thenReturn("pool_memberID"); when(neutronLBPoolMember.getPoolMemberAddress()).thenReturn("pool_member_address"); when(neutronLBPoolMember.getPoolMemberProtoPort()).thenReturn(1); members.add(neutronLBPoolMember); when(neutronLBPool.getLoadBalancerPoolMembers()).thenReturn(members); - List list_neutronLB = new ArrayList(); + List list_neutronLB = new ArrayList(); NeutronLoadBalancer neutronLB = mock(NeutronLoadBalancer.class); when(neutronLB.getLoadBalancerName()).thenReturn("load_balancer_name"); when(neutronLB.getLoadBalancerVipAddress()).thenReturn("vip_address"); @@ -141,9 +146,9 @@ public class LBaaSPoolHandlerTest { NorthboundEvent ev = mock(NorthboundEvent.class); when(ev.getLoadBalancerPool()).thenReturn(neutronLBPool); - List list_node = new ArrayList(); + List list_node = new ArrayList(); list_node .add(mock(Node.class)); - when(nodeCacheManager.getNodes()).thenReturn(list_node); + when(nodeCacheManager.getBridgeNodes()).thenReturn(list_node); when(ev.getAction()).thenReturn(Action.ADD); lbaasPoolHandlerSpy.processEvent(ev); @@ -180,4 +185,51 @@ public class LBaaSPoolHandlerTest { assertEquals("Error, did not return the correct value", LoadBalancerConfiguration.PROTOCOL_HTTP, member.getProtocol()); assertTrue("Error, did not return the correct value", 1 == member.getPort()); } + + @Test + public void testSetDependencies() throws Exception { + EventDispatcher eventDispatcher = mock(EventDispatcher.class); + LoadBalancerProvider loadBalancerProvider = mock(LoadBalancerProvider.class); + NodeCacheManager nodeCacheManager = mock(NodeCacheManager.class); + + PowerMockito.mockStatic(ServiceHelper.class); + PowerMockito.when(ServiceHelper.getGlobalInstance(EventDispatcher.class, lBaaSPoolHandler)).thenReturn(eventDispatcher); + PowerMockito.when(ServiceHelper.getGlobalInstance(LoadBalancerProvider.class, lBaaSPoolHandler)).thenReturn(loadBalancerProvider); + PowerMockito.when(ServiceHelper.getGlobalInstance(NodeCacheManager.class, lBaaSPoolHandler)).thenReturn(nodeCacheManager); + + lBaaSPoolHandler.setDependencies(mock(ServiceReference.class)); + + assertEquals("Error, did not return the correct object", lBaaSPoolHandler.eventDispatcher, eventDispatcher); + assertEquals("Error, did not return the correct object", getField("loadBalancerProvider"), loadBalancerProvider); + assertEquals("Error, did not return the correct object", getField("nodeCacheManager"), nodeCacheManager); + } + + @Test + public void testSetDependenciesObject() throws Exception{ + INeutronNetworkCRUD iNeutronNetworkCRUD = mock(INeutronNetworkCRUD.class); + lBaaSPoolHandler.setDependencies(iNeutronNetworkCRUD); + assertEquals("Error, did not return the correct object", getField("neutronNetworkCache"), iNeutronNetworkCRUD); + + INeutronPortCRUD iNeutronPortCRUD = mock(INeutronPortCRUD.class); + lBaaSPoolHandler.setDependencies(iNeutronPortCRUD); + assertEquals("Error, did not return the correct object", getField("neutronPortCache"), iNeutronPortCRUD); + + INeutronSubnetCRUD iNeutronSubnetCRUD = mock(INeutronSubnetCRUD.class); + lBaaSPoolHandler.setDependencies(iNeutronSubnetCRUD); + assertEquals("Error, did not return the correct object", getField("neutronSubnetCache"), iNeutronSubnetCRUD); + + INeutronLoadBalancerCRUD iNeutronLoadBalancerCRUD = mock(INeutronLoadBalancerCRUD.class); + lBaaSPoolHandler.setDependencies(iNeutronLoadBalancerCRUD); + assertEquals("Error, did not return the correct object", getField("neutronLBCache"), iNeutronLoadBalancerCRUD); + + LoadBalancerProvider loadBalancerProvider = mock(LoadBalancerProvider.class); + lBaaSPoolHandler.setDependencies(loadBalancerProvider); + assertEquals("Error, did not return the correct object", getField("loadBalancerProvider"), loadBalancerProvider); + } + + private Object getField(String fieldName) throws Exception { + Field field = LBaaSPoolHandler.class.getDeclaredField(fieldName); + field.setAccessible(true); + return field.get(lBaaSPoolHandler); + } }