List of usage examples for org.springframework.ide.eclipse.boot.dash.test.mocks MockCFSpace defApp
public MockCFApplication defApp(String name)
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); }