List of usage examples for org.springframework.ide.eclipse.boot.dash.test.mocks MockCFSpace defApp
public MockCFApplication defApp(String name)
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); final IProject project = projects.createProject(projectName); final CloudFoundryBootDashModel target = harness.createCfTarget(targetParams); waitForApps(target, appName);//from w w w . ja v a 2s. c om 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 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); CloudFoundryBootDashModel model = harness.createCfTarget(targetParams); waitForApps(model, appName);//from ww w . j a va 2 s .c om 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); CloudFoundryBootDashModel model = harness.createCfTarget(targetParams); waitForApps(model, appName);//from w ww. j a v a 2 s . c o m 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 . ja v a 2 s . com*/ 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()); }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java
@Test public void cancelDeployOfExistingApp() 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"; MockCFApplication deployedApp = space.defApp(appName); CloudFoundryBootDashModel model = harness.createCfTarget(targetParams); waitForApps(model, appName);//from w w w.ja va2 s. c o m CloudAppDashElement app = model.getApplication(appName); app.setProject(null); assertNull(app.getProject()); harness.answerDeploymentPrompt(ui, appName, appName); doReturn(false).when(ui).confirmOperation(same("Replace Existing Application"), any()); model.performDeployment(ImmutableSet.of(project), ui, RunState.RUNNING); waitForJobsToComplete(); assertNull(app.getProject()); // since op was canceled it should not have set the project on the app. assertEquals(0, deployedApp.getPushCount()); // since op was canceled it should not have deployed the app. verify(ui).confirmOperation(any(), any()); }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java
@Test public void manifestDiffDialogNotShownWhenNothingChanged() throws Exception { final String appName = "foo"; CFClientParams targetParams = CfTestTargetParams.fromEnv(); MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName()); IProject project = projects.createBootProject("to-deploy", withStarters("web", "actuator")); createFile(project, "manifest.yml", "applications:\n" + "- name: " + appName + "\n"); MockCFApplication deployedApp = space.defApp(appName); deployedApp.start(CancelationTokens.NULL); CloudFoundryBootDashModel model = harness.createCfTarget(targetParams); waitForApps(model, appName);//from w w w . j a v a 2s . c o m CloudAppDashElement app = model.getApplication(appName); app.setDeploymentManifestFile(project.getFile("manifest.yml")); app.setProject(project); assertEquals(1, app.getActualInstances()); // deployedApp.scaleInstances(2); // change it 'externally' assertEquals(1, app.getActualInstances()); //The model doesn't know yet that it has changed! // harness.answerDeploymentPrompt(ui, appName, appName); app.restart(RunState.RUNNING, ui); waitForJobsToComplete(); //If no change was detected the manfiest compare dialog shouldn't have popped. verify(ui, never()).openManifestDiffDialog(any()); }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java
@Test public void manifestDiffDialogShownWhenInstancesChangedExternally() throws Exception { final String appName = "foo"; CFClientParams targetParams = CfTestTargetParams.fromEnv(); MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName()); IProject project = projects.createBootProject("to-deploy", withStarters("web", "actuator")); createFile(project, "manifest.yml", "applications:\n" + "- name: " + appName + "\n"); MockCFApplication deployedApp = space.defApp(appName); deployedApp.start(CancelationTokens.NULL); CloudFoundryBootDashModel model = harness.createCfTarget(targetParams); waitForApps(model, appName);//from w w w . j a v a 2 s .co m waitForJobsToComplete(); CloudAppDashElement app = model.getApplication(appName); app.setDeploymentManifestFile(project.getFile("manifest.yml")); app.setProject(project); assertEquals(1, app.getActualInstances()); deployedApp.scaleInstances(2); // change it 'externally' assertEquals(1, app.getActualInstances()); //The model doesn't know yet that it has changed! app.restart(RunState.RUNNING, ui); waitForJobsToComplete(); //If the change was detected the deployment props dialog should have popped exactly once. verify(ui).openManifestDiffDialog(any()); }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java
@Test public void testSelectManifestActionEnablement() throws Exception { CFClientParams targetParams = CfTestTargetParams.fromEnv(); MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName()); IProject project1 = projects.createProject("pr1"); IProject project2 = projects.createProject("pr2"); final String appName1 = "app1"; final String appName2 = "app2"; MockCFApplication cfApp1 = space.defApp(appName1); MockCFApplication cfApp2 = space.defApp(appName2); CloudFoundryBootDashModel model = harness.createCfTarget(targetParams); waitForApps(model, appName1, appName2); CloudAppDashElement app1 = model.getApplication(appName1); CloudAppDashElement app2 = model.getApplication(appName2); app1.setProject(project1);/*w w w .j a va 2s. c o m*/ app2.setProject(project2); IAction action = actions.getSelectManifestAction(); assertTrue(harness.selection.getElements().isEmpty()); assertFalse(action.isEnabled()); harness.selection.setElements(ImmutableSet.of(app1)); assertNotNull(app1.getProject()); assertTrue(action.isEnabled()); harness.selection.setElements(ImmutableSet.of(app1, app2)); assertFalse(action.isEnabled()); app1.setProject(null); harness.selection.setElements(ImmutableSet.of(app1)); assertFalse(action.isEnabled()); harness.selection.setElements(ImmutableSet.of(app2)); assertTrue(action.isEnabled()); action.run(); }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java
@Test public void testSelectManifestAction() throws Exception { CFClientParams targetParams = CfTestTargetParams.fromEnv(); MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName()); IProject project = projects.createProject("pr"); final String appName = "app"; IFile manifestFile = createFile(project, "manifest.yml", "applications:\n" + "- name: " + appName + "\n"); space.defApp(appName); CloudFoundryBootDashModel model = harness.createCfTarget(targetParams); waitForApps(model, appName);//from w w w .ja v a 2s .c om CloudAppDashElement app = model.getApplication(appName); app.setProject(project); harness.selection.setElements(ImmutableSet.of(app)); harness.answerDeploymentPrompt(ui, manifestFile); assertNull(app.getDeploymentManifestFile()); actions.getSelectManifestAction().run(); waitForJobsToComplete(); assertEquals(manifestFile, app.getDeploymentManifestFile()); verify(ui).promptApplicationDeploymentProperties(any()); verifyNoMoreInteractions(ui); }
From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java
@Test public void disconnectTarget() throws Exception { CFClientParams targetParams = CfTestTargetParams.fromEnv(); MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName()); String appName = "someApp"; space.defApp(appName); CloudFoundryBootDashModel model = harness.createCfTarget(targetParams); waitForApps(model, appName);/* w w w . j a v a 2s . c o m*/ harness.sectionSelection.setValue(model); IAction disconnectAction = actions.getToggleTargetConnectionAction(); assertTrue(disconnectAction.isEnabled()); disconnectAction.run(); waitForApps(model); assertFalse(model.isConnected()); assertEquals(RefreshState.READY, model.getRefreshState()); }