/* * Copyright (c) 2011-2014 The original author or authors * ------------------------------------------------------ * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Apache License v2.0 which accompanies this distribution. * * The Eclipse Public License is available at * http://www.eclipse.org/legal/epl-v10.html * * The Apache License v2.0 is available at * http://www.opensource.org/licenses/apache2.0.php * * You may elect to redistribute this code under either of these licenses. */ package io.vertx.test.core; import org.junit.Test; import io.vertx.core.*; import io.vertx.test.fakecluster.FakeClusterManager; /** * @author <a href="http://tfox.org">Tim Fox</a> */ public class CreateVertxTest extends VertxTestBase { @Test public void testCreateSimpleVertx() { Vertx vertx = vertx(); assertNotNull(vertx); } @Test public void testCreateVertxWithOptions() { VertxOptions options = new VertxOptions(); Vertx vertx = vertx(options); assertNotNull(vertx); assertFalse(vertx.isClustered()); } @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 testCreateClusteredVertxAsync() { VertxOptions options = new VertxOptions(); options.setClustered(true); clusteredVertx(options, ar -> { assertTrue(ar.succeeded()); assertNotNull(ar.result()); assertTrue(ar.result().isClustered()); Vertx v = ar.result(); v.close(ar2 -> { assertTrue(ar2.succeeded()); testComplete(); }); }); await(); } /* If the user doesn't explicitly set clustered to true, it should still create a clustered Vert.x */ @Test public void testCreateClusteredVertxAsyncDontSetClustered() { VertxOptions options = new VertxOptions(); clusteredVertx(options, ar -> { assertTrue(ar.succeeded()); assertNotNull(ar.result()); assertTrue(options.isClustered()); assertTrue(ar.result().isClustered()); Vertx v = ar.result(); v.close(ar2 -> { assertTrue(ar2.succeeded()); testComplete(); }); }); await(); } @Test public void testCreateClusteredVertxAsyncDetectJoinFailure() { VertxOptions options = new VertxOptions().setClusterManager(new FakeClusterManager(){ @Override public void join(Handler<AsyncResult<Void>> resultHandler) { resultHandler.handle(Future.failedFuture(new Exception("joinfailure"))); } }); clusteredVertx(options, ar -> { assertTrue(ar.failed()); assertEquals("joinfailure", ar.cause().getMessage()); testComplete(); }); await(); } }