@Test public void commenterWatches() { // given IssueComment comment = new IssueComment(); comment.setAuthor(nonmember); comment.setContents("blah"); issue.comments.add(comment); issue.update(); assertThat(issue.getComments().size()).isEqualTo(1); assertThat(issue.getWatchers().contains(nonmember)).isTrue(); }
@Test public void should_add_comment() throws Exception { HttpRequestFactory requestFactory = new HttpRequestFactory(httpServer.url()); httpServer.stubResponseBody( IOUtils.toString( getClass() .getResourceAsStream( "/org/sonar/wsclient/issue/internal/DefaultIssueClientTest/add_comment_result.json"))); IssueClient client = new DefaultIssueClient(requestFactory); IssueComment comment = client.addComment("ISSUE-1", "this is my comment"); assertThat(httpServer.requestedPath()).isEqualTo("/api/issues/add_comment"); assertThat(httpServer.requestParams()) .includes(entry("issue", "ISSUE-1"), entry("text", "this is my comment")); assertThat(comment).isNotNull(); assertThat(comment.key()).isEqualTo("COMMENT-123"); assertThat(comment.htmlText()).isEqualTo("this is my comment"); assertThat(comment.login()).isEqualTo("admin"); assertThat(comment.createdAt().getDate()).isEqualTo(18); }
private void writeComments(IssueQueryResult queryResult, Issue issue, JsonWriter json) { json.name("comments").beginArray(); for (IssueComment comment : issue.comments()) { String userLogin = comment.userLogin(); json.beginObject() .prop("key", comment.key()) .prop("userName", userLogin != null ? queryResult.user(userLogin).name() : null) .prop("raw", comment.markdownText()) .prop("html", Markdown.convertToHtml(comment.markdownText())) .prop("createdAt", DateUtils.formatDateTime(comment.createdAt())) .prop("fCreatedAge", formatAgeDate(comment.createdAt())) .prop( "updatable", UserSession.get().isLoggedIn() && UserSession.get().login().equals(comment.userLogin())) .endObject(); } json.endArray(); }
private IssueComment createIssueComment(String str) throws ParseException { IssueComment comment = new IssueComment(); comment.createdDate = DateUtils.parseDate(str, "yyyy-MM-dd"); return comment; }