Skip to content

Commit

Permalink
Merge pull request #128 from dwasinge/commit-filter
Browse files Browse the repository at this point in the history
Commit Log Should Return Manual Refresh Commits With Scrubbed Commit Message
  • Loading branch information
mcanoy authored Mar 9, 2021
2 parents e40c2a9 + 7d2c2b0 commit fb82946
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 26 deletions.
26 changes: 18 additions & 8 deletions src/main/java/com/redhat/labs/lodestar/service/ProjectService.java
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,17 @@ public List<Commit> getCommitLog(String projectId) {

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

return page.getResults().stream().filter(e -> !commitFilteredEmails.contains(e.getAuthorEmail()))
.filter(e -> !commitFilteredMessages.contains(e.getMessage())).collect(Collectors.toList());
return page.getResults().stream().filter(e -> !commitFilteredEmails.contains(e.getAuthorEmail())).map(e -> {

Optional<String> match = commitFilteredMessages.stream().filter(m -> e.getMessage().startsWith(m))
.findFirst();
if (match.isPresent()) {
String updated = e.getMessage().replaceFirst(match.get(), "").trim();
e.setMessage(updated);
}
return e;

}).filter(e -> !e.getMessage().isBlank()).collect(Collectors.toList());

}

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

public List<ProjectTreeNode> getProjectTree(String projectId) {

Response response = null;
PagedResults<ProjectTreeNode> page = new PagedResults<>(commitPageSize);

while (page.hasMore()) {
response = gitLabService.getProjectTree(projectId, true);
page.update(response, new GenericType<List<ProjectTreeNode>>() {});
page.update(response, new GenericType<List<ProjectTreeNode>>() {
});
}

if(null != response) {
if (null != response) {
response.close();
}

return page.getResults();

}

public Page getProjectsByGroupPaginated(Integer groupId, boolean includeSubgroups,
Optional<Integer> pageOptional, Optional<Integer> perPageOptional) {
public Page getProjectsByGroupPaginated(Integer groupId, boolean includeSubgroups, Optional<Integer> pageOptional,
Optional<Integer> perPageOptional) {

Page projectPage = new Page();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -348,8 +348,10 @@ public Response getCommitLog(String projectId, int perPage, int pageNumber) {
}

if("multi/page/filtered".equals(projectId)) {
Commit c = Commit.builder().message("manual_refresh").build();
commitList.add(c);
Commit c1 = Commit.builder().message("manual_refresh").build();
commitList.add(c1);
Commit c2 = Commit.builder().message("manual_refresh some other text").build();
commitList.add(c2);
return Response.ok(commitList).build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
import javax.inject.Inject;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;

import com.redhat.labs.lodestar.mocks.MockGitLabService;
import com.redhat.labs.lodestar.models.gitlab.Commit;
Expand Down Expand Up @@ -97,25 +99,15 @@ class ProjectServiceTest {
projectService.deleteProject(45);
assertNotNull(projectService);
}

@Test void getCommitsMultiPage() {
List<Commit> commits = projectService.getCommitLog("multi/page/iac");
assertNotNull(commits);
assertEquals(6, commits.size());

}

//Will only get first page since the page size will be larger
@Test void getCommitsMultiPageMissingHeader() {
List<Commit> commits = projectService.getCommitLog("multi/page/missingheader");
assertNotNull(commits);
assertEquals(3, commits.size());
}
@ParameterizedTest
@CsvSource({"multi/page/iac,6", "multi/page/missingheader,3", "multi/page/filtered,4"})
void getCommitLog(String project, Integer expectedCommitSize) {

@Test void getCommitsMessageFilter() {
List<Commit> commits = projectService.getCommitLog("multi/page/filtered");
List<Commit> commits = projectService.getCommitLog(project);
assertNotNull(commits);
assertEquals(3, commits.size());
assertEquals(expectedCommitSize, commits.size());

}

}

0 comments on commit fb82946

Please sign in to comment.