use of sonia.scm.repository.Repository in project scm-review-plugin by scm-manager.
the class EventListenerTest method createPullRequestEvent.
private PullRequestEvent createPullRequestEvent() {
Repository repository = RepositoryTestData.createHeartOfGold();
PullRequest pullRequest = TestData.createPullRequest();
mockChannel(repository, pullRequest);
return new PullRequestEvent(repository, pullRequest, null, HandlerEventType.CREATE);
}
use of sonia.scm.repository.Repository in project scm-review-plugin by scm-manager.
the class EventListenerTest method createCommentEvent.
private CommentEvent createCommentEvent() {
Repository repository = RepositoryTestData.createHeartOfGold();
PullRequest pullRequest = TestData.createPullRequest();
mockChannel(repository, pullRequest);
Comment comment = new Comment();
comment.setId("c42");
return new CommentEvent(repository, pullRequest, null, comment, HandlerEventType.DELETE);
}
use of sonia.scm.repository.Repository in project scm-review-plugin by scm-manager.
the class PullRequestRootResourceTest method init.
@Before
public void init() {
when(repository.getId()).thenReturn(REPOSITORY_ID);
when(repository.getName()).thenReturn(REPOSITORY_NAME);
when(repository.getNamespace()).thenReturn(REPOSITORY_NAMESPACE);
when(repository.getNamespaceAndName()).thenReturn(new NamespaceAndName(REPOSITORY_NAMESPACE, REPOSITORY_NAME));
when(repositoryResolver.resolve(any())).thenReturn(repository);
when(pullRequestService.getRepository(repository.getNamespace(), repository.getName())).thenReturn(repository);
DefaultPullRequestService service = new DefaultPullRequestService(repositoryResolver, branchResolver, storeFactory, eventBus, repositoryServiceFactory);
pullRequestRootResource = new PullRequestRootResource(mapper, service, repositoryServiceFactory, Providers.of(new PullRequestResource(mapper, service, null, null, channelRegistry)));
when(storeFactory.create(null)).thenReturn(store);
when(storeFactory.create(any())).thenReturn(store);
when(store.add(pullRequestStoreCaptor.capture())).thenReturn("1");
when(branchLinkProvider.get(any(NamespaceAndName.class), anyString())).thenReturn("");
dispatcher = new RestDispatcher();
dispatcher.addSingletonResource(pullRequestRootResource);
lenient().when(repositoryServiceFactory.create(any(Repository.class))).thenReturn(repositoryService);
lenient().when(userDisplayManager.get("reviewer")).thenReturn(Optional.of(DisplayUser.from(new User("reviewer", "reviewer", ""))));
}
use of sonia.scm.repository.Repository in project scm-review-plugin by scm-manager.
the class BranchProtectionHook method onEvent.
@Subscribe(async = false)
public void onEvent(PreReceiveRepositoryHookEvent event) {
HookContext context = event.getContext();
Repository repository = event.getRepository();
if (ignoreHook(context, repository)) {
return;
}
if (!service.isEnabled(repository)) {
log.trace("branch protection is disabled.");
return;
}
log.trace("received hook for repository {}", repository.getName());
for (String branch : context.getBranchProvider().getCreatedOrModified()) {
if (service.isBranchProtected(repository, branch)) {
context.getChangesetProvider().getChangesets().forEach(changeset -> {
if (changeset.getBranches().contains(branch) && !changeset.getParents().isEmpty()) {
throw new BranchOnlyWritableByMergeException(repository, branch);
}
});
}
}
for (String branch : context.getBranchProvider().getDeletedOrClosed()) {
if (service.isBranchProtected(repository, branch)) {
throw new BranchOnlyWritableByMergeException(repository, branch);
}
}
}
use of sonia.scm.repository.Repository in project scm-review-plugin by scm-manager.
the class MergeObstacleCheckHook method checkForObstacles.
@Subscribe(async = false)
public void checkForObstacles(PreReceiveRepositoryHookEvent event) {
HookContext context = event.getContext();
Repository repository = event.getRepository();
if (ignoreHook(context, repository)) {
return;
}
List<PullRequest> pullRequests = pullRequestService.getAll(repository.getNamespace(), repository.getName());
new Worker(event).process(pullRequests);
}
Aggregations