Example usage for org.springframework.ide.eclipse.boot.dash.cloudfoundry CloudFoundryBootDashModel isConnected

List of usage examples for org.springframework.ide.eclipse.boot.dash.cloudfoundry CloudFoundryBootDashModel isConnected

Introduction

In this page you can find the example usage for org.springframework.ide.eclipse.boot.dash.cloudfoundry CloudFoundryBootDashModel isConnected.

Prototype

public boolean isConnected() 

Source Link

Usage

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

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

    CloudFoundryBootDashModel target = harness.createCfTarget(targetParams, StoreCredentialsMode.STORE_TOKEN);
    assertNotNull(target);//  w w  w.  j  a v a 2 s.  c o m
    assertTrue(target.isConnected());
    assertNotNull(target.getRunTarget().getTargetProperties().getCredentials().getRefreshToken());
    assertEquals(1, harness.getCfRunTargetModels().size());
}

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

@Test
public void testCreateCfTargetAndStorePassword() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();
    {//w w  w  .  ja v a2 s.c  o  m
        clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());
        CloudFoundryBootDashModel target = harness.createCfTarget(targetParams,
                StoreCredentialsMode.STORE_PASSWORD);

        assertNotNull(target);
        assertNotNull(target.getRunTarget().getTargetProperties().getCredentials().getPassword());
        assertEquals(1, harness.getCfRunTargetModels().size());

        SecuredCredentialsStore store = harness.getCredentialsStore();
        assertTrue(store.isUnlocked());
    }

    harness.reload();
    {
        CloudFoundryBootDashModel target = harness.getCfTargetModel();
        String expectedPass = targetParams.getCredentials().getPassword();

        assertNotNull(target);
        String password = target.getRunTarget().getTargetProperties().getCredentials().getPassword();
        assertEquals(expectedPass, password);
        assertEquals(StoreCredentialsMode.STORE_PASSWORD,
                target.getRunTarget().getTargetProperties().getStoreCredentials());

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

        {
            SecuredCredentialsStore store = harness.getCredentialsStore();
            assertTrue(store.isUnlocked());
            String key = harness.secureStoreKey(target);
            String storedCred = store.getCredentials(key);
            assertEquals(expectedPass, storedCred);
        }

        {
            IPropertyStore store = harness.getPrivateStore();
            String key = harness.privateStoreKey(target);
            String storedCred = store.get(key);
            assertNull(storedCred);
        }
    }
}

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

@Test
public void testCreateCfTargetAndForgetPassword() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();
    clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());

    {//from   ww  w .j  a  v a2 s .c o  m
        CloudFoundryBootDashModel target = harness.createCfTarget(targetParams,
                StoreCredentialsMode.STORE_NOTHING);

        assertNotNull(target);
        assertNotNull(target.getRunTarget().getTargetProperties().getCredentials().getPassword());
        assertEquals(1, harness.getCfRunTargetModels().size());

        SecuredCredentialsStore store = harness.getCredentialsStore();
        assertFalse(store.isUnlocked()); // should not have gotten unlocked.
    }

    harness.reload();

    {
        CloudFoundryBootDashModel target = harness.getCfTargetModel();

        waitForJobsToComplete();

        assertEquals(StoreCredentialsMode.STORE_NOTHING,
                target.getRunTarget().getTargetProperties().getStoreCredentials());
        assertNotNull(target);
        assertNull(target.getRunTarget().getTargetProperties().getCredentials());
        assertFalse(target.isConnected()); // no auto connect if no creds are stored.
        { //check secure store is clean
            SecuredCredentialsStore store = harness.getCredentialsStore();
            assertFalse(store.isUnlocked()); // should not have gotten unlocked.
            String storedCred = store.getCredentials(harness.secureStoreKey(target));
            assertNull(storedCred);
        }
        { //check private store is clean
            IPropertyStore store = harness.getPrivateStore();
            String storedCred = store.get(harness.privateStoreKey(target));
            assertNull(storedCred);
        }

        verifyZeroInteractions(ui);

        //When we connect... the user should get prompted for password
        harness.answerPasswordPrompt(ui, (d) -> {
            d.getPasswordVar().setValue(targetParams.getCredentials().getPassword());
            d.performOk();
        });

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

        ACondition.waitFor("connected to target", 5_000, () -> {
            assertTrue(target.isConnected());
        });

        verify(ui).openPasswordDialog(any());
        verifyNoMoreInteractions(ui);
    }
}

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

@Test
public void testCreateCfTargetAndStoreToken() throws Exception {

    {/*from  w  ww.j  a v  a2s  .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 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());

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

    new ACondition("wait for elements to appear", 3000) {
        @Override/*from  w w  w . j  a  va 2  s. c  o  m*/
        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 disconnectTarget() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();
    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());
    String appName = "someApp";
    space.defApp(appName);//from  w w  w .j ava  2  s . c  o  m
    CloudFoundryBootDashModel model = harness.createCfTarget(targetParams);
    waitForApps(model, appName);
    harness.sectionSelection.setValue(model);
    IAction disconnectAction = actions.getToggleTargetConnectionAction();
    assertTrue(disconnectAction.isEnabled());
    disconnectAction.run();
    waitForApps(model);
    assertFalse(model.isConnected());
    assertEquals(RefreshState.READY, model.getRefreshState());
}

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

@Test
public void updateTargetPasswordInvalid() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();
    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());
    String appName = "someApp";
    space.defApp(appName);/*from w  w  w .j  a  va2s  .c  o  m*/
    CloudFoundryBootDashModel model = harness.createCfTarget(targetParams);

    waitForApps(model, appName);

    harness.sectionSelection.setValue(model);
    IAction updatePassword = actions.getUpdatePasswordAction();
    assertTrue(updatePassword.isEnabled());

    harness.answerPasswordPrompt(ui, (d) -> {
        d.getPasswordVar().setValue(targetParams.getCredentials().getPassword());
        d.performOk();
    });

    updatePassword.run();

    waitForJobsToComplete();

    assertNotNull(model.getApplication(appName));
    assertTrue(model.isConnected());
    assertEquals(RefreshState.READY, model.getRefreshState());

    // Clear out any mocks on the ui object set above
    reset(ui);

    harness.answerPasswordPrompt(ui, (d) -> {
        d.getPasswordVar().setValue("wrong password");
        d.performOk();
    });

    updatePassword.run();

    waitForJobsToComplete();

    assertNull(model.getApplication(appName));
    assertFalse(model.isConnected());
    assertTrue(model.getRefreshState().isError());
}

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

@Test
public void updateTargetPasswordAndStoreNothing() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();
    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());
    String appName = "someApp";
    space.defApp(appName);/*from w  ww  .jav  a  2s  . co  m*/
    CloudFoundryBootDashModel model = harness.createCfTarget(targetParams);
    waitForApps(model, appName);

    harness.sectionSelection.setValue(model);
    IAction updatePassword = actions.getUpdatePasswordAction();
    assertTrue(updatePassword.isEnabled());

    // Clear out any mocks on the ui object
    reset(ui);

    harness.answerPasswordPrompt(ui, (d) -> {
        d.getPasswordVar().setValue(targetParams.getCredentials().getPassword());
        d.getStoreVar().setValue(StoreCredentialsMode.STORE_NOTHING);
        d.performOk();
    });

    updatePassword.run();

    waitForJobsToComplete();

    assertTrue(model.isConnected());
    assertNotNull(model.getApplication(appName));
    assertEquals(RefreshState.READY, model.getRefreshState());

    {
        assertNull(harness.getCredentialsStore().getCredentials(harness.secureStoreKey(model)));
        assertNull(harness.getPrivateStore().get(harness.privateStoreKey(model)));
    }

    actions.getToggleTargetConnectionAction().run();

    waitForJobsToComplete();
    assertFalse(model.isConnected());

    // Clear out any mocks on the ui object to get the right count below
    reset(ui);

    actions.getToggleTargetConnectionAction().run();
    waitForJobsToComplete();

    assertFalse(model.isConnected());
    assertEquals(RefreshState.READY, model.getRefreshState());
    assertNull(model.getApplication(appName));

    verify(ui).openPasswordDialog(any());
    verifyNoMoreInteractions(ui);
}

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

@Test
public void updateTargetPasswordAndStorePassword() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();
    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());
    String appName = "someApp";
    space.defApp(appName);/*from  ww w  .j ava 2  s .c  o m*/
    CloudFoundryBootDashModel model = harness.createCfTarget(targetParams);
    waitForApps(model, appName);

    harness.sectionSelection.setValue(model);
    IAction updatePassword = actions.getUpdatePasswordAction();
    assertTrue(updatePassword.isEnabled());

    // Clear out any mocks on the ui object
    reset(ui);

    harness.answerPasswordPrompt(ui, (d) -> {
        d.getPasswordVar().setValue(targetParams.getCredentials().getPassword());
        d.getStoreVar().setValue(StoreCredentialsMode.STORE_PASSWORD);
        d.performOk();
    });

    updatePassword.run();

    waitForJobsToComplete();

    actions.getToggleTargetConnectionAction().run();

    waitForJobsToComplete();
    assertFalse(model.isConnected());

    // Clear out any mocks on the ui object to get the right count below
    reset(ui);

    actions.getToggleTargetConnectionAction().run();
    waitForJobsToComplete();

    assertTrue(model.isConnected());
    assertEquals(RefreshState.READY, model.getRefreshState());
    assertNotNull(model.getApplication(appName));

    verifyNoMoreInteractions(ui);
}

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

@Test
public void updateTargetPasswordAndStoreToken() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();
    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());
    String appName = "someApp";
    space.defApp(appName);/*w w w  .j ava  2s.c  o m*/
    CloudFoundryBootDashModel model = harness.createCfTarget(targetParams);
    waitForApps(model, appName);

    harness.sectionSelection.setValue(model);
    IAction updatePassword = actions.getUpdatePasswordAction();
    assertTrue(updatePassword.isEnabled());

    // Clear out any mocks on the ui object
    reset(ui);

    harness.answerPasswordPrompt(ui, (d) -> {
        d.getPasswordVar().setValue(targetParams.getCredentials().getPassword());
        d.getStoreVar().setValue(StoreCredentialsMode.STORE_TOKEN);
        d.performOk();
    });

    updatePassword.run();

    waitForJobsToComplete();

    actions.getToggleTargetConnectionAction().run();

    waitForJobsToComplete();
    assertFalse(model.isConnected());

    // Clear out any mocks on the ui object to get the right count below
    reset(ui);

    actions.getToggleTargetConnectionAction().run();
    waitForJobsToComplete();

    assertTrue(model.isConnected());
    CFCredentials creds = model.getRunTarget().getTargetProperties().getCredentials();
    assertEquals(MockCloudFoundryClientFactory.FAKE_REFRESH_TOKEN, creds.getRefreshToken());
    assertNull(creds.getPassword());
    assertEquals(MockCloudFoundryClientFactory.FAKE_REFRESH_TOKEN,
            harness.getPrivateStore().get(harness.privateStoreKey(model)));
    assertNull(harness.getCredentialsStore().getCredentials(harness.secureStoreKey(model)));
    assertEquals(RefreshState.READY, model.getRefreshState());
    assertNotNull(model.getApplication(appName));

    verifyNoMoreInteractions(ui);
}