List of usage examples for org.springframework.ide.eclipse.boot.dash.cloudfoundry CloudFoundryBootDashModel isConnected
public boolean isConnected()
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); }