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 testCreateCfTargetAndStoreToken() throws Exception {

    {//  w  w w  .j ava  2s .  c o  m
        CFClientParams targetParams = CfTestTargetParams.fromEnv();
        MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());
        space.defApp("foo");
        clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());

        CloudFoundryBootDashModel target = harness.createCfTarget(targetParams,
                StoreCredentialsMode.STORE_TOKEN);
        assertNotNull(target);
        assertTrue(target.isConnected());
        assertEquals(MockCloudFoundryClientFactory.FAKE_REFRESH_TOKEN,
                target.getRunTarget().getTargetProperties().getCredentials().getRefreshToken());
        assertEquals(1, harness.getCfRunTargetModels().size());
    }

    harness.reload();

    {
        CloudFoundryBootDashModel target = harness.getCfTargetModel();

        { //secure store shouldn't have been accessed (i.e. avoid opening it and popping password)
            SecuredCredentialsStore store = harness.getCredentialsStore();
            assertFalse(store.isUnlocked());
            String key = harness.secureStoreKey(target);
            String storedCred = store.getCredentials(key);
            assertNull(storedCred);
        }
        {
            IPropertyStore store = harness.getPrivateStore();
            String key = harness.privateStoreKey(target);
            String storedCred = store.get(key);
            assertEquals(MockCloudFoundryClientFactory.FAKE_REFRESH_TOKEN, storedCred);
        }

        assertNotNull(target);
        assertEquals(MockCloudFoundryClientFactory.FAKE_REFRESH_TOKEN,
                target.getRunTarget().getTargetProperties().getCredentials().getRefreshToken());
        assertEquals(StoreCredentialsMode.STORE_TOKEN,
                target.getRunTarget().getTargetProperties().getStoreCredentials());

        waitForJobsToComplete();
        assertTrue(target.isConnected()); //should auto connect.
        verifyZeroInteractions(ui); //should not prompt for password (but used stored token).
    }
}

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

@Test
public void testAppsShownInBootDash() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();

    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());

    space.defApp("foo");
    space.defApp("bar");

    final CloudFoundryBootDashModel target = harness.createCfTarget(targetParams);

    new ACondition("wait for apps to appear", 3000) {
        @Override/*  www  . jav a2s .  c o m*/
        public boolean test() throws Exception {
            ImmutableSet<String> appNames = getNames(target.getApplications().getValues());
            assertEquals(ImmutableSet.of("foo", "bar"), appNames);
            return true;
        }
    };
}

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

@Test
public void testBasicRefreshApps() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();

    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());

    space.defApp("foo");
    space.defApp("bar");

    final CloudFoundryBootDashModel target = harness.createCfTarget(targetParams);

    waitForApps(target, "foo", "bar");

    space.defApp("anotherfoo");
    space.defApp("anotherbar");
    target.refresh(ui);//from w ww  . j  av  a  2s  . c  o  m

    waitForApps(target, "foo", "bar", "anotherfoo", "anotherbar");
}

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 .ja  v  a 2s .  c  o  m*/

    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 testRefreshAppsHealthCheck() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();

    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());

    final MockCFApplication foo = space.defApp("foo");

    final CloudFoundryBootDashModel target = harness.createCfTarget(targetParams);

    waitForApps(target, "foo");

    CloudAppDashElement appElement = harness.getCfTargetModel().getApplication("foo");
    assertEquals(HealthChecks.HC_PORT, appElement.getHealthCheck());

    foo.setHealthCheck(HealthChecks.HC_NONE);

    target.refresh(ui);// w ww  . ja  v a2 s  .  c om

    new ACondition("wait for app health check", 3000) {
        @Override
        public boolean test() throws Exception {
            ImmutableSet<String> appNames = getNames(target.getApplications().getValues());
            assertEquals(ImmutableSet.of("foo"), appNames);

            CloudAppDashElement appElement = harness.getCfTargetModel().getApplication("foo");
            assertEquals(HealthChecks.HC_NONE, appElement.getHealthCheck());

            return true;
        }
    };
}

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

@Test
public void testRefreshServices() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();

    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());

    space.defApp("foo");
    space.defService("elephantsql");
    space.defService("cleardb");

    final CloudFoundryBootDashModel target = harness.createCfTarget(targetParams);

    waitForApps(target, "foo");
    waitForServices(target, "elephantsql", "cleardb");
    waitForElements(target, "foo", "elephantsql", "cleardb");

    space.defService("rabbit");

    target.refresh(ui);/*w w w.j  a v  a  2  s . c o  m*/
    waitForServices(target, "elephantsql", "cleardb", "rabbit");
    waitForElements(target, "foo", "elephantsql", "cleardb", "rabbit");
}

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

@Test
public void testAppsAndServicesShownInBootDash() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();

    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());

    space.defApp("foo");
    space.defApp("bar");
    space.defService("a-sql");
    space.defService("z-rabbit");

    final CloudFoundryBootDashModel target = harness.createCfTarget(targetParams);
    assertTrue(target.isConnected());//from  ww  w  .j  ava  2 s  .  com

    debugListener("applications", target.getApplications());
    debugListener("services", target.getServices());
    debugListener("all", target.getElements());

    new ACondition("wait for elements to appear", 3000) {
        @Override
        public boolean test() throws Exception {
            ImmutableSet<String> appNames = getNames(target.getApplications().getValues());
            ImmutableSet<String> serviceNames = getNames(target.getServices().getValues());
            ImmutableSet<String> allNames = getNames(target.getElements().getValues());
            assertEquals(ImmutableSet.of("foo", "bar"), appNames);
            assertEquals(ImmutableSet.of("a-sql", "z-rabbit"), serviceNames);
            assertEquals(ImmutableSet.of("foo", "bar", "a-sql", "z-rabbit"), allNames);
            return true;
        }
    };

    //Also test we sort this stuff in the right order.

    ArrayList<BootDashElement> elements = new ArrayList<>(target.getElements().getValues());
    Collections.sort(elements, target.getElementComparator());
    assertNames(elements,
            //first apps... alphabetic
            "bar", "foo",
            //then services... alphabetic
            "a-sql", "z-rabbit");

    //For https://www.pivotaltracker.com/story/show/114408475
    // Apps and services should disappear when target is disconnected

    IAction toggleConnection = actions.getToggleTargetConnectionAction();
    harness.sectionSelection.setValue(target);
    toggleConnection.run();

    new ACondition("wait for elements to disappear", 10000) {
        @Override
        public boolean test() throws Exception {
            assertFalse(target.isConnected());
            ImmutableSet<String> appNames = getNames(target.getApplications().getValues());
            ImmutableSet<String> serviceNames = getNames(target.getServices().getValues());
            ImmutableSet<String> allNames = getNames(target.getElements().getValues());
            assertEquals(ImmutableSet.of(), appNames);
            assertEquals(ImmutableSet.of(), serviceNames);
            assertEquals(ImmutableSet.of(), allNames);
            return true;
        }
    };
}

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

@Test
public void appToProjectBindingChangedAfterProjectRename() 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  .  java 2s. c  o m
    CloudAppDashElement app = target.getApplication(appName);
    app.setProject(project);

    assertAppToProjectBinding(target, project, appName);

    ElementStateListener elementStateListener = mock(ElementStateListener.class);
    target.addElementStateListener(elementStateListener);

    final IProject newProject = projects.rename(project, projectName + "-RENAMED");
    // resource listeners called synchronously by eclipse so we don't need ACondition

    assertAppToProjectBinding(target, newProject, appName);

    //state change event should have been fired (to update label of element in view)
    verify(elementStateListener).stateChanged(same(app));
}

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

@Test
public void appToProjectBindingForgottenAfterDelete() 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  ww  . ja  va2  s.  com
    CloudAppDashElement app = target.getApplication(appName);
    app.setProject(project);

    assertAppToProjectBinding(target, project, appName);

    ElementStateListener elementStateListener = mock(ElementStateListener.class);
    target.addElementStateListener(elementStateListener);

    project.delete(true, new NullProgressMonitor());

    assertNull(app.getProject(true));
    verify(elementStateListener).stateChanged(same(app));
}

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  .java 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);
}