use of org.sonar.api.user.User in project sonarqube by SonarSource.
the class AssignAction method verify.
@Override
public boolean verify(Map<String, Object> properties, Collection<DefaultIssue> issues, UserSession userSession) {
String assignee = assigneeValue(properties);
if (!Strings.isNullOrEmpty(assignee)) {
User user = selectUser(assignee);
if (user == null) {
throw new IllegalArgumentException("Unknown user: " + assignee);
}
properties.put(VERIFIED_ASSIGNEE, user);
} else {
properties.put(VERIFIED_ASSIGNEE, null);
}
return true;
}
use of org.sonar.api.user.User in project sonarqube by SonarSource.
the class EmailNotificationChannel method deliver.
@Override
public void deliver(Notification notification, String username) {
User user = userFinder.findByLogin(username);
if (user == null || StringUtils.isBlank(user.email())) {
LOG.debug("User does not exist or has no email: {}", username);
return;
}
EmailMessage emailMessage = format(notification);
if (emailMessage != null) {
emailMessage.setTo(user.email());
deliver(emailMessage);
}
}
use of org.sonar.api.user.User in project sonarqube by SonarSource.
the class AssignActionTest method should_execute.
@Test
public void should_execute() {
User assignee = new DefaultUser();
Map<String, Object> properties = newHashMap();
properties.put(AssignAction.VERIFIED_ASSIGNEE, assignee);
DefaultIssue issue = mock(DefaultIssue.class);
Action.Context context = mock(Action.Context.class);
when(context.issue()).thenReturn(issue);
action.execute(properties, context);
verify(issueUpdater).assign(eq(issue), eq(assignee), any(IssueChangeContext.class));
}
use of org.sonar.api.user.User in project sonarqube by SonarSource.
the class AssignActionTest method should_verify_assignee_exists.
@Test
public void should_verify_assignee_exists() {
String assignee = "arthur";
Map<String, Object> properties = newHashMap();
properties.put("assignee", assignee);
User user = new DefaultUser().setLogin(assignee);
List<DefaultIssue> issues = newArrayList(new DefaultIssue().setKey("ABC"));
when(userFinder.findByLogin(assignee)).thenReturn(user);
assertThat(action.verify(properties, issues, mock(ThreadLocalUserSession.class))).isTrue();
assertThat(properties.get(AssignAction.VERIFIED_ASSIGNEE)).isEqualTo(user);
}
use of org.sonar.api.user.User in project sonarqube by SonarSource.
the class IssueFieldsSetterTest method change_assignee.
@Test
public void change_assignee() {
User user = new DefaultUser().setLogin("emmerik").setName("Emmerik");
issue.setAssignee("morgan");
boolean updated = updater.assign(issue, user, context);
assertThat(updated).isTrue();
assertThat(issue.assignee()).isEqualTo("emmerik");
assertThat(issue.mustSendNotifications()).isTrue();
FieldDiffs.Diff diff = issue.currentChange().get(ASSIGNEE);
assertThat(diff.oldValue()).isEqualTo(UNUSED);
assertThat(diff.newValue()).isEqualTo("Emmerik");
}
Aggregations