Example usage for org.springframework.ide.eclipse.boot.dash.model SecuredCredentialsStore isUnlocked

List of usage examples for org.springframework.ide.eclipse.boot.dash.model SecuredCredentialsStore isUnlocked

Introduction

In this page you can find the example usage for org.springframework.ide.eclipse.boot.dash.model SecuredCredentialsStore isUnlocked.

Prototype

boolean isUnlocked();

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

    {/* ww  w.  j  av a 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).
    }
}