aboutsummaryrefslogtreecommitdiffstats
path: root/it
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-02-08 17:47:37 +0100
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-02-12 08:41:37 +0100
commit3fadf21d94d40ca3eb1e47843cbd0262f43b0195 (patch)
treec649ccc346c806733f1be513394140f46f3ce6f7 /it
parent45ad6ed9b0212c7e542005cb95518bd3f8d52d6f (diff)
downloadsonarqube-3fadf21d94d40ca3eb1e47843cbd0262f43b0195.tar.gz
sonarqube-3fadf21d94d40ca3eb1e47843cbd0262f43b0195.zip
move in IT SystemAdminPermissionTest from it-core
Diffstat (limited to 'it')
-rw-r--r--it/it-tests/src/test/java/it/permissions/SystemAdminPermissionTest.java120
-rw-r--r--it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-other-measure-filter-owner.html164
-rw-r--r--it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-own-measure-filter-owner.html134
-rw-r--r--it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-global-dashboard-owner-failure.html104
-rw-r--r--it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-global-dashboard-owner.html104
-rw-r--r--it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-project-dashboard-owner-failure.html109
-rw-r--r--it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-project-dashboard-owner.html104
-rw-r--r--it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-system-measure-filter-owner.html89
8 files changed, 928 insertions, 0 deletions
diff --git a/it/it-tests/src/test/java/it/permissions/SystemAdminPermissionTest.java b/it/it-tests/src/test/java/it/permissions/SystemAdminPermissionTest.java
new file mode 100644
index 00000000000..5f04b26d796
--- /dev/null
+++ b/it/it-tests/src/test/java/it/permissions/SystemAdminPermissionTest.java
@@ -0,0 +1,120 @@
+/*
+ * SonarQube
+ * 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.
+ */
+package it.permissions;
+
+import com.sonar.orchestrator.Orchestrator;
+import com.sonar.orchestrator.build.SonarScanner;
+import com.sonar.orchestrator.selenium.Selenese;
+import it.Category4Suite;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.sonarqube.ws.client.PostRequest;
+import org.sonarqube.ws.client.WsClient;
+import util.ItUtils;
+
+public class SystemAdminPermissionTest {
+
+ @ClassRule
+ public static Orchestrator orchestrator = Category4Suite.ORCHESTRATOR;
+
+ @BeforeClass
+ public static void setUpUsers() {
+ orchestrator.resetData();
+
+ WsClient client = ItUtils.newAdminWsClient(orchestrator);
+
+ createUser(client, "can_share", "password");
+ addPermission("can_share", "shareDashboard");
+
+ createUser(client, "cannot_share", "password");
+ }
+
+ @AfterClass
+ public static void reset() {
+ WsClient client = ItUtils.newAdminWsClient(orchestrator);
+ deactivateUser(client, "can_share");
+ deactivateUser(client, "cannot_share");
+ }
+
+ /**
+ * SONAR-4398
+ */
+ @Test
+ public void should_change_ownership_of_shared_measure_filter() throws Exception {
+ // change-own-measure-filter-owner.html
+ // 1 - as admin, create measure filter, shared with every one
+ // 2 - as admin, edit filter and set owner to can_share
+ seleniumSuite("change-measure-filter-ownership",
+ "/permissions/SystemAdminPermissionTest/change-own-measure-filter-owner.html",
+ "/permissions/SystemAdminPermissionTest/change-other-measure-filter-owner.html",
+ "/permissions/SystemAdminPermissionTest/change-system-measure-filter-owner.html");
+ }
+
+ /**
+ * SONAR-4136
+ */
+ @Test
+ public void should_change_ownership_of_shared_global_dashboard() throws Exception {
+ seleniumSuite("change-global-dashboard-ownership",
+ "/permissions/SystemAdminPermissionTest/change-shared-global-dashboard-owner.html",
+ "/permissions/SystemAdminPermissionTest/change-shared-global-dashboard-owner-failure.html");
+ }
+
+ /**
+ * SONAR-4136
+ */
+ @Test
+ public void should_change_ownership_of_shared_project_dashboard() throws Exception {
+ orchestrator.executeBuild(SonarScanner.create(ItUtils.projectDir("shared/xoo-sample")));
+
+ seleniumSuite("change-project-dashboard-ownership",
+ "/permissions/SystemAdminPermissionTest/change-shared-project-dashboard-owner.html",
+ "/permissions/SystemAdminPermissionTest/change-shared-project-dashboard-owner-failure.html");
+ }
+
+ private void seleniumSuite(String suiteName, String... tests) {
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath(suiteName, tests).build();
+ orchestrator.executeSelenese(selenese);
+ }
+
+ private static void addPermission(String login, String permission) {
+ orchestrator.getServer().adminWsClient().post("api/permissions/add_user",
+ "login", login,
+ "permission", permission);
+ }
+
+ private static void createUser(WsClient client, String login, String password) {
+ client.wsConnector().call(
+ new PostRequest("api/users/create")
+ .setParam("login", login)
+ .setParam("name", login)
+ .setParam("password", password)
+ );
+ }
+
+ private static void deactivateUser(WsClient client, String login) {
+ client.wsConnector().call(
+ new PostRequest("/api/users/deactivate")
+ .setParam("login", login)
+ );
+ }
+}
diff --git a/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-other-measure-filter-owner.html b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-other-measure-filter-owner.html
new file mode 100644
index 00000000000..bd7ab433180
--- /dev/null
+++ b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-other-measure-filter-owner.html
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>change-other-measure-filter-owner</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>storeEval</td>
+ <td>'filter_'+(new Date()).getTime()</td>
+ <td>FILTER_NAME</td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/sessions/logout</td>
+ <td></td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/sessions/new</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>login</td>
+ <td>can_share</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>password</td>
+ <td>password</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>commit</td>
+ <td></td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/measures</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>class=navigator-filter-submit</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>class=navigator-filter-submit</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>content</td>
+ <td>*Save As*</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>save-as</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>save-as-filter-form</td>
+ <td>*Save Filter*</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>name</td>
+ <td>${FILTER_NAME}</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>name=shared</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>save-as-submit</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>filter-title</td>
+ <td>glob:*${FILTER_NAME}*Shared with all users*</td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/sessions/logout</td>
+ <td></td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/sessions/new</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>login</td>
+ <td>admin</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>password</td>
+ <td>admin</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>commit</td>
+ <td></td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/measures</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>id=manage-favorites</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>id=manage-favorites</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>shared-filters</td>
+ <td>glob:*${FILTER_NAME}*</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>edit_system_${FILTER_NAME}</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>edit-filter-form</td>
+ <td>*Edit Filter*</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>select-filter-owner</td>
+ <td>admin</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>save-submit</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>filter-title</td>
+ <td>glob:*${FILTER_NAME}*Shared with all users*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
diff --git a/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-own-measure-filter-owner.html b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-own-measure-filter-owner.html
new file mode 100644
index 00000000000..fda11c0eb7a
--- /dev/null
+++ b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-own-measure-filter-owner.html
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>change-own-measure-filter-owner</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>storeEval</td>
+ <td>'filter_'+(new Date()).getTime()</td>
+ <td>FILTER_NAME</td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/sessions/logout</td>
+ <td></td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/sessions/new</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>login</td>
+ <td>admin</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>password</td>
+ <td>admin</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>commit</td>
+ <td></td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/measures</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>class=navigator-filter-submit</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>class=navigator-filter-submit</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>content</td>
+ <td>*Save As*</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>save-as</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>save-as-filter-form</td>
+ <td>*Save Filter*</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>name</td>
+ <td>${FILTER_NAME}</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>name=shared</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>save-as-submit</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>filter-title</td>
+ <td>glob:*${FILTER_NAME}*Shared with all users*</td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>id=manage-favorites</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>id=manage-favorites</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>my-filters</td>
+ <td>glob:*${FILTER_NAME}*</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>edit_${FILTER_NAME}</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForText</td>
+ <td>edit-filter-form</td>
+ <td>*Edit Filter*</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>select-filter-owner</td>
+ <td>can_share</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>save-submit</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertText</td>
+ <td>filter-title</td>
+ <td>glob:*${FILTER_NAME}*Shared by can_share*</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
diff --git a/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-global-dashboard-owner-failure.html b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-global-dashboard-owner-failure.html
new file mode 100644
index 00000000000..d89c7cb54af
--- /dev/null
+++ b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-global-dashboard-owner-failure.html
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>change-shared-global-dashboard-owner</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/sessions/logout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>open</td>
+ <td>/dashboards</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>login</td>
+ <td>admin</td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>password</td>
+ <td>admin</td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>commit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>create-link-dashboard</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>css=div.modal-body</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>name</td>
+ <td>shared-global-dashboard-fail</td>
+ </tr>
+ <tr>
+ <td>storeValue</td>
+ <td>name</td>
+ <td>DASHBOARD_NAME</td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>name=shared</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>save-submit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>edit-${DASHBOARD_NAME}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>edit-${DASHBOARD_NAME}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>css=div.modal-body</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>select-dashboard-owner</td>
+ <td>cannot_share</td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>save-submit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>css=div.modal-body > p.error</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>assertText</td>
+ <td>css=div.modal-body > p.error</td>
+ <td>glob:*User cannot own this dashboard because of insufficient rights*</td>
+ </tr>
+ </tbody>
+</table>
+</body>
+</html>
diff --git a/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-global-dashboard-owner.html b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-global-dashboard-owner.html
new file mode 100644
index 00000000000..46819e977fc
--- /dev/null
+++ b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-global-dashboard-owner.html
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>change-shared-global-dashboard-owner</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/sessions/logout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>open</td>
+ <td>/dashboards</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>login</td>
+ <td>admin</td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>password</td>
+ <td>admin</td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>commit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>create-link-dashboard</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>create-link-dashboard</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>css=div.modal-body</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>name</td>
+ <td>shared-global-dashboard</td>
+ </tr>
+ <tr>
+ <td>storeValue</td>
+ <td>name</td>
+ <td>DASHBOARD_NAME</td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>name=shared</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>save-submit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>edit-${DASHBOARD_NAME}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>edit-${DASHBOARD_NAME}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>css=div.modal-body</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>select-dashboard-owner</td>
+ <td>can_share</td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>save-submit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>assertText</td>
+ <td>dashboards</td>
+ <td>glob:*can_share*</td>
+ </tr>
+ </tbody>
+</table>
+</body>
+</html>
diff --git a/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-project-dashboard-owner-failure.html b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-project-dashboard-owner-failure.html
new file mode 100644
index 00000000000..7a4545dcfd3
--- /dev/null
+++ b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-project-dashboard-owner-failure.html
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>change-shared-project-dashboard-owner</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/sessions/logout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>open</td>
+ <td>/sessions/new</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>login</td>
+ <td>admin</td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>password</td>
+ <td>admin</td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>commit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>open</td>
+ <td>/dashboards?resource=sample</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>create-link-dashboard</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>css=div.modal-body</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>name</td>
+ <td>shared-project-dashboard-fail</td>
+ </tr>
+ <tr>
+ <td>storeValue</td>
+ <td>name</td>
+ <td>DASHBOARD_NAME</td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>name=shared</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>save-submit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>edit-${DASHBOARD_NAME}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>edit-${DASHBOARD_NAME}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>css=div.modal-body</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>select-dashboard-owner</td>
+ <td>cannot_share</td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>save-submit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>css=div.modal-body > p.error</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>assertText</td>
+ <td>css=div.modal-body > p.error</td>
+ <td>glob:*User cannot own this dashboard because of insufficient rights*</td>
+ </tr>
+ </tbody>
+</table>
+</body>
+</html>
diff --git a/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-project-dashboard-owner.html b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-project-dashboard-owner.html
new file mode 100644
index 00000000000..05bfe502af7
--- /dev/null
+++ b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-shared-project-dashboard-owner.html
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>change-shared-project-dashboard-owner</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>open</td>
+ <td>/sessions/logout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>open</td>
+ <td>/sessions/new</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>login</td>
+ <td>admin</td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>password</td>
+ <td>admin</td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>commit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>open</td>
+ <td>/dashboards?resource=sample</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>create-link-dashboard</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>css=div.modal-body</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>name</td>
+ <td>shared-project-dashboard</td>
+ </tr>
+ <tr>
+ <td>storeValue</td>
+ <td>name</td>
+ <td>DASHBOARD_NAME</td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>name=shared</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>save-submit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>edit-${DASHBOARD_NAME}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>edit-${DASHBOARD_NAME}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForVisible</td>
+ <td>css=div.modal-body</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>select-dashboard-owner</td>
+ <td>can_share</td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>save-submit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>assertText</td>
+ <td>dashboards</td>
+ <td>glob:*can_share*</td>
+ </tr>
+ </tbody>
+</table>
+</body>
+</html>
diff --git a/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-system-measure-filter-owner.html b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-system-measure-filter-owner.html
new file mode 100644
index 00000000000..0379982322e
--- /dev/null
+++ b/it/it-tests/src/test/resources/permissions/SystemAdminPermissionTest/change-system-measure-filter-owner.html
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>change-system-measure-filter-owner</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+ <tbody>
+ <tr>
+ <td>storeEval</td>
+ <td>'filter_'+(new Date()).getTime()</td>
+ <td>FILTER_NAME</td>
+ </tr>
+ <tr>
+ <td>open</td>
+ <td>/sessions/logout</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>open</td>
+ <td>/sessions/new</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>login</td>
+ <td>admin</td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>password</td>
+ <td>admin</td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>commit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>open</td>
+ <td>/measures</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForElementPresent</td>
+ <td>id=manage-favorites</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>id=manage-favorites</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>assertText</td>
+ <td>shared-filters</td>
+ <td>glob:*My favourites*</td>
+ </tr>
+ <tr>
+ <td>click</td>
+ <td>edit_system_my-favourites</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>waitForText</td>
+ <td>edit-filter-form</td>
+ <td>*Edit Filter*</td>
+ </tr>
+ <tr>
+ <td>type</td>
+ <td>select-filter-owner</td>
+ <td>admin</td>
+ </tr>
+ <tr>
+ <td>clickAndWait</td>
+ <td>save-submit</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>assertText</td>
+ <td>filter-title</td>
+ <td>glob:*My favourites*Shared with all users*</td>
+ </tr>
+ </tbody>
+</table>
+</body>
+</html>