use of sonia.scm.user.User in project scm-review-plugin by scm-manager.
the class PullRequestRootResourceTest method shouldGetTheApproveButNoSubscriptionLinkWithoutMail.
@Test
public void shouldGetTheApproveButNoSubscriptionLinkWithoutMail() throws URISyntaxException, IOException {
PullRequest pullRequest = createPullRequest();
when(store.get("1")).thenReturn(pullRequest);
mockLoggedInUser(new User("user1", "User 1", null));
MockHttpRequest request = MockHttpRequest.get("/" + PullRequestRootResource.PULL_REQUESTS_PATH_V2 + "/ns/repo/1");
dispatcher.invoke(request, response);
assertThat(response.getStatus()).isEqualTo(200);
ObjectMapper mapper = new ObjectMapper();
JsonNode jsonNode = mapper.readValue(response.getContentAsString(), JsonNode.class);
assertThat(jsonNode.path("_links").get("approve")).isNotNull();
assertThat(jsonNode.path("_links").get("subscription")).isNull();
}
use of sonia.scm.user.User in project scm-review-plugin by scm-manager.
the class PullRequestRootResourceTest method shouldReturnBranchesNotDifferResultIfSameBranches.
@Test
@SubjectAware(username = "dent")
public void shouldReturnBranchesNotDifferResultIfSameBranches() throws URISyntaxException, IOException {
mockLoggedInUser(new User("dent"));
mockLogCommandForPullRequestCheck(ImmutableList.of(new Changeset()));
MockHttpRequest request = MockHttpRequest.get("/" + PullRequestRootResource.PULL_REQUESTS_PATH_V2 + "/ns/repo/check?source=master&target=master");
dispatcher.invoke(request, response);
assertThat(response.getStatus()).isEqualTo(200);
assertThat(response.getContentAsString()).contains("\"status\":\"BRANCHES_NOT_DIFFER\"");
assertThat(response.getContentAsString()).contains("\"_links\":{\"self\":{\"href\":\"/v2/pull-requests/ns/repo/check?source=master&target=master\"}}");
}
use of sonia.scm.user.User in project scm-review-plugin by scm-manager.
the class PullRequestRootResourceTest method shouldSetPullRequestToStatusRejected.
@Test
public void shouldSetPullRequestToStatusRejected() throws URISyntaxException {
Subject subject = mock(Subject.class, RETURNS_DEEP_STUBS);
shiroRule.setSubject(subject);
User currentUser = new User("currentUser");
when(subject.getPrincipals().oneByType(User.class)).thenReturn(currentUser);
when(store.get("1")).thenReturn(createPullRequest("opened_1", PullRequestStatus.OPEN));
when(branchResolver.resolve(any(), any())).thenReturn(Branch.normalBranch("master", "123"));
MockHttpRequest request = MockHttpRequest.post("/" + PullRequestRootResource.PULL_REQUESTS_PATH_V2 + "/ns/repo/1/reject");
dispatcher.invoke(request, response);
assertThat(response.getStatus()).isEqualTo(HttpServletResponse.SC_NO_CONTENT);
verify(store).update(argThat(pullRequest -> {
assertThat(pullRequest.getStatus()).isEqualTo(REJECTED);
return true;
}));
}
use of sonia.scm.user.User in project scm-review-plugin by scm-manager.
the class MergeServiceTest method shouldCreateCommitMessageForSquashWithFallbackForMissingAuthorFromPullRequest.
@Test
void shouldCreateCommitMessageForSquashWithFallbackForMissingAuthorFromPullRequest() throws IOException {
User user = mockUser("trillian", "Tricia McMillan", "tricia@hitchhiker.com");
when(subject.isPermitted("repository:read:" + REPOSITORY.getId())).thenReturn(true);
when(repositoryService.isSupported(Command.LOG)).thenReturn(true);
PullRequest pullRequest = createPullRequest();
pullRequest.setAuthor("trillian");
when(userDisplayManager.get("trillian")).thenReturn(Optional.of(DisplayUser.from(user)));
when(pullRequestService.get(REPOSITORY.getNamespace(), REPOSITORY.getName(), "1")).thenReturn(pullRequest);
Person author = new Person("Philip", "phil@groundhog.com");
when(userDisplayManager.get("Philip")).thenReturn(Optional.of(DisplayUser.from(new User("Philip", "Philip Groundhog", "phil@groundhog.com"))));
ChangesetPagingResult changesets = new ChangesetPagingResult(3, asList(new Changeset("1", 1L, author, "first commit"), new Changeset("2", 2L, author, "second commit\nwith multiple lines"), new Changeset("3", 3L, author, "third commit")));
when(logCommandBuilder.getChangesets()).thenReturn(changesets);
CommitDefaults commitDefaults = service.createCommitDefaults(REPOSITORY.getNamespaceAndName(), "1", MergeStrategy.SQUASH);
assertThat(commitDefaults.getCommitMessage()).isEqualTo("Squash commits of branch squash:\n" + "\n" + "- first commit\n" + "\n" + "- second commit\n" + "with multiple lines\n" + "\n" + "- third commit\n" + "\n\n" + "Author: Tricia McMillan <tricia@hitchhiker.com>" + "\nCo-authored-by: Philip Groundhog <phil@groundhog.com>");
assertThat(commitDefaults.getCommitAuthor()).usingRecursiveComparison().isEqualTo(DisplayUser.from(new User("trillian", "Tricia McMillan", "tricia@hitchhiker.com")));
}
use of sonia.scm.user.User in project scm-review-plugin by scm-manager.
the class MergeServiceTest method mockUser.
private User mockUser(String name, String displayName, String mail) {
User user = new User(name, displayName, mail);
when(subject.getPrincipals().oneByType(User.class)).thenReturn(user);
return user;
}
Aggregations