@Override public Vertx vertx() { return vertx(new VertxOptions()); }
protected VertxOptions getOptions() { VertxOptions options = new VertxOptions(); options.setPreferNativeTransport(USE_NATIVE_TRANSPORT); return options; }
@Override protected void startNodes(int numNodes) { super.startNodes(numNodes, new VertxOptions().setEventBusOptions(options)); }
@Test public void testFailCreateClusteredVertxSynchronously() { VertxOptions options = new VertxOptions(); options.setClustered(true); try { Vertx.vertx(options); fail("Should throw exception"); } catch (IllegalArgumentException e) { // OK } }
@Test public void testResolveFromFile() { File f = new File(new File(new File(new File("src"), "test"), "resources"), "hosts_config.txt"); VertxInternal vertx = (VertxInternal) vertx(new VertxOptions().setAddressResolverOptions(new AddressResolverOptions().setHostsPath(f.getAbsolutePath()))); vertx.resolveAddress("server.net", onSuccess(addr -> { assertEquals("192.168.0.15", addr.getHostAddress()); assertEquals("server.net", addr.getHostName()); testComplete(); })); await(); }
protected void createNodes(int nodes) { startNodes(nodes, new VertxOptions().setHAEnabled(true)); aliveNodes = new CopyOnWriteArrayList<>(); for (int i = 0; i < nodes; i++) { aliveNodes.add(i); int pos = i; ((VertxInternal)vertices[i]).failoverCompleteHandler((nodeID, haInfo, succeeded) -> { failedOverOnto(pos); }); } deploymentSnapshots = new Set[nodes]; }
@Test public void testFactory() throws Exception { AtomicReference<Thread> metricsThread = new AtomicReference<>(); AtomicReference<Context> metricsContext = new AtomicReference<>(); VertxMetricsFactory factory = (options) -> { metricsThread.set(Thread.currentThread()); metricsContext.set(Vertx.currentContext()); return DummyVertxMetrics.INSTANCE; }; vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(factory))); assertSame(Thread.currentThread(), metricsThread.get()); assertNull(metricsContext.get()); }
@Override protected VertxOptions getOptions() { return new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(false)); // Just to be explicit }
@Test public void testNullFileSystemOptions() { VertxOptions options = new VertxOptions().setFileSystemOptions(null); options.isFileResolverCachingEnabled(); options.setFileResolverCachingEnabled(true); } }
@Test public void testCreateVertxWithOptions() { VertxOptions options = new VertxOptions(); Vertx vertx = vertx(options); assertNotNull(vertx); assertFalse(vertx.isClustered()); }
@Test public void testResolveFromBuffer() { VertxInternal vertx = (VertxInternal) vertx(new VertxOptions().setAddressResolverOptions(new AddressResolverOptions().setHostsValue(Buffer.buffer("192.168.0.15 server.net")))); vertx.resolveAddress("server.net", onSuccess(addr -> { assertEquals("192.168.0.15", addr.getHostAddress()); assertEquals("server.net", addr.getHostName()); testComplete(); })); await(); }
@Test public void testFallbackOnJDK() { testNetServer(new VertxOptions().setPreferNativeTransport(true)); assertFalse(vertx.isNativeTransportEnabled()); }
@Test public void testMetricsEnabledWithoutConfig() { vertx.close(); vertx = Vertx.vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true))); VertxMetrics metrics = ((VertxInternal) vertx).metricsSPI(); assertNull(metrics); }
@Test public void testConfigureFromSystemPropertiesInvalidPropertyName() throws Exception { System.setProperty(RunCommand.VERTX_OPTIONS_PROP_PREFIX + "nosuchproperty", "123"); // Should be ignored MyLauncher launcher = new MyLauncher(); String[] args = {"run", "java:" + TestVerticle.class.getCanonicalName()}; launcher.dispatch(args); assertWaitUntil(() -> TestVerticle.instanceCount.get() == 1); VertxOptions opts = launcher.getVertxOptions(); VertxOptions def = new VertxOptions(); if (opts.getMetricsOptions().isEnabled()) { def.getMetricsOptions().setEnabled(true); } assertEquals(def, opts); }
@Test public void testInvalidHostsConfig() { try { AddressResolverOptions options = new AddressResolverOptions().setHostsPath("whatever.txt"); vertx(new VertxOptions().setAddressResolverOptions(options)); fail(); } catch (VertxException ignore) { } }
@Test public void testResolveFromClasspath() { VertxInternal vertx = (VertxInternal) vertx(new VertxOptions().setAddressResolverOptions(new AddressResolverOptions().setHostsPath("hosts_config.txt"))); vertx.resolveAddress("server.net", onSuccess(addr -> { assertEquals("192.168.0.15", addr.getHostAddress()); assertEquals("server.net", addr.getHostName()); testComplete(); })); await(); }
@Test public void testCaseInsensitiveResolveFromHosts() { VertxInternal vertx = (VertxInternal) vertx(new VertxOptions().setAddressResolverOptions(new AddressResolverOptions().setHostsPath("hosts_config.txt"))); vertx.resolveAddress("SERVER.NET", onSuccess(addr -> { assertEquals("192.168.0.15", addr.getHostAddress()); assertEquals("server.net", addr.getHostName()); testComplete(); })); await(); }
@Test public void testSetMetricsInstance() { DummyVertxMetrics metrics = DummyVertxMetrics.INSTANCE; vertx.close(); vertx = Vertx.vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(new SimpleVertxMetricsFactory<>(metrics)))); assertSame(metrics, ((VertxInternal) vertx).metricsSPI()); }
@Test public void testMetricsFromServiceLoader() { vertx.close(); VertxOptions options = new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true)); vertx = createVertxLoadingMetricsFromMetaInf(options, "io.vertx.test.fakemetrics.FakeMetricsFactory"); VertxMetrics metrics = ((VertxInternal) vertx).metricsSPI(); assertNotNull(metrics); assertTrue(metrics instanceof FakeVertxMetrics); }
@Test public void testSetMetricsInstanceTakesPrecedenceOverServiceLoader() { DummyVertxMetrics metrics = DummyVertxMetrics.INSTANCE; vertx.close(); VertxOptions options = new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(new SimpleVertxMetricsFactory<>(metrics))); vertx = createVertxLoadingMetricsFromMetaInf(options, "io.vertx.test.fakemetrics.FakeMetricsFactory"); assertSame(metrics, ((VertxInternal) vertx).metricsSPI()); }