private static Injector createInjector(Map<String, String> properties, Module... modules) { ConfigurationFactory configurationFactory = new ConfigurationFactory(properties); // Required to bind a configuration module and an MBean server when binding an H2EmbeddedDataSourceModule List<Module> moduleList = ImmutableList.<Module>builder() .add(modules) .add(new ConfigurationModule(configurationFactory)) .add(binder -> { binder.bind(MBeanServer.class).to(TestingMBeanServer.class).in(Scopes.SINGLETON); binder.bind(ObjectHolder.class); }) .build(); return Guice.createInjector(moduleList); }
@Test public void testWithoutFilters() { Injector injector = Guice.createInjector( new Module() { @Override public void configure(Binder binder) { httpClientBinder(binder).bindHttpClient("foo", FooClient.class); } }, new ConfigurationModule(new ConfigurationFactory(Collections.<String, String>emptyMap()))); assertNotNull(injector.getInstance(Key.get(HttpClient.class, FooClient.class))); }
private static Injector createInjector(Map<String, String> properties, TestMonitor monitor, Module module) { ConfigurationFactory configurationFactory = new ConfigurationFactory(properties, null, monitor); configurationFactory.registerConfigurationClasses(ImmutableList.of(module)); List<Message> messages = configurationFactory.validateRegisteredConfigurationProvider(); return Guice.createInjector(new ConfigurationModule(configurationFactory), module, new ValidationErrorModule(messages)); }
private static Injector createInjector(Map<String, String> properties, Module module) { ConfigurationFactory configurationFactory = new ConfigurationFactory(properties); configurationFactory.registerConfigurationClasses(ImmutableList.of(module)); List<Message> messages = configurationFactory.validateRegisteredConfigurationProvider(); return Guice.createInjector( new ConfigurationModule(configurationFactory), module, new ValidationErrorModule(messages), Binder::requireExplicitBindings); }
private static Injector createInjector(Map<String, String> properties, TestMonitor monitor, Module module) { ConfigurationFactory configurationFactory = new ConfigurationFactory(properties, monitor); List<Message> messages = processConfiguration(configurationFactory, null, module); return Guice.createInjector(new ConfigurationModule(configurationFactory), module, new ValidationErrorModule(messages)); }
private static Injector createInjector(Map<String, String> properties, Module module) { ConfigurationFactory configurationFactory = new ConfigurationFactory(properties); List<Message> messages = processConfiguration(configurationFactory, null, module); return Guice.createInjector(new ConfigurationModule(configurationFactory), module, new ValidationErrorModule(messages)); }
private static Injector createInjector(Map<String, String> properties, Module module) { ConfigurationFactory configurationFactory = new ConfigurationFactory(properties); configurationFactory.registerConfigurationClasses(ImmutableList.of(module)); List<Message> messages = configurationFactory.validateRegisteredConfigurationProvider(); return Guice.createInjector( new ConfigurationModule(configurationFactory), module, new ValidationErrorModule(messages), Binder::requireExplicitBindings); }
private static Injector createInjector(Map<String, String> properties, TestMonitor monitor, Module module) { ConfigurationFactory configurationFactory = new ConfigurationFactory(properties, null, monitor); configurationFactory.registerConfigurationClasses(ImmutableList.of(module)); List<Message> messages = configurationFactory.validateRegisteredConfigurationProvider(); return Guice.createInjector(new ConfigurationModule(configurationFactory), module, new ValidationErrorModule(messages)); }
@Test public void testHttpsSelector() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), binder -> discoveryBinder(binder).bindHttpSelector("apple")); InMemoryDiscoveryClient discoveryClient = injector.getInstance(InMemoryDiscoveryClient.class); discoveryClient.announce(ImmutableSet.of(serviceAnnouncement("apple").addProperty("https", "fake://server-https").build())); HttpServiceSelector selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("apple"))); assertEquals(getOnlyElement(selector.selectHttpService()), URI.create("fake://server-https")); }
@Test public void testHttpsSelector() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), binder -> discoveryBinder(binder).bindHttpSelector("apple")); InMemoryDiscoveryClient discoveryClient = injector.getInstance(InMemoryDiscoveryClient.class); discoveryClient.announce(ImmutableSet.of(serviceAnnouncement("apple").addProperty("https", "fake://server-https").build())); HttpServiceSelector selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("apple"))); assertEquals(getOnlyElement(selector.selectHttpService()), URI.create("fake://server-https")); }
@Test public void testHttpSelectorString() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), binder -> discoveryBinder(binder).bindHttpSelector("apple")); InMemoryDiscoveryClient discoveryClient = injector.getInstance(InMemoryDiscoveryClient.class); discoveryClient.announce(ImmutableSet.of(serviceAnnouncement("apple").addProperty("http", "fake://server-http").build())); HttpServiceSelector selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("apple"))); assertEquals(getOnlyElement(selector.selectHttpService()), URI.create("fake://server-http")); }
@Test public void testHttpSelectorString() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), binder -> discoveryBinder(binder).bindHttpSelector("apple")); InMemoryDiscoveryClient discoveryClient = injector.getInstance(InMemoryDiscoveryClient.class); discoveryClient.announce(ImmutableSet.of(serviceAnnouncement("apple").addProperty("http", "fake://server-http").build())); HttpServiceSelector selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("apple"))); assertEquals(getOnlyElement(selector.selectHttpService()), URI.create("fake://server-http")); }
@Test public void testNoHttpServices() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), binder -> discoveryBinder(binder).bindHttpSelector("apple")); InMemoryDiscoveryClient discoveryClient = injector.getInstance(InMemoryDiscoveryClient.class); discoveryClient.announce(ImmutableSet.of(serviceAnnouncement("apple").addProperty("foo", "fake://server-https").build())); HttpServiceSelector selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("apple"))); assertEquals(selector.selectHttpService(), ImmutableList.of()); }
@Test public void testNoHttpServices() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), binder -> discoveryBinder(binder).bindHttpSelector("apple")); InMemoryDiscoveryClient discoveryClient = injector.getInstance(InMemoryDiscoveryClient.class); discoveryClient.announce(ImmutableSet.of(serviceAnnouncement("apple").addProperty("foo", "fake://server-https").build())); HttpServiceSelector selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("apple"))); assertEquals(selector.selectHttpService(), ImmutableList.of()); }
@Test public void testFavorHttpsOverHttpSelector() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), binder -> discoveryBinder(binder).bindHttpSelector("apple")); InMemoryDiscoveryClient discoveryClient = injector.getInstance(InMemoryDiscoveryClient.class); discoveryClient.announce(ImmutableSet.of(serviceAnnouncement("apple").addProperty("http", "fake://server-http").build(), serviceAnnouncement("apple").addProperty("https", "fake://server-https").build())); HttpServiceSelector selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("apple"))); assertEquals(selector.selectHttpService(), ImmutableList.of(URI.create("fake://server-https"), URI.create("fake://server-http"))); }
@Test public void testFavorHttpsOverHttpSelector() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), binder -> discoveryBinder(binder).bindHttpSelector("apple")); InMemoryDiscoveryClient discoveryClient = injector.getInstance(InMemoryDiscoveryClient.class); discoveryClient.announce(ImmutableSet.of(serviceAnnouncement("apple").addProperty("http", "fake://server-http").build(), serviceAnnouncement("apple").addProperty("https", "fake://server-https").build())); HttpServiceSelector selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("apple"))); assertEquals(selector.selectHttpService(), ImmutableList.of(URI.create("fake://server-https"), URI.create("fake://server-http"))); }
@Test public void testInvalidUris() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), binder -> discoveryBinder(binder).bindHttpSelector("apple")); InMemoryDiscoveryClient discoveryClient = injector.getInstance(InMemoryDiscoveryClient.class); discoveryClient.announce(ImmutableSet.of(serviceAnnouncement("apple").addProperty("http", ":::INVALID:::").build())); discoveryClient.announce(ImmutableSet.of(serviceAnnouncement("apple").addProperty("https", ":::INVALID:::").build())); HttpServiceSelector selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("apple"))); assertEquals(selector.selectHttpService(), ImmutableList.of()); } }
@Override public void configure(Binder binder) { binder.install(new ConfigurationModule(new ConfigurationFactory(configProperties))); binder.install(new TestingNodeModule()); binder.install(new TestingDiscoveryModule()); } }
@Override public void configure(Binder binder) { binder.install(new ConfigurationModule(new ConfigurationFactory(configProperties))); binder.install(new TestingNodeModule()); binder.install(new TestingDiscoveryModule()); } }
@Override public void configure(Binder binder) { binder.install(new ConfigurationModule(new ConfigurationFactory(configProperties))); binder.install(new TestingNodeModule()); binder.install(new TestingDiscoveryModule()); } }