@Override public boolean verify(Map<String, Object> properties, Collection<DefaultIssue> issues, UserSession userSession) { verifyTypeParameter(properties); return true; }
@Test public void verify_fail_if_type_is_invalid() { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Unknown type : unknown"); action.verify(ImmutableMap.of("type", "unknown"), Lists.newArrayList(), userSession); }
@Test public void support_only_unresolved_issues() { IssueDto issueDto = newIssue().setType(BUG); DefaultIssue issue = issueDto.toDefaultIssue(); setUserWithBrowseAndAdministerIssuePermission(issueDto); assertThat(action.supports(issue.setResolution(null))).isTrue(); assertThat(action.supports(issue.setResolution(Issue.RESOLUTION_FIXED))).isFalse(); }
private void addActions() { actions.add(new org.sonar.server.issue.AssignAction(db.getDbClient(), issueFieldsSetter)); actions.add(new org.sonar.server.issue.SetSeverityAction(issueFieldsSetter, userSession)); actions.add(new org.sonar.server.issue.SetTypeAction(issueFieldsSetter, userSession)); actions.add(new org.sonar.server.issue.TransitionAction(new TransitionService(userSession, issueWorkflow))); actions.add(new org.sonar.server.issue.AddTagsAction(issueFieldsSetter)); actions.add(new org.sonar.server.issue.RemoveTagsAction(issueFieldsSetter)); actions.add(new org.sonar.server.issue.CommentAction(issueFieldsSetter)); }
@Test public void set_type() { IssueDto issueDto = newIssue().setType(BUG); DefaultIssue issue = issueDto.toDefaultIssue(); setUserWithBrowseAndAdministerIssuePermission(issueDto); action.execute(ImmutableMap.of("type", VULNERABILITY.name()), new BulkChangeAction.ActionContext(issue, IssueChangeContext.createUser(NOW, userSession.getUuid()), null)); assertThat(issue.type()).isEqualTo(VULNERABILITY); assertThat(issue.isChanged()).isTrue(); assertThat(issue.updateDate()).isEqualTo(NOW); assertThat(issue.mustSendNotifications()).isFalse(); Map<String, FieldDiffs.Diff> change = issue.currentChange().diffs(); assertThat(change.get("type").newValue()).isEqualTo(VULNERABILITY); assertThat(change.get("type").oldValue()).isEqualTo(BUG); }
public SetTypeAction(IssueFieldsSetter issueUpdater, UserSession userSession) { super(SET_TYPE_KEY); this.issueUpdater = issueUpdater; this.userSession = userSession; super.setConditions(new IsUnResolved(), issue -> isCurrentUserIssueAdmin(issue.projectUuid())); }
@Test public void verify_fail_if_parameter_not_found() { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Missing parameter : 'type'"); action.verify(ImmutableMap.of("unknwown", VULNERABILITY.name()), Lists.newArrayList(), userSession); }
@Test public void support_only_issues_with_issue_admin_permission() { IssueDto authorizedIssueDto = newIssue().setType(BUG); DefaultIssue authorizedIssue = authorizedIssueDto.toDefaultIssue(); setUserWithBrowseAndAdministerIssuePermission(authorizedIssueDto); DefaultIssue unauthorizedIssue = newIssue().setType(BUG).toDefaultIssue(); assertThat(action.supports(authorizedIssue.setResolution(null))).isTrue(); assertThat(action.supports(unauthorizedIssue.setResolution(null))).isFalse(); }
@Override public boolean execute(Map<String, Object> properties, Context context) { String type = verifyTypeParameter(properties); return issueUpdater.setType(context.issue(), RuleType.valueOf(type), context.issueChangeContext()); }
@Override public boolean verify(Map<String, Object> properties, Collection<DefaultIssue> issues, UserSession userSession) { verifyTypeParameter(properties); return true; }
@Override public boolean execute(Map<String, Object> properties, Context context) { String type = verifyTypeParameter(properties); return issueUpdater.setType(context.issue(), RuleType.valueOf(type), context.issueChangeContext()); }