diff options
author | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2015-03-09 15:24:40 +0100 |
---|---|---|
committer | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2015-03-09 15:24:57 +0100 |
commit | fb9f54a03332f1bdf5ffb08906e575f35a860a9c (patch) | |
tree | 3a020dcfa8e2cf3efffe0bdc367124e52b147d47 | |
parent | 1f380e5f3f16ca5ff9b3512149a00dc06602d387 (diff) | |
download | sonarqube-fb9f54a03332f1bdf5ffb08906e575f35a860a9c.tar.gz sonarqube-fb9f54a03332f1bdf5ffb08906e575f35a860a9c.zip |
Apply feedback from code review
3 files changed, 32 insertions, 7 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndex.java b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndex.java index 9bfc9db3f99..361f234fd8f 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndex.java +++ b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndex.java @@ -496,12 +496,9 @@ public class IssueIndex extends BaseIndex { } private void addAssignedToMeFacetIfNeeded(SearchRequestBuilder builder, SearchOptions options, IssueQuery query, Map<String, FilterBuilder> filters, QueryBuilder queryBuilder) { - if (!options.getFacets().contains(IssueFilterParameters.FACET_ASSIGNED_TO_ME)) { - return; - } - String login = UserSession.get().login(); - if (StringUtils.isEmpty(login)) { + + if (!options.getFacets().contains(IssueFilterParameters.FACET_ASSIGNED_TO_ME) || StringUtils.isEmpty(login)) { return; } diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java b/server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java index 01a2832ecf1..35c1574850a 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java @@ -172,8 +172,8 @@ public class SearchAction implements BaseIssuesWsAction { .setDescription("Comma-separated list of SCM accounts") .setExampleValue("torvalds@linux-foundation.org"); action.createParam(IssueFilterParameters.ASSIGNEES) - .setDescription("Comma-separated list of assignee logins. The value '__me__' can be used as a placeholder for the current authenticating user") - .setExampleValue("admin,usera"); + .setDescription("Comma-separated list of assignee logins. The value '__me__' can be used as a placeholder for user who performs the request") + .setExampleValue("admin,usera,__me__"); action.createParam(IssueFilterParameters.ASSIGNED) .setDescription("To retrieve assigned or unassigned issues") .setBooleanPossibleValues(); diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionMediumTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionMediumTest.java index 902b60e0d95..79a5f5c0085 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionMediumTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionMediumTest.java @@ -483,6 +483,34 @@ public class SearchActionMediumTest { } @Test + public void filter_by_assigned_to_me_unauthenticated() throws Exception { + ComponentDto project = insertComponent(ComponentTesting.newProjectDto("ABCD").setKey("MyProject")); + setDefaultProjectPermission(project); + ComponentDto file = insertComponent(ComponentTesting.newFileDto(project, "BCDE").setKey("MyComponent")); + RuleDto rule = newRule(); + IssueDto issue1 = IssueTesting.newDto(rule, file, project) + .setStatus("OPEN") + .setKee("82fd47d4-b650-4037-80bc-7b112bd4eac2") + .setAssignee("john"); + IssueDto issue2 = IssueTesting.newDto(rule, file, project) + .setStatus("OPEN") + .setKee("7b112bd4-b650-4037-80bc-82fd47d4eac2") + .setAssignee("alice"); + IssueDto issue3 = IssueTesting.newDto(rule, file, project) + .setStatus("OPEN") + .setKee("82fd47d4-4037-b650-80bc-7b112bd4eac2"); + db.issueDao().insert(session, issue1, issue2, issue3); + session.commit(); + tester.get(IssueIndexer.class).indexAll(); + + wsTester.newGetRequest(IssuesWs.API_ENDPOINT, SearchAction.SEARCH_ACTION) + .setParam("resolved", "false") + .setParam("assignees", "__me__") + .execute() + .assertJson(this.getClass(), "empty_result.json", false); + } + + @Test public void hide_rules() throws Exception { ComponentDto project = insertComponent(ComponentTesting.newProjectDto("ABCD").setKey("MyProject")); setDefaultProjectPermission(project); |