diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-02-23 09:43:04 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2018-03-05 12:29:45 +0000 |
commit | 251243a8b326149c6f96ce32bd94d8375ce0ce44 (patch) | |
tree | 5a177113043757d6847f37579cc18fab7fdeef31 /config/src/test | |
parent | 4483a401ae03ccad8b581585aecd0c45cdea0d36 (diff) |
Revert "Revert "Balder/remove config race""
Diffstat (limited to 'config/src/test')
3 files changed, 35 insertions, 17 deletions
diff --git a/config/src/test/java/com/yahoo/config/subscription/impl/FileConfigSubscriptionTest.java b/config/src/test/java/com/yahoo/config/subscription/impl/FileConfigSubscriptionTest.java index 3862cfc9069..8fdd9d5e3b3 100644 --- a/config/src/test/java/com/yahoo/config/subscription/impl/FileConfigSubscriptionTest.java +++ b/config/src/test/java/com/yahoo/config/subscription/impl/FileConfigSubscriptionTest.java @@ -18,6 +18,8 @@ import java.nio.file.Files; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertSame; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; @@ -48,11 +50,11 @@ public class FileConfigSubscriptionTest { subscriber, TEST_TYPES_FILE); assertTrue(sub.nextConfig(1000)); - assertThat(sub.config.intval(), is(23)); + assertThat(sub.getConfigState().getConfig().intval(), is(23)); Thread.sleep(1000); writeConfig("intval", "33"); assertTrue(sub.nextConfig(1000)); - assertThat(sub.config.intval(), is(33)); + assertThat(sub.getConfigState().getConfig().intval(), is(33)); } @Test @@ -64,18 +66,37 @@ public class FileConfigSubscriptionTest { subscriber, TEST_TYPES_FILE); assertTrue(sub.nextConfig(1000)); - assertThat(sub.config.intval(), is(23)); + assertThat(sub.getConfigState().getConfig().intval(), is(23)); writeConfig("intval", "33"); sub.reload(1); assertTrue(sub.nextConfig(1000)); - assertThat(sub.config.intval(), is(33)); - assertTrue(sub.isConfigChanged()); - assertTrue(sub.isGenerationChanged()); + ConfigSubscription.ConfigState<SimpletypesConfig> configState = sub.getConfigState(); + assertThat(configState.getConfig().intval(), is(33)); + assertTrue(configState.isConfigChanged()); + assertTrue(configState.isGenerationChanged()); + + assertTrue(sub.isConfigChangedAndReset(7L)); + assertSame(configState, sub.getConfigState()); + assertTrue(configState.isConfigChanged()); + assertTrue(configState.isGenerationChanged()); + assertTrue(sub.isConfigChangedAndReset(1L)); + assertNotSame(configState, sub.getConfigState()); + configState = sub.getConfigState(); + assertFalse(configState.isConfigChanged()); + assertFalse(configState.isGenerationChanged()); + sub.reload(2); assertTrue(sub.nextConfig(1000)); - assertThat(sub.config.intval(), is(33)); - assertFalse(sub.isConfigChanged()); - assertTrue(sub.isGenerationChanged()); + configState = sub.getConfigState(); + assertThat(configState.getConfig().intval(), is(33)); + assertFalse(configState.isConfigChanged()); + assertTrue(configState.isGenerationChanged()); + + assertFalse(sub.isConfigChangedAndReset(2L)); + assertNotSame(configState, sub.getConfigState()); + configState = sub.getConfigState(); + assertFalse(configState.isConfigChanged()); + assertFalse(configState.isGenerationChanged()); } @Test @@ -86,7 +107,7 @@ public class FileConfigSubscriptionTest { ConfigSubscriber subscriber = new ConfigSubscriber(); ConfigSubscription<TestReferenceConfig> sub = ConfigSubscription.get(key, subscriber, new DirSource(new File(cfgDir)), new TimingValues()); assertTrue(sub.nextConfig(1000)); - assertThat(sub.config.configId(), is(cfgId)); + assertThat(sub.getConfigState().getConfig().configId(), is(cfgId)); } @Test(expected = IllegalArgumentException.class) diff --git a/config/src/test/java/com/yahoo/config/subscription/impl/JRTConfigRequesterTest.java b/config/src/test/java/com/yahoo/config/subscription/impl/JRTConfigRequesterTest.java index 402c3b9b23f..1ad66cbaf58 100644 --- a/config/src/test/java/com/yahoo/config/subscription/impl/JRTConfigRequesterTest.java +++ b/config/src/test/java/com/yahoo/config/subscription/impl/JRTConfigRequesterTest.java @@ -181,8 +181,7 @@ public class JRTConfigRequesterTest { ConfigSubscriber subscriber = new ConfigSubscriber(); final TimingValues timingValues = getTestTimingValues(); JRTConfigSubscription<SimpletypesConfig> sub = createSubscription(subscriber, timingValues); - sub.setConfig(config()); - sub.setGeneration(1L); + sub.setConfig(1L, config()); final MockConnection connection = new MockConnection(new ErrorResponseHandler()); JRTConfigRequester requester = new JRTConfigRequester(connection, timingValues); @@ -210,8 +209,7 @@ public class JRTConfigRequesterTest { ConfigSubscriber subscriber = new ConfigSubscriber(); final TimingValues timingValues = getTestTimingValues(); JRTConfigSubscription<SimpletypesConfig> sub = createSubscription(subscriber, timingValues); - sub.setConfig(config()); - sub.setGeneration(1L); + sub.setConfig(1L, config()); final MockConnection connection = new MockConnection(new ErrorResponseHandler(com.yahoo.jrt.ErrorCode.TIMEOUT)); JRTConfigRequester requester = new JRTConfigRequester(connection, timingValues); @@ -226,8 +224,7 @@ public class JRTConfigRequesterTest { ConfigSubscriber subscriber = new ConfigSubscriber(); final TimingValues timingValues = getTestTimingValues(); JRTConfigSubscription<SimpletypesConfig> sub = createSubscription(subscriber, timingValues); - sub.setConfig(config()); - sub.setGeneration(1L); + sub.setConfig(1L, config()); final MockConnection connection = new MockConnection(new ErrorResponseHandler(ErrorCode.UNKNOWN_DEFINITION)); JRTConfigRequester requester = new JRTConfigRequester(connection, timingValues); 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 7fa205fef15..1f5274b832b 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 @@ -249,7 +249,7 @@ public abstract class JRTConfigRequestBase { assertTrue(sub.nextConfig(120_0000)); sub.close(); JRTClientConfigRequest nextReq = createReq(sub, Trace.createNew()); - SimpletypesConfig config = sub.getConfig(); + SimpletypesConfig config = sub.getConfigState().getConfig(); assertThat(nextReq.getRequestConfigMd5(), is(config.getConfigMd5())); assertThat(nextReq.getRequestGeneration(), is(currentGeneration)); System.setProperty("VESPA_CONFIG_PROTOCOL_VERSION", ""); |