Example usage for org.springframework.ide.eclipse.boot.dash.test CfTestTargetParams fromEnv

List of usage examples for org.springframework.ide.eclipse.boot.dash.test CfTestTargetParams fromEnv

Introduction

In this page you can find the example usage for org.springframework.ide.eclipse.boot.dash.test CfTestTargetParams fromEnv.

Prototype

public static CFClientParams fromEnv() 

Source Link

Usage

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  www  .j  a  va2  s  .  co  m

    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 av  a 2s. c om*/
    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);// w  w w. j  a v a2  s  .com
    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 av  a 2  s .  co 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);//  w w  w  .j  a va 2  s .  c o  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 manifestDiffDialogChooseUseManfifest() throws Exception {
    //Setup initial state for our test
    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"));
    IFile manifest = createFile(project, "manifest.yml",
            "applications:\n" + "- name: " + appName + "\n" + "  memory: 1111M\n");

    harness.answerDeploymentPrompt(ui, manifest);

    CloudFoundryBootDashModel model = harness.createCfTarget(targetParams);
    model.performDeployment(ImmutableSet.of(project), ui, RunState.RUNNING);

    waitForApps(model, appName);//  www . j a  va 2 s.c  o  m
    CloudAppDashElement app = model.getApplication(appName);
    waitForState(app, RunState.RUNNING, APP_DEPLOY_TIMEOUT);

    {
        MockCFApplication appInCloud = space.getApplication(appName);
        assertEquals(1111, appInCloud.getMemory());
        Mockito.reset(ui);

        //// real test begins here

        appInCloud.setMemory(2222);
    }

    harness.answerManifestDiffDialog(ui, (ManifestDiffDialogModel dialog) -> {
        //??? code to check what's in the dialog???
        return ManifestDiffDialogModel.Result.USE_MANIFEST;
    });

    app.restart(RunState.RUNNING, ui);

    waitForJobsToComplete();
    {
        MockCFApplication appInCloud = space.getApplication(appName);
        assertEquals(2, appInCloud.getPushCount());
        assertEquals(RunState.RUNNING, app.getRunState());
        assertEquals(1111, appInCloud.getMemory());
        assertEquals(1111, (int) app.getMemory());
    }
}

From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java

@Test
public void manifestDiffDialogChooseForgetManfifest() throws Exception {
    //Setup initial state for our test
    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"));
    IFile manifest = createFile(project, "manifest.yml",
            "applications:\n" + "- name: " + appName + "\n" + "  memory: 1111M\n");

    harness.answerDeploymentPrompt(ui, manifest);

    CloudFoundryBootDashModel model = harness.createCfTarget(targetParams);
    model.performDeployment(ImmutableSet.of(project), ui, RunState.RUNNING);

    waitForApps(model, appName);/*from  w  w  w .j av  a2 s. c  o m*/
    CloudAppDashElement app = model.getApplication(appName);
    waitForState(app, RunState.RUNNING, APP_DEPLOY_TIMEOUT);

    MockCFApplication appInCloud = space.getApplication(appName);
    assertEquals(1111, appInCloud.getMemory());
    Mockito.reset(ui);

    //// real test begins here

    appInCloud.setMemory(2222);

    harness.answerManifestDiffDialog(ui, (ManifestDiffDialogModel dialog) -> {
        //??? code to check what's in the dialog???
        return ManifestDiffDialogModel.Result.FORGET_MANIFEST;
    });

    app.restart(RunState.RUNNING, ui);

    waitForJobsToComplete();

    assertEquals(2, appInCloud.getPushCount());
    assertEquals(RunState.RUNNING, app.getRunState());
    assertEquals(2222, appInCloud.getMemory());
    assertEquals(2222, (int) app.getMemory());
}

From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java

@Test
public void testDeployManifestWithAbsolutePathAttribute() throws Exception {
    final String appName = "foo";
    CFClientParams targetParams = CfTestTargetParams.fromEnv();
    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());
    IProject project = projects.createProject("to-deploy");

    File zipFile = getTestZip("testapp");

    IFile manifestFile = createFile(project, "manifest.yml", "applications:\n" + "- name: foo\n" + "  path: "
            + zipFile.getAbsolutePath() + "\n" + "  buildpack: staticfile_buildpack");

    CloudFoundryBootDashModel model = harness.createCfTarget(targetParams);

    harness.answerDeploymentPrompt(ui, manifestFile);
    model.performDeployment(ImmutableSet.of(project), ui, RunState.RUNNING);

    waitForApps(model, "foo");

    CloudAppDashElement app = model.getApplication("foo");
    waitForState(app, RunState.RUNNING, APP_DELETE_TIMEOUT);

    assertEquals(project, app.getProject());

    assertEquals("some content here\n", space.getApplication(appName).getFileContents("test.txt"));

    verify(ui).promptApplicationDeploymentProperties(any());
    verifyNoMoreInteractions(ui);//from w  w  w . j av  a  2s .c om
}

From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java

@Test
public void testDeployManifestWithRelativePathAttribute() throws Exception {
    final String appName = "foo";
    CFClientParams targetParams = CfTestTargetParams.fromEnv();
    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());
    IProject project = projects.createProject("to-deploy");

    File zipFile = getTestZip("testapp");
    project.getFolder("zips").create(true, true, new NullProgressMonitor());
    project.getFolder("manifests").create(true, true, new NullProgressMonitor());
    createFile(project, "zips/testapp.zip", zipFile);

    IFile manifestFile = createFile(project, "manifests/manifest.yml", "applications:\n" + "- name: foo\n"
            + "  path: ../zips/testapp.zip\n" + "  buildpack: staticfile_buildpack");

    CloudFoundryBootDashModel model = harness.createCfTarget(targetParams);

    harness.answerDeploymentPrompt(ui, manifestFile);
    model.performDeployment(ImmutableSet.of(project), ui, RunState.RUNNING);

    waitForApps(model, "foo");

    CloudAppDashElement app = model.getApplication("foo");
    waitForState(app, RunState.RUNNING, APP_DEPLOY_TIMEOUT);

    assertEquals(project, app.getProject());

    assertEquals("some content here\n", space.getApplication(appName).getFileContents("test.txt"));

    verify(ui).promptApplicationDeploymentProperties(any());
    verifyNoMoreInteractions(ui);/*  w w w.  j av a2s  . c o  m*/
}

From source file:org.springframework.ide.eclipse.boot.dash.test.CloudFoundryBootDashModelMockingTest.java

@Test
public void testDeployManifestWithoutPathAttribute() throws Exception {
    String appName = "foo";
    CFClientParams targetParams = CfTestTargetParams.fromEnv();
    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());
    CloudFoundryBootDashModel model = harness.createCfTarget(targetParams);

    IProject project = projects.createBootWebProject("empty-web-app");
    IFile manifestFile = createFile(project, "manifest.yml", "applications:\n" + "- name: " + appName + "\n");
    File referenceJar = BootJarPackagingTest.packageAsJar(project, ui);

    harness.answerDeploymentPrompt(ui, manifestFile);
    model.performDeployment(ImmutableSet.of(project), ui, RunState.RUNNING);
    waitForApps(model, appName);//from   w w w .  j  ava2  s  . c  om

    CloudAppDashElement app = model.getApplication(appName);
    waitForState(app, RunState.RUNNING, APP_DEPLOY_TIMEOUT);

    System.out.println("platform location = '" + Platform.getLocation() + "'");
    assertDeployedBytes(referenceJar, space.getApplication(appName));
}