diff options
Diffstat (limited to 'config/src/test')
-rw-r--r-- | config/src/test/java/com/yahoo/config/subscription/GenericConfigSubscriberTest.java | 48 | ||||
-rw-r--r-- | config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestBase.java | 5 |
2 files changed, 34 insertions, 19 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 7a10db49408..08d215670db 100644 --- a/config/src/test/java/com/yahoo/config/subscription/GenericConfigSubscriberTest.java +++ b/config/src/test/java/com/yahoo/config/subscription/GenericConfigSubscriberTest.java @@ -1,21 +1,20 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config.subscription; +import java.util.*; + import com.yahoo.config.subscription.impl.GenericConfigHandle; 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.vespa.config.ConfigKey; +import com.yahoo.vespa.config.JRTConnectionPool; import com.yahoo.vespa.config.protocol.CompressionType; import org.junit.Test; -import java.util.List; - import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; /** * @@ -27,33 +26,48 @@ public class GenericConfigSubscriberTest { @Test public void testSubscribeGeneric() { + Map<ConfigSourceSet, JRTConfigRequester> requesters = new HashMap<>(); ConfigSourceSet sourceSet = new ConfigSourceSet("blabla"); - GenericConfigSubscriber subscriber = createSubscriber(); - final List<String> defContent = List.of("myVal int"); - GenericConfigHandle handle = subscriber.subscribe(new ConfigKey<>("simpletypes", "id", "config"), defContent, sourceSet, JRTConfigRequesterTest.getTestTimingValues()); - assertTrue(subscriber.nextConfig()); + requesters.put(sourceSet, JRTConfigRequester.get(new MockConnection(), JRTConfigRequesterTest.getTestTimingValues())); + GenericConfigSubscriber sub = new GenericConfigSubscriber(requesters); + final List<String> defContent = Arrays.asList("myVal int"); + GenericConfigHandle handle = sub.subscribe(new ConfigKey<>("simpletypes", "id", "config"), defContent, sourceSet, JRTConfigRequesterTest.getTestTimingValues()); + assertTrue(sub.nextConfig()); assertTrue(handle.isChanged()); assertThat(handle.getRawConfig().getPayload().withCompression(CompressionType.UNCOMPRESSED).toString(), is("{}")); // MockConnection returns empty string - assertFalse(subscriber.nextConfig()); + assertFalse(sub.nextConfig()); assertFalse(handle.isChanged()); } + @Test + public void testGenericRequesterPooling() { + ConfigSourceSet source1 = new ConfigSourceSet("tcp/foo:78"); + ConfigSourceSet source2 = new ConfigSourceSet("tcp/bar:79"); + JRTConfigRequester req1 = JRTConfigRequester.get(new JRTConnectionPool(source1), JRTConfigRequesterTest.getTestTimingValues()); + JRTConfigRequester req2 = JRTConfigRequester.get(new JRTConnectionPool(source2), JRTConfigRequesterTest.getTestTimingValues()); + 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"); + } + @Test(expected=UnsupportedOperationException.class) public void testOverriddenSubscribeInvalid1() { - createSubscriber().subscribe(null, null); + GenericConfigSubscriber sub = new GenericConfigSubscriber(); + sub.subscribe(null, null); } @Test(expected=UnsupportedOperationException.class) public void testOverriddenSubscribeInvalid2() { - createSubscriber().subscribe(null, null, 0L); + GenericConfigSubscriber sub = new GenericConfigSubscriber(); + sub.subscribe(null, null, 0L); } @Test(expected=UnsupportedOperationException.class) public void testOverriddenSubscribeInvalid3() { - createSubscriber().subscribe(null, null, ""); - } - - private GenericConfigSubscriber createSubscriber() { - return new GenericConfigSubscriber(new JRTConfigRequester(new MockConnection(), JRTConfigRequesterTest.getTestTimingValues())); + GenericConfigSubscriber sub = new GenericConfigSubscriber(); + sub.subscribe(null, null, ""); } } diff --git a/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestBase.java b/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestBase.java index a9fbdde3dfa..5fcbd76b822 100644 --- a/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestBase.java +++ b/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestBase.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.protocol; +import com.yahoo.foo.SimpletypesConfig; import com.yahoo.config.subscription.ConfigSet; import com.yahoo.config.subscription.ConfigSourceSet; import com.yahoo.config.subscription.ConfigSubscriber; @@ -8,7 +9,6 @@ import com.yahoo.config.subscription.impl.GenericConfigSubscriber; import com.yahoo.config.subscription.impl.JRTConfigRequester; import com.yahoo.config.subscription.impl.JRTConfigSubscription; import com.yahoo.config.subscription.impl.MockConnection; -import com.yahoo.foo.SimpletypesConfig; import com.yahoo.jrt.Request; import com.yahoo.slime.Inspector; import com.yahoo.slime.JsonDecoder; @@ -24,6 +24,7 @@ import com.yahoo.vespa.config.util.ConfigUtils; import org.junit.Before; import org.junit.Test; +import java.util.Collections; import java.util.Optional; import static org.hamcrest.CoreMatchers.is; @@ -239,7 +240,7 @@ public abstract class JRTConfigRequestBase { }); ConfigSourceSet src = new ConfigSourceSet(); - ConfigSubscriber subscriber = new GenericConfigSubscriber(new JRTConfigRequester(connection, new TimingValues())); + ConfigSubscriber subscriber = new GenericConfigSubscriber(Collections.singletonMap(src, JRTConfigRequester.get(connection, new TimingValues()))); JRTConfigSubscription<SimpletypesConfig> sub = new JRTConfigSubscription<>(new ConfigKey<>(SimpletypesConfig.class, configId), subscriber, src, new TimingValues()); sub.subscribe(120_0000); assertTrue(sub.nextConfig(120_0000)); |