@Override public SessionPropertyConfigurationManager create(Map<String, String> config, SessionPropertyConfigurationManagerContext context) { try { Bootstrap app = new Bootstrap( new JsonModule(), new FileSessionPropertyManagerModule()); Injector injector = app .strictConfig() .doNotInitializeLogging() .setRequiredConfigurationProperties(config) .initialize(); return injector.getInstance(FileSessionPropertyManager.class); } catch (Exception e) { throwIfUnchecked(e); throw new RuntimeException(e); } } }
@Test public void testExcludesCurrentNode() throws Exception Bootstrap app = new Bootstrap( new TestingNodeModule(), new TestingJmxModule(), new TestingDiscoveryModule(), new TestingHttpServerModule(), new TraceTokenModule(), new JsonModule(), new JaxrsModule(true), new FailureDetectorModule(), new Module() .strictConfig() .doNotInitializeLogging() .quiet() .initialize(); ServiceSelector selector = injector.getInstance(Key.get(ServiceSelector.class, serviceType("presto"))); assertEquals(selector.selectAllServices().size(), 1); HeartbeatFailureDetector detector = injector.getInstance(HeartbeatFailureDetector.class); detector.updateMonitoredServices();
@Test public void testDynamicAnnouncement() throws Exception .build(); Bootstrap bootstrap = new Bootstrap( new TestingNodeModule("testing", "red"), new JsonModule(), new DiscoveryModule()); .strictConfig() .doNotInitializeLogging() .setRequiredConfigurationProperties(announcerProperties) .initialize(); .build(); DiscoveryAnnouncementClient client = announcerInjector.getInstance(DiscoveryAnnouncementClient.class); client.announce(ImmutableSet.of(announcement)).get(); NodeInfo announcerNodeInfo = announcerInjector.getInstance(NodeInfo.class); assertEquals(services.size(), 1);
@BeforeMethod public void startUp() { Injector injector = Guice.createInjector(new JsonModule(), new HandleJsonModule()); objectMapper = injector.getInstance(ObjectMapper.class); }
@Test public void testMerging() throws Exception .build(); Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(config)), new JsonModule(), new TestingNodeModule(), new DiscoveryModule(), binder -> { }); HttpServiceSelector selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("apple"))); assertEquals(getOnlyElement(selector.selectHttpService()), URI.create("http://127.0.0.1:4444")); selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("banana"))); assertEquals(getOnlyElement(selector.selectHttpService()), URI.create("http://127.0.0.1:4444")); selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("carrot"))); assertTrue(selector.selectHttpService().isEmpty()); selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("grape")));
@Test public void testBinding() throws Exception { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.of("discovery.uri", "fake://server"))), new JsonModule(), new TestingNodeModule(), discoveryModule); // should produce a discovery announcement client and a lookup client assertNotNull(injector.getInstance(DiscoveryAnnouncementClient.class)); assertNotNull(injector.getInstance(DiscoveryLookupClient.class)); // should produce an Announcer assertNotNull(injector.getInstance(Announcer.class)); // should produce a ServiceSelectorManager assertNotNull(injector.getInstance(ServiceSelectorManager.class)); }
@BeforeClass public void startServer() throws Exception { tempDir = createTempDir("agent"); Map<String, String> properties = ImmutableMap.<String, String>builder() .put("agent.id", UUID.randomUUID().toString()) .put("agent.coordinator-uri", "http://localhost:9999/") .put("agent.slots-dir", tempDir.getAbsolutePath()) .put("discovery.uri", "fake://server") .build(); Injector injector = Guice.createInjector( new TestingDiscoveryModule(), new TestingNodeModule(), new JsonModule(), new TestingHttpServerModule(), new JaxrsModule(), new EventModule(), new AgentMainModule(), new ConfigurationModule(new ConfigurationFactory(properties))); server = injector.getInstance(TestingHttpServer.class); agent = injector.getInstance(Agent.class); server.start(); client = new ApacheHttpClient(); installationHelper = new InstallationHelper(); appleInstallation = installationHelper.getAppleInstallation(); bananaInstallation = installationHelper.getBananaInstallation(); }
@Test public void testJsonCodecFactoryBinding() throws Exception { Injector injector = Guice.createInjector(new JsonModule()); JsonCodecFactory codecFactory = injector.getInstance(JsonCodecFactory.class); Person.validatePersonJsonCodec(codecFactory.jsonCodec(Person.class)); Person.validatePersonListJsonCodec(codecFactory.listJsonCodec(Person.class)); Person.validatePersonMapJsonCodec(codecFactory.mapJsonCodec(String.class, Person.class)); }
@Test public void testExecutorShutdown() throws Exception { Bootstrap app = new Bootstrap( new JsonModule(), new TestingNodeModule(), new DiscoveryModule()); Injector injector = app .strictConfig() .doNotInitializeLogging() .initialize(); ExecutorService executor = injector.getInstance(Key.get(ScheduledExecutorService.class, ForDiscoveryClient.class)); LifeCycleManager lifeCycleManager = injector.getInstance(LifeCycleManager.class); assertFalse(executor.isShutdown()); lifeCycleManager.stop(); assertTrue(executor.isShutdown()); } }
public static void start(Module... extraModules) { Bootstrap app = new Bootstrap(ImmutableList.<Module>builder() .add(new NodeModule()) .add(new HttpServerModule()) .add(new JsonModule()) .add(new JaxrsModule(true)) .add(new MBeanModule()) .add(new JmxModule()) .add(new LogJmxModule()) .add(new TraceTokenModule()) .add(new EventModule()) .add(new ProxyModule()) .add(extraModules) .build()); Logger log = Logger.get(PrestoProxy.class); try { app.strictConfig().initialize(); log.info("======== SERVER STARTED ========"); } catch (Throwable t) { log.error(t); System.exit(1); } }
@Test public void test() throws Exception { Injector injector = Guice.createInjector(new JsonModule(), new Module() { public void configure(Binder binder) { JsonCodecBinder codecBinder = jsonCodecBinder(binder); codecBinder.bindJsonCodec(Person.class); codecBinder.bindListJsonCodec(Person.class); codecBinder.bindMapJsonCodec(String.class, Person.class); } }); injector.injectMembers(this); assertNotNull(personJsonCodec); assertNotNull(personListJsonCodec); assertNotNull(personMapJsonCodec); Person.validatePersonJsonCodec(personJsonCodec); Person.validatePersonListJsonCodec(personListJsonCodec); Person.validatePersonMapJsonCodec(personMapJsonCodec); } }
@Test public void testExcludesCurrentNode() throws Exception Bootstrap app = new Bootstrap( new TestingNodeModule(), new TestingJmxModule(), new TestingDiscoveryModule(), new TestingHttpServerModule(), new TraceTokenModule(), new JsonModule(), new JaxrsModule(true), new FailureDetectorModule(), new Module() .strictConfig() .doNotInitializeLogging() .initialize(); ServiceSelector selector = injector.getInstance(Key.get(ServiceSelector.class, serviceType("presto"))); assertEquals(selector.selectAllServices().size(), 1); HeartbeatFailureDetector detector = injector.getInstance(HeartbeatFailureDetector.class); detector.updateMonitoredServices();
@BeforeMethod public void startUp() { Injector injector = Guice.createInjector(new JsonModule(), new HandleJsonModule()); objectMapper = injector.getInstance(ObjectMapper.class); }
@Test public void testMerging() throws Exception .build(); Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(config)), new JsonModule(), new TestingNodeModule(), new DiscoveryModule(), binder -> { }); HttpServiceSelector selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("apple"))); assertEquals(getOnlyElement(selector.selectHttpService()), URI.create("http://127.0.0.1:4444")); selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("banana"))); assertEquals(getOnlyElement(selector.selectHttpService()), URI.create("http://127.0.0.1:4444")); selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("carrot"))); assertTrue(selector.selectHttpService().isEmpty()); selector = injector.getInstance(Key.get(HttpServiceSelector.class, serviceType("grape")));
@Test public void testBinding() throws Exception { Injector injector = Guice.createInjector( new ConfigurationModule(new ConfigurationFactory(ImmutableMap.of("discovery.uri", "fake://server"))), new JsonModule(), new TestingNodeModule(), discoveryModule); // should produce a discovery announcement client and a lookup client assertNotNull(injector.getInstance(DiscoveryAnnouncementClient.class)); assertNotNull(injector.getInstance(DiscoveryLookupClient.class)); // should produce an Announcer assertNotNull(injector.getInstance(Announcer.class)); // should produce a ServiceSelectorManager assertNotNull(injector.getInstance(ServiceSelectorManager.class)); }
@BeforeClass public void startServer() throws Exception { tempDir = createTempDir("agent"); Map<String, String> properties = ImmutableMap.<String, String>builder() .put("agent.id", UUID.randomUUID().toString()) .put("agent.coordinator-uri", "http://localhost:9999/") .put("agent.slots-dir", tempDir.getAbsolutePath()) .put("discovery.uri", "fake://server") .build(); Injector injector = Guice.createInjector( new TestingDiscoveryModule(), new TestingNodeModule(), new JsonModule(), new TestingHttpServerModule(), new JaxrsModule(), new EventModule(), new AgentMainModule(), new ConfigurationModule(new ConfigurationFactory(properties))); server = injector.getInstance(TestingHttpServer.class); agent = injector.getInstance(Agent.class); server.start(); client = new JettyHttpClient(); installationHelper = new InstallationHelper(); appleInstallation = installationHelper.getAppleInstallation(); bananaInstallation = installationHelper.getBananaInstallation(); }
@Test public void testJsonCodecFactoryBinding() throws Exception { Injector injector = Guice.createInjector(new JsonModule()); JsonCodecFactory codecFactory = injector.getInstance(JsonCodecFactory.class); Person.validatePersonJsonCodec(codecFactory.jsonCodec(Person.class)); Person.validatePersonListJsonCodec(codecFactory.listJsonCodec(Person.class)); Person.validatePersonMapJsonCodec(codecFactory.mapJsonCodec(String.class, Person.class)); }
@Test public void testExecutorShutdown() throws Exception { Bootstrap app = new Bootstrap( new JsonModule(), new TestingNodeModule(), new DiscoveryModule()); Injector injector = app .strictConfig() .doNotInitializeLogging() .initialize(); ExecutorService executor = injector.getInstance(Key.get(ScheduledExecutorService.class, ForDiscoveryClient.class)); LifeCycleManager lifeCycleManager = injector.getInstance(LifeCycleManager.class); assertFalse(executor.isShutdown()); lifeCycleManager.stop(); assertTrue(executor.isShutdown()); } }
new DiscoveryModule(), new HttpServerModule(), new JsonModule(), new JaxrsModule(true), new MBeanModule(), new JmxModule(), Bootstrap app = new Bootstrap(modules.build()); Injector injector = app.strictConfig().initialize(); injector.getInstance(PluginManager.class).loadPlugins(); injector.getInstance(StaticCatalogStore.class).loadCatalogs(); injector.getInstance(Announcer.class), injector.getInstance(CatalogManager.class), injector.getInstance(ServerConfig.class),
@Test public void test() throws Exception { Injector injector = Guice.createInjector(new JsonModule(), binder -> { JsonCodecBinder codecBinder = jsonCodecBinder(binder); codecBinder.bindJsonCodec(Person.class); codecBinder.bindListJsonCodec(Person.class); codecBinder.bindMapJsonCodec(String.class, Person.class); }); injector.injectMembers(this); assertNotNull(personJsonCodec); assertNotNull(personListJsonCodec); assertNotNull(personMapJsonCodec); Person.validatePersonJsonCodec(personJsonCodec); Person.validatePersonListJsonCodec(personListJsonCodec); Person.validatePersonMapJsonCodec(personMapJsonCodec); } }