modules.add(new TestingDiscoveryModule());
new TestingNodeModule(), new TestingJmxModule(), new TestingDiscoveryModule(), new TestingHttpServerModule(), new TraceTokenModule(),
protected TestTestingDiscoveryModule() { super(new TestingDiscoveryModule()); } }
protected TestTestingDiscoveryModule() { super(new TestingDiscoveryModule()); } }
@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 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 testHttpsSelector() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), new Module() { @Override public void configure(Binder 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 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 testHttpSelectorAnnotation() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), new Module() { @Override public void configure(Binder binder) { discoveryBinder(binder).bindHttpSelector(serviceType("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 testHttpSelectorAnnotation() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), binder -> discoveryBinder(binder).bindHttpSelector(serviceType("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")); ServiceSelectorManager manager = injector.getInstance(ServiceSelectorManager.class); assertEquals(manager.getServiceSelectors().size(), 1); manager.attemptRefresh(); manager.forceRefresh(); }
@Test public void testHttpAnnouncement() { final StaticAnnouncementHttpServerInfoImpl httpServerInfo = new StaticAnnouncementHttpServerInfoImpl( URI.create("http://127.0.0.1:4444"), URI.create("http://example.com:4444"), null, null); Injector injector = Guice.createInjector( new TestingDiscoveryModule(), binder -> { binder.bind(AnnouncementHttpServerInfo.class).toInstance(httpServerInfo); discoveryBinder(binder).bindHttpAnnouncement("apple"); }); ServiceAnnouncement announcement = serviceAnnouncement("apple") .addProperty("http", httpServerInfo.getHttpUri().toASCIIString()) .addProperty("http-external", httpServerInfo.getHttpExternalUri().toASCIIString()) .build(); Set<ServiceAnnouncement> announcements = injector.getInstance(Key.get(new TypeLiteral<Set<ServiceAnnouncement>>() { })); assertAnnouncement(announcements, announcement); }
@Test public void testHttpSelectorAnnotation() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), binder -> discoveryBinder(binder).bindHttpSelector(serviceType("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")); ServiceSelectorManager manager = injector.getInstance(ServiceSelectorManager.class); assertEquals(manager.getServiceSelectors().size(), 1); manager.attemptRefresh(); manager.forceRefresh(); }
@Test public void testHttpAnnouncement() { final StaticAnnouncementHttpServerInfoImpl httpServerInfo = new StaticAnnouncementHttpServerInfoImpl( URI.create("http://127.0.0.1:4444"), URI.create("http://example.com:4444"), null, null); Injector injector = Guice.createInjector( new TestingDiscoveryModule(), binder -> { binder.bind(AnnouncementHttpServerInfo.class).toInstance(httpServerInfo); discoveryBinder(binder).bindHttpAnnouncement("apple"); }); ServiceAnnouncement announcement = serviceAnnouncement("apple") .addProperty("http", httpServerInfo.getHttpUri().toASCIIString()) .addProperty("http-external", httpServerInfo.getHttpExternalUri().toASCIIString()) .build(); Set<ServiceAnnouncement> announcements = injector.getInstance(Key.get(new TypeLiteral<Set<ServiceAnnouncement>>() { })); assertAnnouncement(announcements, announcement); }
@Test public void testNoHttpServices() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), new Module() { @Override public void configure(Binder 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 testHttpSelectorString() { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.<String, String>of())), new TestingNodeModule(), new TestingDiscoveryModule(), new Module() { @Override public void configure(Binder 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 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"))); }