private String buildHiddenBranchName(PullRequest pullRequest) { return String.format("PR-%s-%s/%s-%s", pullRequest.getId(), pullRequest.getSourceRepository(), pullRequest.getSourceBranch(), pullRequest.getTargetBranch()); }
private String buildHiddenBranchName(PullRequest pullRequest) { return String.format("PR-%s-%s/%s-%s", pullRequest.getId(), pullRequest.getSourceRepository(), pullRequest.getSourceBranch(), pullRequest.getTargetBranch()); }
public List<PullRequest> getPullRequestsByBranch(Integer page, Integer pageSize, final String repository, final String branch) { GitMetadata metadata = getRepositoryMetadata(repository); List<PullRequest> pullRequests = metadata.getPullRequests(elem -> elem.getTargetBranch().equals(branch)); return this.paginate(page, pageSize, pullRequests); }
@Override public List<PullRequest> getPullRequestsByBranch(Integer page, Integer pageSize, final String repository, final String branch) { GitMetadata metadata = getRepositoryMetadata(repository); List<PullRequest> pullRequests = metadata.getPullRequests(elem -> elem.getTargetBranch().equals(branch)); return this.paginate(page, pageSize, pullRequests); }
private void mergePullRequest(final PullRequest pullRequest) { final Path source = this.buildHiddenPath(pullRequest); final Path target = this.buildPath(pullRequest.getTargetRepository(), pullRequest.getTargetBranch()); ioService.copy(source, target, new MergeCopyOption()); if (logger.isDebugEnabled()) { logger.debug("Merged from <{}> to <{}>", source.toString(), target.toString()); } }
private void mergePullRequest(final PullRequest pullRequest) { final Path source = this.buildHiddenPath(pullRequest); final Path target = this.buildPath(pullRequest.getTargetRepository(), pullRequest.getTargetBranch()); ioService.copy(source, target, new MergeCopyOption()); if (logger.isDebugEnabled()) { logger.debug("Merged from <{}> to <{}>", source.toString(), target.toString()); } }
@Override public boolean exists(final PullRequest pullRequest) { return this.getPullRequests().stream().anyMatch( pr -> { return pr.getSourceBranch().equals(pullRequest.getSourceBranch()) && pr.getSourceRepository().equals(pullRequest.getSourceRepository()) && pr.getTargetBranch().equals(pullRequest.getTargetBranch()) && pr.getTargetRepository().equals(pullRequest.getTargetRepository()) && pr.getStatus().equals(pullRequest.getStatus()); }); } }
@Override public PullRequest getPullRequest(long id) { final List<PullRequest> prs = this.getPullRequests(elem -> elem.getId() == id); if (prs.size() == 0) { throw new NoSuchElementException("The Pull Request with ID #" + id + " not found"); } final PullRequest pr = prs.get(0); return new PullRequestImpl(pr.getId(), pr.getSourceSpace(), pr.getSourceRepository(), pr.getSourceBranch(), pr.getTargetSpace(), pr.getTargetRepository(), pr.getTargetBranch(), pr.getStatus()); }
@Override public List<FileDiff> diff(final PullRequest pullRequest) { final Repository repository = configuredRepositories.getRepositoryByRepositoryAlias(pullRequest.getTargetRepository()); this.createHiddenBranch(pullRequest); String diff = String.format("diff:%s,%s", pullRequest.getTargetBranch(), this.buildHiddenBranchName(pullRequest)); final List<FileDiff> diffs = (List<FileDiff>) this.ioService.readAttributes(convert(repository.getRoot()), diff); this.deleteHiddenBranch(pullRequest); return diffs; }
@Override public List<FileDiff> diff(final PullRequest pullRequest) { final Repository repository = repositoryService.getRepositoryFromSpace(spaces.getSpace(pullRequest.getTargetSpace()), pullRequest.getTargetRepository()); this.createHiddenBranch(pullRequest); String diff = String.format("diff:%s,%s", pullRequest.getTargetBranch(), this.buildHiddenBranchName(pullRequest)); final List<FileDiff> diffs = (List<FileDiff>) this.ioService.readAttributes(convert(repository.getBranch(pullRequest.getSourceBranch()).get().getPath()), diff); this.deleteHiddenBranch(pullRequest); return diffs; }
@Test public void testCreatePullRequest() { PullRequest pullRequest = service.createPullRequest("child/a", "develop", "parent/a", "master"); List<PullRequest> pullRequests = service.getPullRequestsByBranch(0, 0, pullRequest.getTargetRepository(), pullRequest.getTargetBranch()); assertEquals(1, pullRequests.size()); assertEquals(PullRequestStatus.OPEN, pullRequests.get(0).getStatus()); }
@Test public void testDeletePullRequest() { PullRequest pullRequest = service.createPullRequest("child/a", "develop", "parent/a", "master"); service.deletePullRequest(pullRequest); List<PullRequest> pullRequests = service.getPullRequestsByBranch(0, 0, pullRequest.getTargetRepository(), pullRequest.getTargetBranch()); assertEquals(0, pullRequests.size()); }
@Test public void testDeletePullRequest() { PullRequest pullRequest = service.createPullRequest("test-realm", "child/a", "develop", "test-realm", "parent/a", "master"); service.deletePullRequest(pullRequest); List<PullRequest> pullRequests = service.getPullRequestsByBranch(0, 0, pullRequest.getTargetRepository(), pullRequest.getTargetBranch()); assertEquals(0, pullRequests.size()); }
@Test public void testDeletePullRequest() { PullRequest pullRequest = service.createPullRequest("test-realm", "child/a", "develop", "test-realm", "parent/a", "master"); service.deletePullRequest(pullRequest); List<PullRequest> pullRequests = service.getPullRequestsByBranch(0, 0, pullRequest.getTargetRepository(), pullRequest.getTargetBranch()); assertEquals(0, pullRequests.size()); }
@Test public void testRejectPullRequest() { PullRequest pullRequest = service.createPullRequest("child/a", "develop", "parent/a", "master"); service.rejectPullRequest(pullRequest); List<PullRequest> pullRequests = service.getPullRequestsByBranch(0, 0, pullRequest.getTargetRepository(), pullRequest.getTargetBranch()); assertEquals(PullRequestStatus.REJECTED, pullRequests.get(0).getStatus()); }
@Test public void testClosePullRequest() { PullRequest pullRequest = service.createPullRequest("child/a", "develop", "parent/a", "master"); service.closePullRequest(pullRequest); List<PullRequest> pullRequests = service.getPullRequestsByBranch(0, 0, pullRequest.getTargetRepository(), pullRequest.getTargetBranch()); assertEquals(PullRequestStatus.CLOSED, pullRequests.get(0).getStatus()); }
@Test public void testClosePullRequest() { PullRequest pullRequest = service.createPullRequest("test-realm", "child/a", "develop", "test-realm", "parent/a", "master"); service.closePullRequest(pullRequest); List<PullRequest> pullRequests = service.getPullRequestsByBranch(0, 0, pullRequest.getTargetRepository(), pullRequest.getTargetBranch()); assertEquals(PullRequestStatus.CLOSED, pullRequests.get(0).getStatus()); }
@Test public void testRejectPullRequest() { PullRequest pullRequest = service.createPullRequest("test-realm", "child/a", "develop", "test-realm", "parent/a", "master"); service.rejectPullRequest(pullRequest); List<PullRequest> pullRequests = service.getPullRequestsByBranch(0, 0, pullRequest.getTargetRepository(), pullRequest.getTargetBranch()); assertEquals(PullRequestStatus.REJECTED, pullRequests.get(0).getStatus()); }
@Test public void testChangeStatusToMergedPullRequest() { PullRequest pullRequest = service.createPullRequest("child/a", "develop", "parent/a", "master"); ((PullRequestServiceImpl) service).changePullRequestStatus(pullRequest.getTargetRepository(), pullRequest.getId(), PullRequestStatus.MERGED); List<PullRequest> pullRequests = service.getPullRequestsByBranch(0, 0, pullRequest.getTargetRepository(), pullRequest.getTargetBranch()); assertEquals(PullRequestStatus.MERGED, pullRequests.get(0).getStatus()); }
@Test public void testChangeStatusToClosedPullRequest() { PullRequest pullRequest = service.createPullRequest("child/a", "develop", "parent/a", "master"); ((PullRequestServiceImpl) service).changePullRequestStatus(pullRequest.getTargetRepository(), pullRequest.getId(), PullRequestStatus.CLOSED); List<PullRequest> pullRequests = service.getPullRequestsByBranch(0, 0, pullRequest.getTargetRepository(), pullRequest.getTargetBranch()); assertEquals(PullRequestStatus.CLOSED, pullRequests.get(0).getStatus()); }