aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2021-11-24 11:12:54 +0100
committerHarald Musum <musum@yahooinc.com>2021-11-24 11:12:54 +0100
commit223532e4a1ecc531047f6eefee3bb563a48ecbe8 (patch)
tree41eccc965c6774a06231663665d7e7e73b1cdefd /config
parent6dd2e13d43f5870d404196f9294ef867e77d1c73 (diff)
Revive test and test some more
Diffstat (limited to 'config')
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java2
-rw-r--r--config/src/test/java/com/yahoo/config/subscription/ConfigSubscriptionTest.java38
2 files changed, 22 insertions, 18 deletions
diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java b/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java
index a3265671d50..d107d1e30b5 100644
--- a/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java
+++ b/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java
@@ -329,6 +329,8 @@ public abstract class ConfigSubscription<T extends ConfigInstance> {
state = State.CLOSED;
}
+ public boolean isClosed() { return state == State.CLOSED; }
+
State getState() {
return state;
}
diff --git a/config/src/test/java/com/yahoo/config/subscription/ConfigSubscriptionTest.java b/config/src/test/java/com/yahoo/config/subscription/ConfigSubscriptionTest.java
index ea73a6cbef1..270c618ee1b 100644
--- a/config/src/test/java/com/yahoo/config/subscription/ConfigSubscriptionTest.java
+++ b/config/src/test/java/com/yahoo/config/subscription/ConfigSubscriptionTest.java
@@ -3,19 +3,21 @@ package com.yahoo.config.subscription;
import com.yahoo.config.ConfigInstance;
import com.yahoo.config.ConfigurationRuntimeException;
-import com.yahoo.foo.SimpletypesConfig;
-import com.yahoo.foo.AppConfig;
import com.yahoo.config.subscription.impl.ConfigSubscription;
+import com.yahoo.foo.AppConfig;
+import com.yahoo.foo.SimpletypesConfig;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.TimingValues;
-
-import org.junit.Ignore;
import org.junit.Test;
import java.util.Collections;
import java.util.List;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
/**
* @author hmusum
@@ -26,13 +28,10 @@ public class ConfigSubscriptionTest {
@Test
public void testEquals() {
ConfigSubscriber sub = new ConfigSubscriber();
- final String payload = "boolval true";
- ConfigSubscription<SimpletypesConfig> a = ConfigSubscription.get(new ConfigKey<>(SimpletypesConfig.class, "test"),
- sub, new RawSource(payload), new TimingValues());
- ConfigSubscription<SimpletypesConfig> b = ConfigSubscription.get(new ConfigKey<>(SimpletypesConfig.class, "test"),
- sub, new RawSource(payload), new TimingValues());
- ConfigSubscription<SimpletypesConfig> c = ConfigSubscription.get(new ConfigKey<>(SimpletypesConfig.class, "test2"),
- sub, new RawSource(payload), new TimingValues());
+
+ ConfigSubscription<SimpletypesConfig> a = createSubscription(sub, "test");
+ ConfigSubscription<SimpletypesConfig> b = createSubscription(sub, "test");
+ ConfigSubscription<SimpletypesConfig> c = createSubscription(sub, "test2");
assertEquals(b, a);
assertEquals(a, a);
assertEquals(b, b);
@@ -68,16 +67,13 @@ public class ConfigSubscriptionTest {
ConfigSubscriber sub = new ConfigSubscriber();
ConfigHandle<SimpletypesConfig> handle = sub.subscribe(SimpletypesConfig.class, "raw:boolval true", 10000);
assertNotNull(handle);
- sub.nextConfig(false);
+ assertTrue(sub.nextConfig(false));
assertTrue(handle.getConfig().boolval());
- //assertTrue(sub.getSource() instanceof RawSource);
sub.close();
}
- // Test that subscription is closed and subscriptionHandles is empty if we get an exception
- // (only the last is possible to test right now).
+ // Test that exception is thrown if subscribe fails and that subscription is closed if we close the subscriber
@Test
- @Ignore
public void testSubscribeWithException() {
TestConfigSubscriber sub = new TestConfigSubscriber();
ConfigSourceSet configSourceSet = new ConfigSourceSet(Collections.singletonList("tcp/localhost:99999"));
@@ -85,10 +81,16 @@ public class ConfigSubscriptionTest {
sub.subscribe(SimpletypesConfig.class, "configid", configSourceSet, new TimingValues().setSubscribeTimeout(100));
fail();
} catch (ConfigurationRuntimeException e) {
- assertEquals(0, sub.getSubscriptionHandles().size());
+ sub.close();
+ assertTrue(sub.getSubscriptionHandles().get(0).subscription().isClosed());
}
}
+ private ConfigSubscription<SimpletypesConfig> createSubscription(ConfigSubscriber sub, String configId) {
+ return ConfigSubscription.get(new ConfigKey<>(SimpletypesConfig.class, configId),
+ sub, new RawSource("boolval true"), new TimingValues());
+ }
+
private static class TestConfigSubscriber extends ConfigSubscriber {
List<ConfigHandle<? extends ConfigInstance>> getSubscriptionHandles() {
return subscriptionHandles;