getCommentsForUser vs getComment which one to use and when ?

rkanumola June 6, 2016

As per getComment method comment of   CommentManager we need to use getCommentsForUser for permission checks, but I could not fine any difference. Can any one suggest a test that shows the problem with getComment would be grateful. Thanks in advance.

1 answer

1 accepted

1 vote
Answer accepted
crf
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 6, 2016

This is in reference to the ability to restrict comments:

RestrictedComment.png

 

If you're making a request as a user that has permission to see all of the existing comments, then there would not be any difference.  If you have a project administrator restrict a comment to the Administrators role, then mere Developers should not be able to see it when you are using the method that enforces permission checks.

crf
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 6, 2016

One of our own tests for it goes something like this (edited for brevity):

when(mockProjectRoleManager.isUserInProjectRole(author, adminProjectRole, issueObject.getProjectObject())).thenReturn(false);
final ApplicationUser admin = new MockApplicationUser("Admin");
Comment comment = commentManager.create(issueObject, admin, "comment for admins", null, adminProjectRole.getId(), false);


final List<Comment> comments = commentManager.getCommentsForUser(issueObject, author);
assertEquals("User was NOT in the role so he should not see the comment", 0, comments.size());
rkanumola June 7, 2016

Thanks for the great response Chris Fuller  with sample testcases !!. 

Suggest an answer

Log in or Sign up to answer