diff options
Diffstat (limited to 'config/src/test/java/com/yahoo/config/subscription/GenericConfigSubscriberTest.java')
-rw-r--r-- | config/src/test/java/com/yahoo/config/subscription/GenericConfigSubscriberTest.java | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/config/src/test/java/com/yahoo/config/subscription/GenericConfigSubscriberTest.java b/config/src/test/java/com/yahoo/config/subscription/GenericConfigSubscriberTest.java index fc922cc3b07..4616630557e 100644 --- a/config/src/test/java/com/yahoo/config/subscription/GenericConfigSubscriberTest.java +++ b/config/src/test/java/com/yahoo/config/subscription/GenericConfigSubscriberTest.java @@ -6,15 +6,15 @@ import com.yahoo.config.subscription.impl.GenericConfigSubscriber; import com.yahoo.config.subscription.impl.JRTConfigRequester; import com.yahoo.config.subscription.impl.JRTConfigRequesterTest; import com.yahoo.config.subscription.impl.MockConnection; -import com.yahoo.jrt.Supervisor; -import com.yahoo.jrt.Transport; import com.yahoo.vespa.config.ConfigKey; -import com.yahoo.vespa.config.JRTConnectionPool; import com.yahoo.vespa.config.TimingValues; import com.yahoo.vespa.config.protocol.CompressionType; import org.junit.Test; +import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -31,11 +31,14 @@ public class GenericConfigSubscriberTest { @Test public void testSubscribeGeneric() throws InterruptedException { - JRTConfigRequester requester = new JRTConfigRequester(new MockConnection(), tv); - GenericConfigSubscriber sub = new GenericConfigSubscriber(requester); + Map<ConfigSourceSet, JRTConfigRequester> requesters = new HashMap<>(); + ConfigSourceSet sourceSet = new ConfigSourceSet("blabla"); + requesters.put(sourceSet, new JRTConfigRequester(new MockConnection(), tv)); + GenericConfigSubscriber sub = new GenericConfigSubscriber(requesters); final List<String> defContent = List.of("myVal int"); GenericConfigHandle handle = sub.subscribe(new ConfigKey<>("simpletypes", "id", "config"), defContent, + sourceSet, tv); assertTrue(sub.nextConfig(false)); assertTrue(handle.isChanged()); @@ -57,6 +60,23 @@ public class GenericConfigSubscriberTest { return handle.getRawConfig().getPayload().withCompression(CompressionType.UNCOMPRESSED).toString(); } + @Test + public void testGenericRequesterPooling() { + ConfigSourceSet source1 = new ConfigSourceSet("tcp/foo:78"); + ConfigSourceSet source2 = new ConfigSourceSet("tcp/bar:79"); + JRTConfigRequester req1 = JRTConfigRequester.create(source1, tv); + JRTConfigRequester req2 = JRTConfigRequester.create(source2, tv); + Map<ConfigSourceSet, JRTConfigRequester> requesters = new LinkedHashMap<>(); + requesters.put(source1, req1); + requesters.put(source2, req2); + GenericConfigSubscriber sub = new GenericConfigSubscriber(requesters); + assertEquals(sub.requesters().get(source1).getConnectionPool().getCurrent().getAddress(), "tcp/foo:78"); + assertEquals(sub.requesters().get(source2).getConnectionPool().getCurrent().getAddress(), "tcp/bar:79"); + for (JRTConfigRequester requester : requesters.values()) { + requester.close(); + } + } + @Test(expected=UnsupportedOperationException.class) public void testOverriddenSubscribeInvalid1() { createSubscriber().subscribe(null, null); @@ -73,7 +93,9 @@ public class GenericConfigSubscriberTest { } private GenericConfigSubscriber createSubscriber() { - return new GenericConfigSubscriber(new JRTConfigRequester(new JRTConnectionPool(new ConfigSourceSet("foo"), new Supervisor(new Transport())), tv)); + return new GenericConfigSubscriber(Map.of( + new ConfigSourceSet("blabla"), + new JRTConfigRequester(new MockConnection(), JRTConfigRequesterTest.getTestTimingValues()))); } } |