/** Waits until {@link Startable#SERVICE_UP} is true. */ public static void waitForServiceUp(final Entity entity, Duration timeout) { waitFor(entity, EntityPredicates.isServiceUp(), timeout); } public static void waitForServiceUp(final Entity entity, long duration, TimeUnit units) {
@Test public void testWaitFor() throws Exception { entity = app.createAndManageChild(EntitySpec.create(TestEntity.class)); Duration timeout = Duration.ONE_MILLISECOND; Entities.waitFor(entity, applicationIdEqualTo(app.getApplicationId()), timeout); try { Entities.waitFor(entity, applicationIdEqualTo(app.getApplicationId() + "-wrong"), timeout); Asserts.shouldHaveFailedPreviously("Entities.waitFor() should have timed out"); } catch (Exception e) { Asserts.expectedFailureContains(e, "Timeout waiting for "); } }