Example usage for org.springframework.ide.eclipse.boot.dash.cloudfoundry.client CFClientParams getCredentials

List of usage examples for org.springframework.ide.eclipse.boot.dash.cloudfoundry.client CFClientParams getCredentials

Introduction

In this page you can find the example usage for org.springframework.ide.eclipse.boot.dash.cloudfoundry.client CFClientParams getCredentials.

Prototype

public CFCredentials getCredentials() 

Source Link

Usage

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

@Test
public void testCreateCfTargetAndStorePassword() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();
    {//from   w  ww . j av a 2  s  .co  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   www. j a  va2s. 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 updateTargetPasswordInvalid() throws Exception {
    CFClientParams targetParams = CfTestTargetParams.fromEnv();
    MockCFSpace space = clientFactory.defSpace(targetParams.getOrgName(), targetParams.getSpaceName());
    String appName = "someApp";
    space.defApp(appName);//from  w ww  .ja  v a2  s . co 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 ww  w  .j a v a  2  s . 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   w  w  w .ja v  a 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. ja  va 2s .  c om
    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);
}