summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>2015-03-09 15:24:40 +0100
committerJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>2015-03-09 15:24:57 +0100
commitfb9f54a03332f1bdf5ffb08906e575f35a860a9c (patch)
tree3a020dcfa8e2cf3efffe0bdc367124e52b147d47
parent1f380e5f3f16ca5ff9b3512149a00dc06602d387 (diff)
downloadsonarqube-fb9f54a03332f1bdf5ffb08906e575f35a860a9c.tar.gz
sonarqube-fb9f54a03332f1bdf5ffb08906e575f35a860a9c.zip
Apply feedback from code review
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndex.java7
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionMediumTest.java28
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);