.initialize(); ServiceSelector selector = injector.getInstance(Key.get(ServiceSelector.class, serviceType("presto"))); assertEquals(selector.selectAllServices().size(), 1);
@Override public MySqlDataSource get() { MySqlDataSourceConfig config = injector.getInstance(Key.get(MySqlDataSourceConfig.class, annotation)); ServiceSelector serviceSelector = injector.getInstance(Key.get(ServiceSelector.class, serviceType(type))); return new MySqlDataSource(serviceSelector, config); } }
public ServiceSelector get() { requireNonNull(serviceSelectorFactory, "serviceSelectorFactory is null"); requireNonNull(injector, "injector is null"); ServiceSelectorConfig selectorConfig = injector.getInstance(Key.get(ServiceSelectorConfig.class, serviceType(type))); ServiceSelector serviceSelector = serviceSelectorFactory.createServiceSelector(type, selectorConfig); return serviceSelector; }
public void bindSelector(String type) { requireNonNull(type, "type is null"); bindSelector(serviceType(type)); }
public void bindHttpSelector(String type) { requireNonNull(type, "type is null"); bindHttpSelector(serviceType(type)); }
public ServiceSelector get() { Preconditions.checkNotNull(serviceSelectorFactory, "serviceSelectorFactory is null"); Preconditions.checkNotNull(injector, "injector is null"); ServiceSelectorConfig selectorConfig = injector.getInstance(Key.get(ServiceSelectorConfig.class, serviceType(type))); ServiceSelector serviceSelector = serviceSelectorFactory.createServiceSelector(type, selectorConfig); return serviceSelector; }
public void bindSelector(String type) { Preconditions.checkNotNull(type, "type is null"); bindSelector(serviceType(type)); }
@Override public PostgreSqlDataSource get() { PostgreSqlDataSourceConfig config = injector.getInstance(Key.get(PostgreSqlDataSourceConfig.class, annotation)); ServiceSelector serviceSelector = injector.getInstance(Key.get(ServiceSelector.class, serviceType(type))); return new PostgreSqlDataSource(serviceSelector, config); } }
@Override public PostgreSqlDataSource get() { PostgreSqlDataSourceConfig config = injector.getInstance(Key.get(PostgreSqlDataSourceConfig.class, annotation)); ServiceSelector serviceSelector = injector.getInstance(Key.get(ServiceSelector.class, serviceType(type))); return new PostgreSqlDataSource(serviceSelector, config); } }
@Test public void testToString() { assertEquals(ServiceTypes.serviceType("apple").toString(), appleServiceType.toString()); }
@Test public void testValue() { assertEquals(ServiceTypes.serviceType("type").value(), "type"); }
@Test public void testValue() { assertEquals(ServiceTypes.serviceType("type").value(), "type"); }
private void assertCanCreateServiceSelector(Injector injector, String expectedType, String expectedPool) { ServiceSelector actualServiceSelector = injector.getInstance(Key.get(ServiceSelector.class, serviceType(expectedType))); assertNotNull(actualServiceSelector); assertEquals(actualServiceSelector.getType(), expectedType); assertEquals(actualServiceSelector.getPool(), expectedPool); }
@Test public void testAnnotationType() { assertEquals(ServiceTypes.serviceType("apple").annotationType(), ServiceType.class); assertEquals(ServiceTypes.serviceType("apple").annotationType(), appleServiceType.annotationType()); }
@Test public void testEquivalence() { equivalenceTester() .addEquivalentGroup(appleServiceType, ServiceTypes.serviceType("apple")) .addEquivalentGroup(bananaServiceType, ServiceTypes.serviceType("banana")) .check(); } }
@Test public void testEquivalence() { equivalenceTester() .addEquivalentGroup(appleServiceType, ServiceTypes.serviceType("apple")) .addEquivalentGroup(bananaServiceType, ServiceTypes.serviceType("banana")) .check(); } }
@Override public void configure(Binder binder) { discoveryBinder(binder).bindHttpSelector(serviceType("apple")); } }
@Test public void testBindSelectorAnnotationWithPool() throws Exception { Injector injector = Guice.createInjector( new TestModule(ImmutableMap.of("discovery.apple.pool", "apple-pool")), binder -> discoveryBinder(binder).bindSelector(serviceType("apple"))); assertCanCreateServiceSelector(injector, "apple", "apple-pool"); }
@Test public void testBindSelectorAnnotation() throws Exception { Injector injector = Guice.createInjector( new TestModule(), binder -> discoveryBinder(binder).bindSelector(serviceType("apple"))); assertCanCreateServiceSelector(injector, "apple", ServiceSelectorConfig.DEFAULT_POOL); }
@Test public void testBindSelectorAnnotation() throws Exception { Injector injector = Guice.createInjector( new TestModule(), binder -> discoveryBinder(binder).bindSelector(serviceType("apple"))); assertCanCreateServiceSelector(injector, "apple", ServiceSelectorConfig.DEFAULT_POOL); }