@Test public void testDeployClassNoDefaultPublicConstructor() throws Exception { class NoDefaultPublicConstructorVerticle extends AbstractVerticle { } vertx.deployVerticle(NoDefaultPublicConstructorVerticle.class, new DeploymentOptions(), onFailure(t -> { testComplete(); })); await(); }
@Test public void testSimpleChildUndeploymentOnParentSyncFailure() throws Exception { AtomicInteger childDeployed = new AtomicInteger(); AtomicInteger childUndeployed = new AtomicInteger(); vertx.deployVerticle(new AbstractVerticle() { @Override public void start(Future<Void> startFuture) throws Exception { CountDownLatch latch = new CountDownLatch(1); vertx.deployVerticle(new AbstractVerticle() { @Override public void start() throws Exception { childDeployed.incrementAndGet(); latch.countDown(); } @Override public void stop() throws Exception { childUndeployed.incrementAndGet(); } }); awaitLatch(latch); throw new RuntimeException(); } }, onFailure(expected -> { waitUntil(() -> childDeployed.get() == 1); waitUntil(() -> childUndeployed.get() == 1); testComplete(); })); await(); }
@Test public void testSimpleChildUndeploymentOnParentAsyncFailure() throws Exception { AtomicInteger childDeployed = new AtomicInteger(); AtomicInteger childUndeployed = new AtomicInteger(); vertx.deployVerticle(new AbstractVerticle() { @Override public void start(Future<Void> startFuture) throws Exception { vertx.deployVerticle(new AbstractVerticle() { @Override public void start() throws Exception { childDeployed.incrementAndGet(); } @Override public void stop() throws Exception { childUndeployed.incrementAndGet(); } }, onSuccess(child -> { startFuture.fail("Undeployed"); })); } }, onFailure(expected -> { assertEquals(1, childDeployed.get()); assertEquals(1, childUndeployed.get()); testComplete(); })); await(); }
@Test public void testDeploySupplierNull() { Supplier<Verticle> supplier = () -> null; DeploymentOptions options = new DeploymentOptions(); // Without completion handler vertx.deployVerticle(supplier, options); assertEquals(Collections.emptySet(), vertx.deploymentIDs()); // With completion handler vertx.deployVerticle(supplier, options, onFailure(t -> { assertEquals(Collections.emptySet(), vertx.deploymentIDs()); testComplete(); })); await(); }
@Test public void testDeploySupplierThrowsException() { Supplier<Verticle> supplier = () -> { throw new RuntimeException("boum"); }; // Without completion handler vertx.deployVerticle(supplier, new DeploymentOptions()); assertEquals(Collections.emptySet(), vertx.deploymentIDs()); // With completion handler vertx.deployVerticle(supplier, new DeploymentOptions().setInstances(2), onFailure(t -> { assertEquals(Collections.emptySet(), vertx.deploymentIDs()); testComplete(); })); await(); }
@Test public void testDeploySupplierDuplicate() { MyVerticle myVerticle = new MyVerticle(); Supplier<Verticle> supplier = () -> myVerticle; DeploymentOptions options = new DeploymentOptions().setInstances(2); // Without completion handler vertx.deployVerticle(supplier, options); assertEquals(Collections.emptySet(), vertx.deploymentIDs()); // With completion handler vertx.deployVerticle(supplier, options, onFailure(t -> { assertEquals(Collections.emptySet(), vertx.deploymentIDs()); assertFalse(myVerticle.startCalled); testComplete(); })); await(); }
@Test public void testDeployClassNoDefaultPublicConstructor() throws Exception { class NoDefaultPublicConstructorVerticle extends AbstractVerticle { } vertx.deployVerticle(NoDefaultPublicConstructorVerticle.class, new DeploymentOptions(), onFailure(t -> { testComplete(); })); await(); }
@Test public void testSimpleChildUndeploymentOnParentSyncFailure() throws Exception { AtomicInteger childDeployed = new AtomicInteger(); AtomicInteger childUndeployed = new AtomicInteger(); vertx.deployVerticle(new AbstractVerticle() { @Override public void start(Future<Void> startFuture) throws Exception { CountDownLatch latch = new CountDownLatch(1); vertx.deployVerticle(new AbstractVerticle() { @Override public void start() throws Exception { childDeployed.incrementAndGet(); latch.countDown(); } @Override public void stop() throws Exception { childUndeployed.incrementAndGet(); } }); awaitLatch(latch); throw new RuntimeException(); } }, onFailure(expected -> { waitUntil(() -> childDeployed.get() == 1); waitUntil(() -> childUndeployed.get() == 1); testComplete(); })); await(); }
@Test public void testSimpleChildUndeploymentOnParentAsyncFailure() throws Exception { AtomicInteger childDeployed = new AtomicInteger(); AtomicInteger childUndeployed = new AtomicInteger(); vertx.deployVerticle(new AbstractVerticle() { @Override public void start(Future<Void> startFuture) throws Exception { vertx.deployVerticle(new AbstractVerticle() { @Override public void start() throws Exception { childDeployed.incrementAndGet(); } @Override public void stop() throws Exception { childUndeployed.incrementAndGet(); } }, onSuccess(child -> { startFuture.fail("Undeployed"); })); } }, onFailure(expected -> { assertEquals(1, childDeployed.get()); assertEquals(1, childUndeployed.get()); testComplete(); })); await(); }
@Test public void testDeploySupplierNull() { Supplier<Verticle> supplier = () -> null; DeploymentOptions options = new DeploymentOptions(); // Without completion handler vertx.deployVerticle(supplier, options); assertEquals(Collections.emptySet(), vertx.deploymentIDs()); // With completion handler vertx.deployVerticle(supplier, options, onFailure(t -> { assertEquals(Collections.emptySet(), vertx.deploymentIDs()); testComplete(); })); await(); }
@Test public void testDeploySupplierThrowsException() { Supplier<Verticle> supplier = () -> { throw new RuntimeException("boum"); }; // Without completion handler vertx.deployVerticle(supplier, new DeploymentOptions()); assertEquals(Collections.emptySet(), vertx.deploymentIDs()); // With completion handler vertx.deployVerticle(supplier, new DeploymentOptions().setInstances(2), onFailure(t -> { assertEquals(Collections.emptySet(), vertx.deploymentIDs()); testComplete(); })); await(); }
@Test public void testDeploySupplierDuplicate() { MyVerticle myVerticle = new MyVerticle(); Supplier<Verticle> supplier = () -> myVerticle; DeploymentOptions options = new DeploymentOptions().setInstances(2); // Without completion handler vertx.deployVerticle(supplier, options); assertEquals(Collections.emptySet(), vertx.deploymentIDs()); // With completion handler vertx.deployVerticle(supplier, options, onFailure(t -> { assertEquals(Collections.emptySet(), vertx.deploymentIDs()); assertFalse(myVerticle.startCalled); testComplete(); })); await(); }