Skip to content
This repository has been archived by the owner on Jul 13, 2022. It is now read-only.

Commit

Permalink
Add unit test for invalid CLI install
Browse files Browse the repository at this point in the history
  • Loading branch information
BoykoAlex committed Sep 18, 2017
1 parent 25320ad commit 5c42fd7
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ Require-Bundle: org.eclipse.core.runtime,
org.reactivestreams.reactive-streams;bundle-version="1.0.0",
io.projectreactor.reactor-core;bundle-version="3.0.5",
org.apache.commons.lang,
javax.ws.rs;bundle-version="2.0.1"
javax.ws.rs;bundle-version="2.0.1",
org.eclipse.osgi
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.jface.resource
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.contains;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
Expand Down Expand Up @@ -74,11 +76,14 @@
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestRule;
import org.osgi.framework.Version;
import org.springframework.ide.eclipse.boot.core.IMavenCoordinates;
import org.springframework.ide.eclipse.boot.core.ISpringBootProject;
import org.springframework.ide.eclipse.boot.core.MavenId;
import org.springframework.ide.eclipse.boot.core.SpringBootCore;
import org.springframework.ide.eclipse.boot.core.cli.BootCliCommand;
import org.springframework.ide.eclipse.boot.core.cli.BootInstallManager;
import org.springframework.ide.eclipse.boot.core.cli.install.CloudCliInstall;
import org.springframework.ide.eclipse.boot.core.cli.install.IBootInstall;
import org.springframework.ide.eclipse.boot.dash.cloudfoundry.CloudServiceInstanceDashElement;
import org.springframework.ide.eclipse.boot.dash.model.BootDashElement;
Expand Down Expand Up @@ -276,6 +281,30 @@ private IBootInstall performCustomCliInstall(URL customZipUrl) throws Exception
return customInstall;
}

@Test public void testInvalidCloudCliInstall() throws Exception {
String error = "com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException\n" +
" at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199)\n" +
" at com.google.common.cache.LocalCache.get(LocalCache.java:3932)\n" +
" at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3936)";
model.getViewModel().getToggleFilters().getSelectedFilters().remove(ToggleFiltersModel.FILTER_CHOICE_HIDE_LOCAL_SERVICES);

BootCliCommand mockCommand = mock(BootCliCommand.class);
doReturn(error).when(mockCommand).getOutput();
doReturn(0).when(mockCommand).execute(CloudCliInstall.LIST_SERVICES_COMMAND);

IBootInstall defaultInstall = spy(context.getBootInstallManager().getDefaultInstall());
CloudCliInstall mockCloudCliInstall = spy(new CloudCliInstall(defaultInstall));
doReturn(new Version("1.5.1")).when(mockCloudCliInstall).getVersion();
doReturn(mockCommand).when(mockCloudCliInstall).createCommand();
doReturn(mockCloudCliInstall).when(defaultInstall).getExtension(CloudCliInstall.class);

assertEquals(0, mockCloudCliInstall.getCloudServices().length);

context.getBootInstallManager().setDefaultInstall(defaultInstall);

assertServiceElements();
}

/**
* Test that newly created spring boot project gets added to the model.
*/
Expand Down

0 comments on commit 5c42fd7

Please sign in to comment.