Search in sources :

Example 1 with FileSource

use of com.yahoo.config.subscription.FileSource in project vespa by vespa-engine.

the class FileConfigSubscriptionTest method require_that_bad_file_throws_exception.

@Test(expected = IllegalArgumentException.class)
public void require_that_bad_file_throws_exception() throws IOException {
    // A little trick to ensure that we can create the subscriber, but that we get an error when reading.
    writeConfig("intval", "23");
    ConfigSubscriber subscriber = new ConfigSubscriber(new FileSource(TEST_TYPES_FILE));
    ConfigSubscription<SimpletypesConfig> sub = new FileConfigSubscription<>(new ConfigKey<>(SimpletypesConfig.class, ""), subscriber, TEST_TYPES_FILE);
    sub.reload(1);
    // delete file so the below statement throws exception
    Files.delete(TEST_TYPES_FILE.toPath());
    sub.nextConfig(0);
}
Also used : SimpletypesConfig(com.yahoo.foo.SimpletypesConfig) ConfigSubscriber(com.yahoo.config.subscription.ConfigSubscriber) FileSource(com.yahoo.config.subscription.FileSource) Test(org.junit.Test)

Example 2 with FileSource

use of com.yahoo.config.subscription.FileSource in project vespa by vespa-engine.

the class FileConfigSubscriptionTest method require_that_new_config_is_detected_on_reload.

@Test
public void require_that_new_config_is_detected_on_reload() throws IOException {
    writeConfig("intval", "23");
    ConfigSubscriber subscriber = new ConfigSubscriber(new FileSource(TEST_TYPES_FILE));
    ConfigSubscription<SimpletypesConfig> sub = new FileConfigSubscription<>(new ConfigKey<>(SimpletypesConfig.class, ""), subscriber, TEST_TYPES_FILE);
    assertTrue(sub.nextConfig(1000));
    assertThat(sub.getConfigState().getConfig().intval(), is(23));
    writeConfig("intval", "33");
    sub.reload(1);
    assertTrue(sub.nextConfig(1000));
    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));
    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());
}
Also used : SimpletypesConfig(com.yahoo.foo.SimpletypesConfig) ConfigSubscriber(com.yahoo.config.subscription.ConfigSubscriber) FileSource(com.yahoo.config.subscription.FileSource) Test(org.junit.Test)

Example 3 with FileSource

use of com.yahoo.config.subscription.FileSource in project vespa by vespa-engine.

the class FileConfigSubscriptionTest method require_that_new_config_is_detected_in_time.

@Test
public void require_that_new_config_is_detected_in_time() throws IOException, InterruptedException {
    writeConfig("intval", "23");
    ConfigSubscriber subscriber = new ConfigSubscriber(new FileSource(TEST_TYPES_FILE));
    ConfigSubscription<SimpletypesConfig> sub = new FileConfigSubscription<>(new ConfigKey<>(SimpletypesConfig.class, ""), subscriber, TEST_TYPES_FILE);
    assertTrue(sub.nextConfig(1000));
    assertThat(sub.getConfigState().getConfig().intval(), is(23));
    Thread.sleep(1000);
    writeConfig("intval", "33");
    assertTrue(sub.nextConfig(1000));
    assertThat(sub.getConfigState().getConfig().intval(), is(33));
}
Also used : SimpletypesConfig(com.yahoo.foo.SimpletypesConfig) ConfigSubscriber(com.yahoo.config.subscription.ConfigSubscriber) FileSource(com.yahoo.config.subscription.FileSource) Test(org.junit.Test)

Aggregations

ConfigSubscriber (com.yahoo.config.subscription.ConfigSubscriber)3 FileSource (com.yahoo.config.subscription.FileSource)3 SimpletypesConfig (com.yahoo.foo.SimpletypesConfig)3 Test (org.junit.Test)3