diff options
author | Harald Musum <musum@oath.com> | 2017-11-24 07:40:29 +0100 |
---|---|---|
committer | Harald Musum <musum@oath.com> | 2017-11-24 07:40:29 +0100 |
commit | 30ca148be73f15ac05485ff6d09f8b44090959cd (patch) | |
tree | d90c6909e77be791930772858b499f14ffe5564f /config | |
parent | 30f6004e1a9ed864eff6edc76ed6b761633e4461 (diff) |
Test that getting two updates before checking for new config uses the last
Diffstat (limited to 'config')
-rw-r--r-- | config/src/test/java/com/yahoo/config/subscription/ConfigSetSubscriptionTest.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/config/src/test/java/com/yahoo/config/subscription/ConfigSetSubscriptionTest.java b/config/src/test/java/com/yahoo/config/subscription/ConfigSetSubscriptionTest.java index 2aa7c66ce87..8acab56d838 100644 --- a/config/src/test/java/com/yahoo/config/subscription/ConfigSetSubscriptionTest.java +++ b/config/src/test/java/com/yahoo/config/subscription/ConfigSetSubscriptionTest.java @@ -130,4 +130,32 @@ public class ConfigSetSubscriptionTest { assertEquals(hS.getConfig().stringVal(), "new StringVal"); } + @Test + public void requireThatWeGetLatestConfigWhenTwoUpdatesBeforeClientChecks() { + ConfigSet myConfigs = new ConfigSet(); + AppConfig.Builder a0builder = new AppConfig.Builder().message("A message, 1"); + myConfigs.addBuilder("app/0", a0builder); + ConfigSubscriber subscriber = new ConfigSubscriber(myConfigs); + ConfigHandle<AppConfig> hA0 = subscriber.subscribe(AppConfig.class, "app/0"); + + assertTrue(subscriber.nextConfig(0)); + assertTrue(hA0.isChanged()); + assertEquals(hA0.getConfig().message(), "A message, 1"); + + assertFalse(subscriber.nextConfig(10)); + assertFalse(hA0.isChanged()); + assertEquals(hA0.getConfig().message(), "A message, 1"); + + //Reconfigure two times in a row + a0builder.message("A new message, 2"); + subscriber.reload(1); + a0builder.message("An even newer message, 3"); + subscriber.reload(2); + + // Should pick up the last one + assertTrue(subscriber.nextConfig(0)); + assertTrue(hA0.isChanged()); + assertEquals(hA0.getConfig().message(), "An even newer message, 3"); + } + } |