package com.netflix.governator;
import java.util.Properties;
import javax.inject.Singleton;
import org.junit.Assert;
import org.junit.Test;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import com.netflix.governator.annotations.Configuration;
import com.netflix.governator.configuration.ConfigurationProvider;
import com.netflix.governator.configuration.PropertiesConfigurationProvider;
public class ConfigurationModuleTest {
public static class A {
@Configuration("foo")
public String foo;
}
@Test
public void validateConfigurationMappingWorks() {
try (LifecycleInjector injector = InjectorBuilder.fromModules(new AbstractModule() {
@Override
protected void configure() {
install(new ConfigurationModule());
}
@Singleton
@Provides
ConfigurationProvider getConfigurationProvider() {
Properties props = new Properties();
props.setProperty("foo", "bar");
return new PropertiesConfigurationProvider(props);
}
}).createInjector()) {
A a = injector.getInstance(A.class);
Assert.assertEquals("bar", a.foo);
}
}
}