Skip to content

Commit 23f2d9a

Browse files
authored
Merge pull request #16 from stalb/master
On branch limit analysis to new issues since last leak period
2 parents 681564e + cc8938d commit 23f2d9a

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

src/main/java/com/talanlabs/sonar/plugins/gitlab/GitLabApiV4Wrapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ public String getGitLabUrl(@Nullable String revision, String path, @Nullable Int
283283
@Override
284284
public void createOrUpdateReviewComment(String revision, String fullPath, Integer line, String body) {
285285
try {
286-
if (config.isMergeRequestDiscussionEnabled()) {
286+
if (config.isMergeRequestDiscussionEnabled() && config.mergeRequestIid() != -1) {
287287
createReviewDiscussion(fullPath, line, body);
288288
} else {
289289
gitLabAPIV4.getGitLabAPICommits().postCommitComments(gitLabProject.getId(), revision != null ? revision : getFirstCommitSHA(), body, fullPath, line, "new");

src/main/java/com/talanlabs/sonar/plugins/gitlab/SonarFacade.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,9 @@ private Issues.SearchWsResponse searchIssues(String componentKey, int pullReques
258258
}
259259
else if (isNotBlankAndNotEmpty(branch)) {
260260
searchRequest.setBranch(branch);
261+
if (! gitLabPluginConfiguration.allIssues()) {
262+
searchRequest.setSinceLeakPeriod("true");
263+
}
261264
}
262265
return wsClient.issues().search(searchRequest);
263266
}

src/test/java/com/talanlabs/sonar/plugins/gitlab/GitLabApiV4WrapperTest.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,19 +156,35 @@ public void testReviewComment() throws IOException {
156156
}
157157

158158
@Test
159-
public void testCreateReviewDiscussionMissingIidFail() {
159+
public void testCreateReviewDiscussionMissingIidFallbackCommentOnCommit() throws IOException {
160160
GitLabPluginConfiguration gitLabPluginConfiguration = mock(GitLabPluginConfiguration.class);
161+
when(gitLabPluginConfiguration.commitSHA()).thenReturn(Collections.singletonList("1"));
162+
when(gitLabPluginConfiguration.refName()).thenReturn("master");
161163
when(gitLabPluginConfiguration.mergeRequestIid()).thenReturn(-1);
162164
when(gitLabPluginConfiguration.isMergeRequestDiscussionEnabled()).thenReturn(true);
163165

164166
GitLabApiV4Wrapper facade = new GitLabApiV4Wrapper(gitLabPluginConfiguration);
165167

168+
GitLabAPI gitLabAPI = mock(GitLabAPI.class);
169+
facade.setGitLabAPI(gitLabAPI);
170+
171+
GitLabAPICommits gitLabAPICommits = mock(GitLabAPICommits.class);
172+
when(gitLabAPICommits.postCommitComments("1", "1", "pending", "master", null, null)).thenReturn(null);
173+
174+
when(gitLabAPI.getGitLabAPICommits()).thenReturn(gitLabAPICommits);
175+
166176
GitLabProject gitLabProject = mock(GitLabProject.class);
167177
when(gitLabProject.getId()).thenReturn(1);
168178
facade.setGitLabProject(gitLabProject);
169179

170-
assertThatIllegalArgumentException().isThrownBy(() ->
171-
facade.createOrUpdateReviewComment(null, "src/main/Foo.java", 5, "nothing"));
180+
facade.createOrUpdateReviewComment(null, "src/main/Foo.java", 5, "nothing");
181+
182+
verify(gitLabAPICommits).postCommitComments(1, "1", "nothing", "src/main/Foo.java", 5, "new");
183+
184+
185+
186+
//assertThatIllegalArgumentException().isThrownBy(() ->
187+
// facade.createOrUpdateReviewComment(null, "src/main/Foo.java", 5, "nothing"));
172188
}
173189

174190
@Test

0 commit comments

Comments
 (0)