summaryrefslogtreecommitdiffstats
path: root/messagebus/src/test
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-05-19 13:47:22 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2019-05-19 13:47:22 +0200
commit920585840be54248b6df82fee258be8313274337 (patch)
tree18f73dbbe5dca0cc5a14ba7f12eeb8c1a196bb7a /messagebus/src/test
parent3d6512745fc195494a4614e941423ed398d3f9bc (diff)
Prepare for using multiple connections per spec
Diffstat (limited to 'messagebus/src/test')
-rwxr-xr-xmessagebus/src/test/java/com/yahoo/messagebus/network/rpc/TargetPoolTestCase.java38
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;