Example usage for org.springframework.ide.eclipse.boot.dash.test.mocks MockCFSpace defApp

List of usage examples for org.springframework.ide.eclipse.boot.dash.test.mocks MockCFSpace defApp

Introduction

In this page you can find the example usage for org.springframework.ide.eclipse.boot.dash.test.mocks MockCFSpace defApp.

Prototype

public MockCFApplication defApp(String name) 

Source Link

Usage

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());
}