List of usage examples for org.springframework.ide.eclipse.boot.dash.model RunState INACTIVE
RunState INACTIVE
To view the source code for org.springframework.ide.eclipse.boot.dash.model RunState INACTIVE.
Click Source Link
From source file:org.springframework.ide.eclipse.boot.dash.cloudfoundry.CloudAppDashElement.java
protected void doRestartWithRemoteClient(RunState runningOrDebugging, UserInteractions ui, CancelationToken cancelationToken, IProgressMonitor monitor) throws Exception { CloudFoundryBootDashModel model = getCloudModel(); Map<String, String> envVars = model.getRunTarget().getClient().getApplicationEnvironment(getName()); if (getProject() == null) { ExceptionUtil.coreException(new Status(IStatus.ERROR, BootDashActivator.PLUGIN_ID, "Local project not associated to CF app '" + getName() + "'")); }/* w w w .j a va2 s . co m*/ new SetHealthCheckOperation(this, HealthChecks.HC_NONE, ui, /* confirmChange */true, cancelationToken) .run(monitor); if (!DevtoolsUtil.isEnvVarSetupForRemoteClient(envVars, DevtoolsUtil.getSecret(getProject()))) { // Let the push and debug operation resolve default properties CloudApplicationDeploymentProperties deploymentProperties = null; pushAndDebug(deploymentProperties, runningOrDebugging, ui, cancelationToken, monitor); /* * Restart and push op resets console anyway, no need to reset it * again */ } else if (getRunState() == RunState.INACTIVE) { restartOnly(ui, cancelationToken, monitor); } new RemoteDevClientStartOperation(model, getName(), runningOrDebugging, cancelationToken).run(monitor); }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java
@Test public void testRefreshAppsRunState() throws Exception { CFClientParams targetParams = CfTestTargetParams.fromEnv(); MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName()); final MockCFApplication foo = space.defApp("foo"); space.defApp("bar"); final CloudFoundryBootDashModel target = harness.createCfTarget(targetParams); waitForApps(target, "foo", "bar"); foo.start(CancelationTokens.NULL);/*from w w w . j a va2 s . com*/ target.refresh(ui); new ACondition("wait for app states", 3000) { @Override public boolean test() throws Exception { ImmutableSet<String> appNames = getNames(target.getApplications().getValues()); assertEquals(ImmutableSet.of("foo", "bar"), appNames); CloudAppDashElement appElement = harness.getCfTargetModel().getApplication("foo"); assertEquals(RunState.RUNNING, appElement.getRunState()); appElement = harness.getCfTargetModel().getApplication("bar"); assertEquals(RunState.INACTIVE, appElement.getRunState()); return true; } }; }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java
@Test public void runstateBecomesUnknownWhenStartOperationFails() throws Exception { final String appName = "foo"; String projectName = "to-deploy"; CFClientParams targetParams = CfTestTargetParams.fromEnv(); MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName()); MockCFApplication app = space.defApp(appName); final IProject project = projects.createProject(projectName); final CloudFoundryBootDashModel target = harness.createCfTarget(targetParams); waitForApps(target, appName);/*from w w w. jav a 2 s .c o m*/ CloudAppDashElement appElement = target.getApplication(appName); appElement.setProject(project); //The state refressh is asynch so until state becomes 'INACTIVE' it will be unknown. waitForState(appElement, RunState.INACTIVE, 3000); IAction restartAction = actions.getRestartOnlyApplicationAction(); RunStateHistory runstateHistory = new RunStateHistory(); appElement.getBaseRunStateExp().addListener(runstateHistory); doThrow(IOException.class).when(app).start(any()); System.out.println("restarting application..."); harness.selection.setElements(appElement); restartAction.run(); waitForState(appElement, RunState.UNKNOWN, 3000); runstateHistory.assertHistoryContains(RunState.INACTIVE, RunState.STARTING); runstateHistory.assertLast(RunState.UNKNOWN); }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java
@Test public void refreshClearsErrorState() throws Exception { final String appName = "foo"; String projectName = "to-deploy"; CFClientParams targetParams = CfTestTargetParams.fromEnv(); MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName()); space.defApp(appName);/* w w w . jav a 2 s. c om*/ final IProject project = projects.createProject(projectName); final CloudFoundryBootDashModel target = harness.createCfTarget(targetParams); waitForApps(target, appName); CloudAppDashElement appElement = target.getApplication(appName); appElement.setProject(project); waitForState(appElement, RunState.INACTIVE, 3000); //The state refressh is asynch so until state becomes 'INACTIVE' it will be unknown. appElement.setError(new IOException("Something bad happened")); waitForState(appElement, RunState.UNKNOWN, 3000); target.refresh(ui); waitForState(appElement, RunState.INACTIVE, 3000); }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java
@Test public void stopCancelsDeploy() throws Exception { CFClientParams targetParams = CfTestTargetParams.fromEnv(); clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName()); CloudFoundryBootDashModel model = harness.createCfTarget(targetParams); IProject project = projects.createBootProject("to-deploy", withStarters("actuator", "web")); final String appName = appHarness.randomAppName(); clientFactory.setAppStartDelay(TimeUnit.MINUTES, 2); harness.answerDeploymentPrompt(ui, appName, appName); model.performDeployment(ImmutableSet.of(project), ui, RunState.RUNNING); waitForApps(model, appName);//ww w . j a v a 2 s . c o m CloudAppDashElement app = model.getApplication(appName); waitForState(app, RunState.STARTING, 3000); ACondition.waitFor("stop hammering", 20000, () -> { app.stopAsync(ui); assertEquals(RunState.INACTIVE, app.getRunState()); }); //TODO: can we check that deployment related jobs are really canceled/finished somehow? // can we check that they didn't pop errors? }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java
@Test public void stopCancelsStart() throws Exception { CFClientParams targetParams = CfTestTargetParams.fromEnv(); MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName()); IProject project = projects.createBootProject("to-deploy", withStarters("web", "actuator")); final String appName = "foo"; space.defApp(appName);//ww w .j av a2 s .com CloudFoundryBootDashModel model = harness.createCfTarget(targetParams); waitForApps(model, appName); CloudAppDashElement app = model.getApplication(appName); app.setProject(project); waitForApps(model, appName); clientFactory.setAppStartDelay(TimeUnit.MINUTES, 2); app.getBaseRunStateExp().addListener(new ValueListener<RunState>() { @Override public void gotValue(LiveExpression<RunState> exp, RunState value) { System.out.println("Runstate -> " + value); } }); System.out.println("Restaring app..."); app.restart(RunState.RUNNING, ui); waitForState(app, RunState.STARTING, 30000); System.out.println("Stopping app..."); app.stopAsync(ui); waitForState(app, RunState.INACTIVE, 20000); System.out.println("Stopped!"); }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java
@Test public void stopCancelsRestartOnly() throws Exception { CFClientParams targetParams = CfTestTargetParams.fromEnv(); MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName()); IProject project = projects.createProject("to-deploy"); final String appName = "foo"; space.defApp(appName);//from w w w . ja va 2 s . c om CloudFoundryBootDashModel model = harness.createCfTarget(targetParams); waitForApps(model, appName); CloudAppDashElement app = model.getApplication(appName); app.setProject(project); waitForApps(model, appName); clientFactory.setAppStartDelay(TimeUnit.MINUTES, 2); app.restartOnlyAsynch(ui, app.createCancelationToken()); waitForState(app, RunState.STARTING, 3000); app.stopAsync(ui); waitForState(app, RunState.INACTIVE, 20000); }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java
@Test public void acceptDeployOfExistingApp() throws Exception { CFClientParams targetParams = CfTestTargetParams.fromEnv(); MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName()); IProject project = projects.createBootProject("to-deploy", withStarters("actuator", "web")); final String appName = "foo"; MockCFApplication deployedApp = space.defApp(appName); CloudFoundryBootDashModel model = harness.createCfTarget(targetParams); waitForApps(model, appName);/*from w w w. j a v a2s. c o m*/ CloudAppDashElement app = model.getApplication(appName); app.setProject(null); assertNull(app.getProject()); assertEquals(RunState.INACTIVE, app.getRunState()); harness.answerDeploymentPrompt(ui, appName, appName); Mockito.doReturn(true).when(ui).confirmOperation(same("Replace Existing Application"), any()); model.performDeployment(ImmutableSet.of(project), ui, RunState.RUNNING); System.out.println(app.getRunState()); waitForJobsToComplete(); System.out.println(app.getRunState()); assertEquals(project, app.getProject()); assertEquals(1, deployedApp.getPushCount()); verify(ui).confirmOperation(any(), any()); }