diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-05-19 13:47:22 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-05-19 13:47:22 +0200 |
commit | 920585840be54248b6df82fee258be8313274337 (patch) | |
tree | 18f73dbbe5dca0cc5a14ba7f12eeb8c1a196bb7a /messagebus/src/test | |
parent | 3d6512745fc195494a4614e941423ed398d3f9bc (diff) |
Prepare for using multiple connections per spec
Diffstat (limited to 'messagebus/src/test')
-rwxr-xr-x | messagebus/src/test/java/com/yahoo/messagebus/network/rpc/TargetPoolTestCase.java | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/messagebus/src/test/java/com/yahoo/messagebus/network/rpc/TargetPoolTestCase.java b/messagebus/src/test/java/com/yahoo/messagebus/network/rpc/TargetPoolTestCase.java index a75a765d5a8..71dd7ba1da2 100755 --- a/messagebus/src/test/java/com/yahoo/messagebus/network/rpc/TargetPoolTestCase.java +++ b/messagebus/src/test/java/com/yahoo/messagebus/network/rpc/TargetPoolTestCase.java @@ -11,12 +11,13 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; -import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertSame; /** * @author Simon Thoresen Hult @@ -44,14 +45,45 @@ public class TargetPoolTestCase { } @Test - public void testConnectionExpire() throws ListenFailedException, UnknownHostException { + public void testConnectionCycling() { + // Necessary setup to be able to resolve targets. + RPCServiceAddress adr1 = registerServer(); + + PoolTimer timer = new PoolTimer(); + RPCTargetPool pool1 = new RPCTargetPool(timer, 0.666, 1); + + RPCTarget target1 = pool1.getTarget(orb, adr1); + RPCTarget target2 = pool1.getTarget(orb, adr1); + assertSame(target1, target2); + target1.subRef(); + target2.subRef(); + + RPCTargetPool pool3 = new RPCTargetPool(timer, 0.666, 3); + + target1 = pool3.getTarget(orb, adr1); + target2 = pool3.getTarget(orb, adr1); + RPCTarget target3 = pool3.getTarget(orb, adr1); + assertNotSame(target1, target2); + assertNotSame(target2, target3); + assertNotSame(target3, target1); + + + RPCTarget target4 = pool3.getTarget(orb, adr1); + assertSame(target1, target4); + target1.subRef(); + target2.subRef(); + target3.subRef(); + target4.subRef(); + } + @Test + public void testConnectionExpire() { // Necessary setup to be able to resolve targets. RPCServiceAddress adr1 = registerServer(); RPCServiceAddress adr2 = registerServer(); RPCServiceAddress adr3 = registerServer(); PoolTimer timer = new PoolTimer(); - RPCTargetPool pool = new RPCTargetPool(timer, 0.666); + RPCTargetPool pool = new RPCTargetPool(timer, 0.666, 1); // Assert that all connections expire. RPCTarget target; |