orchestrator.executeBuild(build); | orchestrator.executeBuild(build); | ||||
} | } | ||||
@Test | |||||
public void should_skip_analysis() { | |||||
SonarScanner build = newScanner(new File("projects/java-sample")) | |||||
.setProperty("sonar.host.url", "http://foo") | |||||
.setEnvironmentVariable("SONARQUBE_SCANNER_PARAMS", "{ \"sonar.scanner.skip\":\"true\" }"); | |||||
BuildResult result = orchestrator.executeBuild(build); | |||||
assertThat(result.getLogs()).contains("SonarQube Scanner analysis skipped"); | |||||
} | |||||
@Test | @Test | ||||
public void should_fail_if_unable_to_connect() { | public void should_fail_if_unable_to_connect() { | ||||
SonarScanner build = newScanner(new File("projects/java-sample")) | SonarScanner build = newScanner(new File("projects/java-sample")) |
<dependency> | <dependency> | ||||
<groupId>org.sonarsource.scanner.api</groupId> | <groupId>org.sonarsource.scanner.api</groupId> | ||||
<artifactId>sonar-scanner-api</artifactId> | <artifactId>sonar-scanner-api</artifactId> | ||||
<version>2.7</version> | |||||
<version>2.8-build684</version> | |||||
</dependency> | </dependency> | ||||
<dependency> | <dependency> | ||||
<groupId>com.google.code.findbugs</groupId> | <groupId>com.google.code.findbugs</groupId> |
import java.io.IOException; | import java.io.IOException; | ||||
import java.util.Properties; | import java.util.Properties; | ||||
import org.sonarsource.scanner.api.EmbeddedScanner; | import org.sonarsource.scanner.api.EmbeddedScanner; | ||||
import org.sonarsource.scanner.api.ScanProperties; | |||||
/** | /** | ||||
* Arguments : | * Arguments : | ||||
try { | try { | ||||
Properties p = conf.properties(); | Properties p = conf.properties(); | ||||
checkSkip(p); | |||||
configureLogging(p); | configureLogging(p); | ||||
init(p); | init(p); | ||||
runner.start(); | runner.start(); | ||||
runner.stop(); | runner.stop(); | ||||
exit.exit(Exit.SUCCESS); | exit.exit(Exit.SUCCESS); | ||||
} | } | ||||
private void checkSkip(Properties properties) { | |||||
if ("true".equalsIgnoreCase(properties.getProperty(ScanProperties.SKIP))) { | |||||
logger.info("SonarQube Scanner analysis skipped"); | |||||
exit.exit(Exit.SUCCESS); | |||||
} | |||||
} | |||||
private void init(Properties p) throws IOException { | private void init(Properties p) throws IOException { | ||||
SystemInfo.print(logger); | SystemInfo.print(logger); |
import org.mockito.Mockito; | import org.mockito.Mockito; | ||||
import org.mockito.MockitoAnnotations; | import org.mockito.MockitoAnnotations; | ||||
import org.sonarsource.scanner.api.EmbeddedScanner; | import org.sonarsource.scanner.api.EmbeddedScanner; | ||||
import org.sonarsource.scanner.api.ScanProperties; | |||||
import static org.fest.assertions.Assertions.assertThat; | import static org.fest.assertions.Assertions.assertThat; | ||||
import static org.mockito.Matchers.any; | import static org.mockito.Matchers.any; | ||||
inOrder.verify(runnerFactory, times(1)).create(p); | inOrder.verify(runnerFactory, times(1)).create(p); | ||||
inOrder.verify(exit, times(1)).exit(Exit.SUCCESS); | inOrder.verify(exit, times(1)).exit(Exit.SUCCESS); | ||||
} | } | ||||
@Test | |||||
public void should_skip() throws IOException { | |||||
Properties p = new Properties(); | |||||
p.setProperty(ScanProperties.SKIP, "true"); | |||||
when(conf.properties()).thenReturn(p); | |||||
Main main = new Main(exit, cli, conf, runnerFactory, logs); | |||||
main.execute(); | |||||
verify(logs).info("SonarQube Scanner analysis skipped"); | |||||
InOrder inOrder = Mockito.inOrder(exit, runnerFactory); | |||||
inOrder.verify(exit, times(1)).exit(Exit.SUCCESS); | |||||
inOrder.verify(runnerFactory, times(1)).create(p); | |||||
inOrder.verify(exit, times(1)).exit(Exit.SUCCESS); | |||||
} | |||||
@Test | @Test | ||||
public void shouldLogServerVersion() throws IOException { | public void shouldLogServerVersion() throws IOException { |