Search in sources :

Example 1 with DoTransitionRequest

use of org.sonarqube.ws.client.issues.DoTransitionRequest in project sonarlint-core by SonarSource.

the class ConnectedDeveloperIssueDownloadTest method prepare.

@BeforeClass
public static void prepare() throws IOException {
    var adminWsClient = newAdminWsClient(ORCHESTRATOR);
    adminWsClient.users().create(new CreateRequest().setLogin(SONARLINT_USER).setPassword(SONARLINT_PWD).setName("SonarLint"));
    sonarUserHome = temp.newFolder().toPath();
    engine = new ConnectedSonarLintEngineImpl(ConnectedGlobalConfiguration.builder().setConnectionId("orchestrator").setSonarLintUserHome(sonarUserHome).setExtraProperties(new HashMap<>()).build());
    engine.update(endpointParams(ORCHESTRATOR), sqHttpClient(), null);
    ORCHESTRATOR.getServer().provisionProject(PROJECT_KEY, "Sample Xoo");
    ORCHESTRATOR.getServer().associateProjectToQualityProfile(PROJECT_KEY, "xoo", "SonarLint IT Xoo");
    engine.updateProject(endpointParams(ORCHESTRATOR), sqHttpClient(), PROJECT_KEY, false, LONG_BRANCH, null);
    // main branch
    analyzeProject("sample-xoo-v1");
    // short living branch
    analyzeProject("sample-xoo-v1", "sonar.branch.name", SHORT_BRANCH);
    // long living branch
    analyzeProject("sample-xoo-v1", "sonar.branch.name", LONG_BRANCH);
    // Second analysis with less issues to have closed issues on the branch
    analyzeProject("sample-xoo-v2", "sonar.branch.name", LONG_BRANCH);
    // Mark a few issues as closed WF and closed FP on the branch
    var issueSearchResponse = adminWsClient.issues().search(new SearchRequest().setStatuses(asList("OPEN")).setTypes(asList("CODE_SMELL")).setComponentKeys(asList(PROJECT_KEY)).setBranch(LONG_BRANCH));
    wfIssue = issueSearchResponse.getIssues(0);
    fpIssue = issueSearchResponse.getIssues(1);
    // Change severity and type
    overridenSeverityIssue = issueSearchResponse.getIssues(2);
    overridenTypeIssue = issueSearchResponse.getIssues(3);
    adminWsClient.issues().doTransition(new DoTransitionRequest().setIssue(wfIssue.getKey()).setTransition("wontfix"));
    adminWsClient.issues().doTransition(new DoTransitionRequest().setIssue(fpIssue.getKey()).setTransition("falsepositive"));
    adminWsClient.issues().setSeverity(new SetSeverityRequest().setIssue(overridenSeverityIssue.getKey()).setSeverity("BLOCKER"));
    adminWsClient.issues().setType(new SetTypeRequest().setIssue(overridenTypeIssue.getKey()).setType("BUG"));
    // Ensure an hostpot has been reported on server side
    if (ORCHESTRATOR.getServer().version().isGreaterThanOrEquals(8, 2)) {
        assertThat(adminWsClient.hotspots().search(new org.sonarqube.ws.client.hotspots.SearchRequest().setProjectKey(PROJECT_KEY).setBranch(LONG_BRANCH)).getHotspotsList()).isNotEmpty();
    } else {
        assertThat(adminWsClient.issues().search(new SearchRequest().setTypes(asList("SECURITY_HOTSPOT")).setComponentKeys(asList(PROJECT_KEY))).getIssuesList()).isNotEmpty();
    }
}
Also used : SearchRequest(org.sonarqube.ws.client.issues.SearchRequest) HashMap(java.util.HashMap) CreateRequest(org.sonarqube.ws.client.users.CreateRequest) SetSeverityRequest(org.sonarqube.ws.client.issues.SetSeverityRequest) ConnectedSonarLintEngineImpl(org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl) SetTypeRequest(org.sonarqube.ws.client.issues.SetTypeRequest) DoTransitionRequest(org.sonarqube.ws.client.issues.DoTransitionRequest) BeforeClass(org.junit.BeforeClass)

Example 2 with DoTransitionRequest

use of org.sonarqube.ws.client.issues.DoTransitionRequest in project sonarlint-core by SonarSource.

the class ConnectedCommunityIssueDownloadTest method prepare.

@BeforeClass
public static void prepare() {
    var adminWsClient = newAdminWsClient(ORCHESTRATOR);
    adminWsClient.users().create(new CreateRequest().setLogin(SONARLINT_USER).setPassword(SONARLINT_PWD).setName("SonarLint"));
    ORCHESTRATOR.getServer().provisionProject(PROJECT_KEY, "Sample Xoo");
    ORCHESTRATOR.getServer().associateProjectToQualityProfile(PROJECT_KEY, "xoo", "SonarLint IT Xoo");
    analyzeProject("sample-xoo-v1");
    // Second analysis with less issues to have closed issues
    analyzeProject("sample-xoo-v2");
    // Mark a few issues as closed WF and closed FP
    var issueSearchResponse = adminWsClient.issues().search(new SearchRequest().setStatuses(asList("OPEN")).setTypes(asList("CODE_SMELL")).setComponentKeys(asList(PROJECT_KEY)));
    wfIssue = issueSearchResponse.getIssues(0);
    fpIssue = issueSearchResponse.getIssues(1);
    // Change severity and type
    overridenSeverityIssue = issueSearchResponse.getIssues(2);
    overridenTypeIssue = issueSearchResponse.getIssues(3);
    adminWsClient.issues().doTransition(new DoTransitionRequest().setIssue(wfIssue.getKey()).setTransition("wontfix"));
    adminWsClient.issues().doTransition(new DoTransitionRequest().setIssue(fpIssue.getKey()).setTransition("falsepositive"));
    adminWsClient.issues().setSeverity(new SetSeverityRequest().setIssue(overridenSeverityIssue.getKey()).setSeverity("BLOCKER"));
    adminWsClient.issues().setType(new SetTypeRequest().setIssue(overridenTypeIssue.getKey()).setType("BUG"));
    // Ensure an hostpot has been reported on server side
    if (ORCHESTRATOR.getServer().version().isGreaterThanOrEquals(8, 2)) {
        assertThat(adminWsClient.hotspots().search(new org.sonarqube.ws.client.hotspots.SearchRequest().setProjectKey(PROJECT_KEY)).getHotspotsList()).isNotEmpty();
    } else {
        assertThat(adminWsClient.issues().search(new SearchRequest().setTypes(asList("SECURITY_HOTSPOT")).setComponentKeys(asList(PROJECT_KEY))).getIssuesList()).isNotEmpty();
    }
}
Also used : SearchRequest(org.sonarqube.ws.client.issues.SearchRequest) CreateRequest(org.sonarqube.ws.client.users.CreateRequest) SetSeverityRequest(org.sonarqube.ws.client.issues.SetSeverityRequest) SetTypeRequest(org.sonarqube.ws.client.issues.SetTypeRequest) DoTransitionRequest(org.sonarqube.ws.client.issues.DoTransitionRequest) BeforeClass(org.junit.BeforeClass)

Aggregations

BeforeClass (org.junit.BeforeClass)2 DoTransitionRequest (org.sonarqube.ws.client.issues.DoTransitionRequest)2 SearchRequest (org.sonarqube.ws.client.issues.SearchRequest)2 SetSeverityRequest (org.sonarqube.ws.client.issues.SetSeverityRequest)2 SetTypeRequest (org.sonarqube.ws.client.issues.SetTypeRequest)2 CreateRequest (org.sonarqube.ws.client.users.CreateRequest)2 HashMap (java.util.HashMap)1 ConnectedSonarLintEngineImpl (org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl)1