Skip to content

Commit 7d2c2b0

Browse files
committed
keep commit if more than just filtered message
1 parent e40c2a9 commit 7d2c2b0

File tree

3 files changed

+30
-26
lines changed

3 files changed

+30
-26
lines changed

src/main/java/com/redhat/labs/lodestar/service/ProjectService.java

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,17 @@ public List<Commit> getCommitLog(String projectId) {
184184

185185
LOGGER.debug("total commits for project {} {}", projectId, page.size());
186186

187-
return page.getResults().stream().filter(e -> !commitFilteredEmails.contains(e.getAuthorEmail()))
188-
.filter(e -> !commitFilteredMessages.contains(e.getMessage())).collect(Collectors.toList());
187+
return page.getResults().stream().filter(e -> !commitFilteredEmails.contains(e.getAuthorEmail())).map(e -> {
188+
189+
Optional<String> match = commitFilteredMessages.stream().filter(m -> e.getMessage().startsWith(m))
190+
.findFirst();
191+
if (match.isPresent()) {
192+
String updated = e.getMessage().replaceFirst(match.get(), "").trim();
193+
e.setMessage(updated);
194+
}
195+
return e;
196+
197+
}).filter(e -> !e.getMessage().isBlank()).collect(Collectors.toList());
189198

190199
}
191200

@@ -197,25 +206,26 @@ public Optional<Project> transferProject(Integer projectId, Integer newGroupId)
197206
}
198207

199208
public List<ProjectTreeNode> getProjectTree(String projectId) {
200-
209+
201210
Response response = null;
202211
PagedResults<ProjectTreeNode> page = new PagedResults<>(commitPageSize);
203212

204213
while (page.hasMore()) {
205214
response = gitLabService.getProjectTree(projectId, true);
206-
page.update(response, new GenericType<List<ProjectTreeNode>>() {});
215+
page.update(response, new GenericType<List<ProjectTreeNode>>() {
216+
});
207217
}
208218

209-
if(null != response) {
219+
if (null != response) {
210220
response.close();
211221
}
212222

213223
return page.getResults();
214-
224+
215225
}
216226

217-
public Page getProjectsByGroupPaginated(Integer groupId, boolean includeSubgroups,
218-
Optional<Integer> pageOptional, Optional<Integer> perPageOptional) {
227+
public Page getProjectsByGroupPaginated(Integer groupId, boolean includeSubgroups, Optional<Integer> pageOptional,
228+
Optional<Integer> perPageOptional) {
219229

220230
Page projectPage = new Page();
221231

src/test/java/com/redhat/labs/lodestar/mocks/MockGitLabService.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,8 +348,10 @@ public Response getCommitLog(String projectId, int perPage, int pageNumber) {
348348
}
349349

350350
if("multi/page/filtered".equals(projectId)) {
351-
Commit c = Commit.builder().message("manual_refresh").build();
352-
commitList.add(c);
351+
Commit c1 = Commit.builder().message("manual_refresh").build();
352+
commitList.add(c1);
353+
Commit c2 = Commit.builder().message("manual_refresh some other text").build();
354+
commitList.add(c2);
353355
return Response.ok(commitList).build();
354356
}
355357

src/test/java/com/redhat/labs/lodestar/service/ProjectServiceTest.java

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import javax.inject.Inject;
1212

1313
import org.junit.jupiter.api.Test;
14+
import org.junit.jupiter.params.ParameterizedTest;
15+
import org.junit.jupiter.params.provider.CsvSource;
1416

1517
import com.redhat.labs.lodestar.mocks.MockGitLabService;
1618
import com.redhat.labs.lodestar.models.gitlab.Commit;
@@ -97,25 +99,15 @@ class ProjectServiceTest {
9799
projectService.deleteProject(45);
98100
assertNotNull(projectService);
99101
}
100-
101-
@Test void getCommitsMultiPage() {
102-
List<Commit> commits = projectService.getCommitLog("multi/page/iac");
103-
assertNotNull(commits);
104-
assertEquals(6, commits.size());
105-
106-
}
107102

108-
//Will only get first page since the page size will be larger
109-
@Test void getCommitsMultiPageMissingHeader() {
110-
List<Commit> commits = projectService.getCommitLog("multi/page/missingheader");
111-
assertNotNull(commits);
112-
assertEquals(3, commits.size());
113-
}
103+
@ParameterizedTest
104+
@CsvSource({"multi/page/iac,6", "multi/page/missingheader,3", "multi/page/filtered,4"})
105+
void getCommitLog(String project, Integer expectedCommitSize) {
114106

115-
@Test void getCommitsMessageFilter() {
116-
List<Commit> commits = projectService.getCommitLog("multi/page/filtered");
107+
List<Commit> commits = projectService.getCommitLog(project);
117108
assertNotNull(commits);
118-
assertEquals(3, commits.size());
109+
assertEquals(expectedCommitSize, commits.size());
119110

120111
}
112+
121113
}

0 commit comments

Comments
 (0)