summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/i18n/I18nRule.java3
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/i18n/package-info.java23
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/permission/PermissionChangeTest.java5
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest.java17
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SearchTemplatesActionTest.java14
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest/search_global_permissions-example.json (renamed from server/sonar-server/src/main/resources/org/sonar/server/permission/ws/search_global_permissions-example.json)0
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest/display_all_project_permissions.json30
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest/empty.json22
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest/search_project_permissions-example.json (renamed from server/sonar-server/src/main/resources/org/sonar/server/permission/ws/search_project_permissions-example.json)0
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/permission/ws/template/SearchTemplatesActionTest/display_all_project_permissions.json29
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/permission/ws/template/SearchTemplatesActionTest/empty.json22
-rw-r--r--server/sonar-server/src/test/resources/org/sonar/server/permission/ws/template/SearchTemplatesActionTest/search_templates-example.json (renamed from server/sonar-server/src/main/resources/org/sonar/server/permission/ws/template/search_templates-example.json)22
-rw-r--r--server/sonar-web/src/main/js/apps/permission-templates/main.js2
-rw-r--r--server/sonar-web/src/main/js/apps/project-permissions/main.js2
15 files changed, 118 insertions, 75 deletions
diff --git a/server/sonar-server/src/test/java/org/sonar/server/i18n/I18nRule.java b/server/sonar-server/src/test/java/org/sonar/server/i18n/I18nRule.java
index d84f5af8070..a47bbf2dac4 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/i18n/I18nRule.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/i18n/I18nRule.java
@@ -47,6 +47,9 @@ public class I18nRule implements I18n {
put("projects_role.user.desc", "Ability to access a project, browse its measures, and create/edit issues for it.");
put("projects_role.codeviewer", "See Source Code");
put("projects_role.codeviewer.desc", "Ability to view the project's source code. (Users will also need \"Browse\" permission)");
+ put("projects_role.scan", "Execute Analysis");
+ put("projects_role.scan.desc",
+ "Ability to execute analyses, and to get all settings required to perform the analysis, even the secured ones like the scm account password, the jira account password, and so on.");
}
@Override
diff --git a/server/sonar-server/src/test/java/org/sonar/server/i18n/package-info.java b/server/sonar-server/src/test/java/org/sonar/server/i18n/package-info.java
new file mode 100644
index 00000000000..7496b24b5d0
--- /dev/null
+++ b/server/sonar-server/src/test/java/org/sonar/server/i18n/package-info.java
@@ -0,0 +1,23 @@
+/*
+ * SonarQube :: Server
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+@ParametersAreNonnullByDefault
+package org.sonar.server.i18n;
+
+import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/PermissionChangeTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/PermissionChangeTest.java
index 74a1d2c2e7f..3f49b085e57 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/permission/PermissionChangeTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/permission/PermissionChangeTest.java
@@ -20,14 +20,13 @@
package org.sonar.server.permission;
import com.google.common.collect.Maps;
+import java.util.Map;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.sonar.core.permission.GlobalPermissions;
import org.sonar.server.exceptions.BadRequestException;
-import java.util.Map;
-
import static org.assertj.core.api.Assertions.assertThat;
public class PermissionChangeTest {
@@ -132,7 +131,7 @@ public class PermissionChangeTest {
PermissionChange query = PermissionChange.buildFromParams(inconsistentParams);
thrown.expect(BadRequestException.class);
- thrown.expectMessage("Invalid component permission key invalid. Valid values are [user, admin, issueadmin, codeviewer]");
+ thrown.expectMessage("Invalid component permission key invalid. Valid values are [user, admin, issueadmin, codeviewer, scan]");
query.validate();
}
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java
index 0bb33521bed..a62135b767b 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest.java
@@ -91,7 +91,7 @@ public class SearchGlobalPermissionsActionTest {
String result = ws.newRequest().execute().getInput();
- assertJson(result).isSimilarTo(getClass().getResource("search_global_permissions-example.json"));
+ assertJson(result).isSimilarTo(getClass().getResource("SearchGlobalPermissionsActionTest/search_global_permissions-example.json"));
}
@Test
diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest.java
index e75dd0f3cba..4418c01f249 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest.java
@@ -135,14 +135,18 @@ public class SearchProjectPermissionsActionTest {
String result = ws.newRequest().execute().getInput();
- assertJson(result).isSimilarTo(getClass().getResource("search_project_permissions-example.json"));
+ assertJson(result)
+ .ignoreFields("permissions")
+ .isSimilarTo(getClass().getResource("SearchProjectPermissionsActionTest/search_project_permissions-example.json"));
}
@Test
public void empty_result() {
String result = ws.newRequest().execute().getInput();
- assertJson(result).isSimilarTo(getClass().getResource("SearchProjectPermissionsActionTest/empty.json"));
+ assertJson(result)
+ .ignoreFields("permissions")
+ .isSimilarTo(getClass().getResource("SearchProjectPermissionsActionTest/empty.json"));
}
@Test
@@ -275,6 +279,15 @@ public class SearchProjectPermissionsActionTest {
ws.newRequest().execute();
}
+ @Test
+ public void display_all_project_permissions() {
+ String result = ws.newRequest().execute().getInput();
+
+ assertJson(result)
+ .ignoreFields("permissions")
+ .isSimilarTo(getClass().getResource("SearchProjectPermissionsActionTest/display_all_project_permissions.json"));
+ }
+
private ComponentDto insertView() {
return insertComponent(newView()
.setUuid("752d8bfd-420c-4a83-a4e5-8ab19b13c8fc")
diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SearchTemplatesActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SearchTemplatesActionTest.java
index 47be8ed0b8a..b457f74a154 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SearchTemplatesActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/template/SearchTemplatesActionTest.java
@@ -136,7 +136,8 @@ public class SearchTemplatesActionTest {
assertJson(result)
.withStrictArrayOrder()
- .isSimilarTo(getClass().getResource("search_templates-example.json"));
+ .ignoreFields("permissions")
+ .isSimilarTo(getClass().getResource("SearchTemplatesActionTest/search_templates-example.json"));
}
@Test
@@ -145,6 +146,7 @@ public class SearchTemplatesActionTest {
assertJson(result)
.withStrictArrayOrder()
+ .ignoreFields("permissions")
.isSimilarTo(getClass().getResource("SearchTemplatesActionTest/empty.json"));
}
@@ -180,6 +182,16 @@ public class SearchTemplatesActionTest {
ws.newRequest().execute();
}
+ @Test
+ public void display_all_project_permissions() {
+ String result = newRequest();
+
+ assertJson(result)
+ .withStrictArrayOrder()
+ .ignoreFields("defaultTemplates", "permissionTemplates")
+ .isSimilarTo(getClass().getResource("SearchTemplatesActionTest/display_all_project_permissions.json"));
+ }
+
private String newRequest() {
return ws.newRequest().execute().getInput();
}
diff --git a/server/sonar-server/src/main/resources/org/sonar/server/permission/ws/search_global_permissions-example.json b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest/search_global_permissions-example.json
index f51c5230f9d..f51c5230f9d 100644
--- a/server/sonar-server/src/main/resources/org/sonar/server/permission/ws/search_global_permissions-example.json
+++ b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchGlobalPermissionsActionTest/search_global_permissions-example.json
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest/display_all_project_permissions.json b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest/display_all_project_permissions.json
new file mode 100644
index 00000000000..5789d2975ed
--- /dev/null
+++ b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest/display_all_project_permissions.json
@@ -0,0 +1,30 @@
+{
+ "projects": [],
+ "permissions": [
+ {
+ "key": "user",
+ "name": "Browse",
+ "description": "Ability to access a project, browse its measures, and create/edit issues for it."
+ },
+ {
+ "key": "admin",
+ "name": "Administer",
+ "description": "Ability to access project settings and perform administration tasks. (Users will also need \"Browse\" permission)"
+ },
+ {
+ "key": "issueadmin",
+ "name": "Administer Issues",
+ "description": "Grants the permission to perform advanced editing on issues: marking an issue False Positive / Won't Fix or changing an Issue's severity. (Users will also need \"Browse\" permission)"
+ },
+ {
+ "key": "codeviewer",
+ "name": "See Source Code",
+ "description": "Ability to view the project's source code. (Users will also need \"Browse\" permission)"
+ }
+ ],
+ "paging": {
+ "pageIndex": 1,
+ "pageSize": 25,
+ "total": 0
+ }
+}
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest/empty.json b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest/empty.json
index 5789d2975ed..acd810938d2 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest/empty.json
+++ b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest/empty.json
@@ -1,27 +1,5 @@
{
"projects": [],
- "permissions": [
- {
- "key": "user",
- "name": "Browse",
- "description": "Ability to access a project, browse its measures, and create/edit issues for it."
- },
- {
- "key": "admin",
- "name": "Administer",
- "description": "Ability to access project settings and perform administration tasks. (Users will also need \"Browse\" permission)"
- },
- {
- "key": "issueadmin",
- "name": "Administer Issues",
- "description": "Grants the permission to perform advanced editing on issues: marking an issue False Positive / Won't Fix or changing an Issue's severity. (Users will also need \"Browse\" permission)"
- },
- {
- "key": "codeviewer",
- "name": "See Source Code",
- "description": "Ability to view the project's source code. (Users will also need \"Browse\" permission)"
- }
- ],
"paging": {
"pageIndex": 1,
"pageSize": 25,
diff --git a/server/sonar-server/src/main/resources/org/sonar/server/permission/ws/search_project_permissions-example.json b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest/search_project_permissions-example.json
index 43480d67f96..43480d67f96 100644
--- a/server/sonar-server/src/main/resources/org/sonar/server/permission/ws/search_project_permissions-example.json
+++ b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/SearchProjectPermissionsActionTest/search_project_permissions-example.json
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/template/SearchTemplatesActionTest/display_all_project_permissions.json b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/template/SearchTemplatesActionTest/display_all_project_permissions.json
new file mode 100644
index 00000000000..c6ae975a7a2
--- /dev/null
+++ b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/template/SearchTemplatesActionTest/display_all_project_permissions.json
@@ -0,0 +1,29 @@
+{
+ "permissions": [
+ {
+ "key": "user",
+ "name": "Browse",
+ "description": "Ability to access a project, browse its measures, and create/edit issues for it."
+ },
+ {
+ "key": "admin",
+ "name": "Administer",
+ "description": "Ability to access project settings and perform administration tasks. (Users will also need \"Browse\" permission)"
+ },
+ {
+ "key": "issueadmin",
+ "name": "Administer Issues",
+ "description": "Grants the permission to perform advanced editing on issues: marking an issue False Positive / Won't Fix or changing an Issue's severity. (Users will also need \"Browse\" permission)"
+ },
+ {
+ "key": "codeviewer",
+ "name": "See Source Code",
+ "description": "Ability to view the project's source code. (Users will also need \"Browse\" permission)"
+ },
+ {
+ "key": "scan",
+ "name": "Execute Analysis",
+ "description": "Ability to execute analyses, and to get all settings required to perform the analysis, even the secured ones like the scm account password, the jira account password, and so on."
+ }
+ ]
+}
diff --git a/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/template/SearchTemplatesActionTest/empty.json b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/template/SearchTemplatesActionTest/empty.json
index 985f39eaa92..a3041228330 100644
--- a/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/template/SearchTemplatesActionTest/empty.json
+++ b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/template/SearchTemplatesActionTest/empty.json
@@ -13,27 +13,5 @@
"templateId": "AU-TpxcA-iU5OvuD2FL0",
"qualifier": "DEV"
}
- ],
- "permissions": [
- {
- "key": "user",
- "name": "Browse",
- "description": "Ability to access a project, browse its measures, and create/edit issues for it."
- },
- {
- "key": "admin",
- "name": "Administer",
- "description": "Ability to access project settings and perform administration tasks. (Users will also need \"Browse\" permission)"
- },
- {
- "key": "issueadmin",
- "name": "Administer Issues",
- "description": "Grants the permission to perform advanced editing on issues: marking an issue False Positive / Won't Fix or changing an Issue's severity. (Users will also need \"Browse\" permission)"
- },
- {
- "key": "codeviewer",
- "name": "See Source Code",
- "description": "Ability to view the project's source code. (Users will also need \"Browse\" permission)"
- }
]
}
diff --git a/server/sonar-server/src/main/resources/org/sonar/server/permission/ws/template/search_templates-example.json b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/template/SearchTemplatesActionTest/search_templates-example.json
index 523c5ebf1d3..75d69f5b497 100644
--- a/server/sonar-server/src/main/resources/org/sonar/server/permission/ws/template/search_templates-example.json
+++ b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/template/SearchTemplatesActionTest/search_templates-example.json
@@ -72,27 +72,5 @@
"templateId": "AU-TpxcA-iU5OvuD2FL0",
"qualifier": "DEV"
}
- ],
- "permissions": [
- {
- "key": "user",
- "name": "Browse",
- "description": "Ability to access a project, browse its measures, and create/edit issues for it."
- },
- {
- "key": "admin",
- "name": "Administer",
- "description": "Ability to access project settings and perform administration tasks. (Users will also need \"Browse\" permission)"
- },
- {
- "key": "issueadmin",
- "name": "Administer Issues",
- "description": "Grants the permission to perform advanced editing on issues: marking an issue False Positive / Won\u0027t Fix or changing an Issue\u0027s severity. (Users will also need \"Browse\" permission)"
- },
- {
- "key": "codeviewer",
- "name": "See Source Code",
- "description": "Ability to view the project\u0027s source code. (Users will also need \"Browse\" permission)"
- }
]
}
diff --git a/server/sonar-web/src/main/js/apps/permission-templates/main.js b/server/sonar-web/src/main/js/apps/permission-templates/main.js
index 122c573dc54..178b99425ed 100644
--- a/server/sonar-web/src/main/js/apps/permission-templates/main.js
+++ b/server/sonar-web/src/main/js/apps/permission-templates/main.js
@@ -23,7 +23,7 @@ import Header from './header';
import PermissionTemplates from './permission-templates';
import { getPermissionTemplates } from '../../api/permissions';
-const PERMISSIONS_ORDER = ['user', 'codeviewer', 'issueadmin', 'admin'];
+const PERMISSIONS_ORDER = ['user', 'codeviewer', 'issueadmin', 'admin', 'scan'];
export default React.createClass({
propTypes: {
diff --git a/server/sonar-web/src/main/js/apps/project-permissions/main.js b/server/sonar-web/src/main/js/apps/project-permissions/main.js
index 7028384ff6a..a3fcacfa7e0 100644
--- a/server/sonar-web/src/main/js/apps/project-permissions/main.js
+++ b/server/sonar-web/src/main/js/apps/project-permissions/main.js
@@ -28,7 +28,7 @@ import ApplyTemplateView from './apply-template-view';
import { translate } from '../../helpers/l10n';
-const PERMISSIONS_ORDER = ['user', 'codeviewer', 'issueadmin', 'admin'];
+const PERMISSIONS_ORDER = ['user', 'codeviewer', 'issueadmin', 'admin', 'scan'];
export default React.createClass({