use of com.sonar.orchestrator.build.BuildResult in project sonarqube by SonarSource.
the class IssuesModeTest method no_issues_mode_cache_by_default.
// SONAR-4602
@Test
public void no_issues_mode_cache_by_default() throws Exception {
File homeDir = runFirstAnalysisAndFlagIssueAsWontFix();
// Second issues mode using same cache dir but cache disabled by default
SonarScanner runner = configureRunnerIssues("shared/xoo-sample", homeDir);
BuildResult result = orchestrator.executeBuild(runner);
// False positive is not returned
assertThat(ItUtils.countIssuesInJsonReport(result, false)).isEqualTo(16);
}
use of com.sonar.orchestrator.build.BuildResult in project sonarqube by SonarSource.
the class IssuesModeTest method test_issues_mode_on_project_with_space_in_filename.
// SONAR-5715
@Test
public void test_issues_mode_on_project_with_space_in_filename() throws IOException {
restoreProfile("with-many-rules.xml");
orchestrator.getServer().provisionProject("sample", "xoo-sample-with-spaces");
orchestrator.getServer().associateProjectToQualityProfile("sample", "xoo", "with-many-rules");
SonarScanner runner = configureRunner("analysis/xoo-sample-with-spaces/v2");
orchestrator.executeBuild(runner);
assertThat(getComponent(orchestrator, "sample:my sources/main/xoo/sample/My Sample.xoo")).isNotNull();
runner = configureRunnerIssues("analysis/xoo-sample-with-spaces/v2", null);
BuildResult result = orchestrator.executeBuild(runner);
// Analysis is not persisted in database
assertThat(getComponent(orchestrator, "com.sonarsource.it.samples:simple-sample")).isNull();
assertThat(result.getLogs()).contains("Issues");
assertThat(result.getLogs()).contains("ANALYSIS SUCCESSFUL");
}
use of com.sonar.orchestrator.build.BuildResult in project sonarqube by SonarSource.
the class IssuesModeTest method invalid_incremental_mode.
@Test
public void invalid_incremental_mode() throws IOException {
restoreProfile("one-issue-per-line.xml");
orchestrator.getServer().provisionProject("sample", "xoo-sample");
orchestrator.getServer().associateProjectToQualityProfile("sample", "xoo", "one-issue-per-line");
SonarScanner runner = configureRunner("shared/xoo-sample");
runner.setProperty("sonar.analysis.mode", "incremental");
thrown.expect(BuildFailureException.class);
BuildResult res = orchestrator.executeBuild(runner);
assertThat(res.getLogs()).contains("Invalid analysis mode: incremental. This mode was removed in SonarQube 5.2");
}
use of com.sonar.orchestrator.build.BuildResult in project sonarqube by SonarSource.
the class IssuesModeTest method project_key_with_slash.
@Test
public void project_key_with_slash() throws IOException {
restoreProfile("one-issue-per-line.xml");
setDefaultQualityProfile("xoo", "one-issue-per-line");
SonarScanner runner = configureRunner("shared/xoo-sample");
runner.setProjectKey("sample/project");
runner.setProperty("sonar.analysis.mode", "issues");
BuildResult result = orchestrator.executeBuild(runner);
assertThat(ItUtils.countIssuesInJsonReport(result, true)).isEqualTo(17);
}
use of com.sonar.orchestrator.build.BuildResult in project sonarqube by SonarSource.
the class IssuesModeTest method load_user_name_in_json_report.
// SONAR-6522
@Test
public void load_user_name_in_json_report() throws Exception {
restoreProfile("one-issue-per-line.xml");
orchestrator.getServer().provisionProject("sample", "xoo-sample");
orchestrator.getServer().associateProjectToQualityProfile("sample", "xoo", "one-issue-per-line");
// First run (publish mode)
SonarScanner runner = configureRunner("shared/xoo-sample");
orchestrator.executeBuild(runner);
SonarClient client = orchestrator.getServer().adminWsClient();
Issues issues = client.issueClient().find(IssueQuery.create());
Issue issue = issues.list().get(0);
UserParameters creationParameters = UserParameters.create().login("julien").name("Julien H").password("password").passwordConfirmation("password");
client.userClient().create(creationParameters);
// Assign issue
client.issueClient().assign(issue.key(), "julien");
// Issues
runner = configureRunnerIssues("shared/xoo-sample", null, "sonar.login", "julien", "sonar.password", "password");
BuildResult result = orchestrator.executeBuild(runner);
JSONObject obj = ItUtils.getJSONReport(result);
Map<String, String> userNameByLogin = Maps.newHashMap();
final JSONArray users = (JSONArray) obj.get("users");
if (users != null) {
for (Object user : users) {
String login = ObjectUtils.toString(((JSONObject) user).get("login"));
String name = ObjectUtils.toString(((JSONObject) user).get("name"));
userNameByLogin.put(login, name);
}
}
assertThat(userNameByLogin.get("julien")).isEqualTo("Julien H");
for (Object issueJson : (JSONArray) obj.get("issues")) {
JSONObject jsonObject = (JSONObject) issueJson;
if (issue.key().equals(jsonObject.get("key"))) {
assertThat(jsonObject.get("assignee")).isEqualTo("julien");
return;
}
}
fail("Issue not found");
}
Aggregations