/******************************************************************************* * Copyright (c) 2013 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.windup.ui.tests; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeoutException; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.swt.widgets.Display; import org.jboss.tools.windup.ui.util.FutureUtils; import org.jboss.tools.windup.ui.util.WindupLauncher; import org.junit.Test; public class WindupLauncherTest extends WindupUiTest { @Test public void testWindupServerStarted() { Job job = windupLauncher.createStartWindupJob(); IStatus status = FutureUtils.runWithProgress(job, WindupLauncher.WINDUP_START_DURATION_TIMEOUT, 5, Display.getDefault().getActiveShell(), "Starting Windup"); assertTrue("Windup did not start successfully: " + status.getMessage(), status.isOK()); assertNotNull("Execution Builder is NULL after starting Windup.", windupClient.getExecutionBuilder()); } @Test public void testWindupServerStopped() throws InterruptedException, ExecutionException, TimeoutException { windupClient.shutdownWindup(); Future<IStatus> future = WindupLauncher.getTerminateWindupFuture(windupClient); FutureUtils.waitForFuture(WindupLauncher.WINDUP_STOP_DURATION_TIMEOUT, future, new NullProgressMonitor()); assertNull("Execution Builder still exists after shutting down Windup.", windupClient.getExecutionBuilder()); } }