aboutsummaryrefslogtreecommitdiffstats
path: root/it
diff options
context:
space:
mode:
authorStas Vilchik <vilchiks@gmail.com>2016-06-14 13:32:01 +0200
committerGitHub <noreply@github.com>2016-06-14 13:32:01 +0200
commitadf34599004603569e300d512f6b30a103da5861 (patch)
treecd8609065278a3d0888625086d2a7c0384b79ecb /it
parent45433b0f0d7d5ee5f28f1322fc1749511cfec806 (diff)
downloadsonarqube-adf34599004603569e300d512f6b30a103da5861.tar.gz
sonarqube-adf34599004603569e300d512f6b30a103da5861.zip
SONAR-7720 Modify the Permission Templates page to support project creators (#1030)
Diffstat (limited to 'it')
-rw-r--r--it/it-tests/src/test/java/it/authorisation/PermissionTemplatesPageTest.java8
-rw-r--r--it/it-tests/src/test/java/util/selenium/SeleneseTest.java11
-rw-r--r--it/it-tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_manage_project_creators.html109
3 files changed, 128 insertions, 0 deletions
diff --git a/it/it-tests/src/test/java/it/authorisation/PermissionTemplatesPageTest.java b/it/it-tests/src/test/java/it/authorisation/PermissionTemplatesPageTest.java
index d7761ffd017..f924fd307c3 100644
--- a/it/it-tests/src/test/java/it/authorisation/PermissionTemplatesPageTest.java
+++ b/it/it-tests/src/test/java/it/authorisation/PermissionTemplatesPageTest.java
@@ -42,4 +42,12 @@ public class PermissionTemplatesPageTest {
).build();
new SeleneseTest(selenese).runOn(orchestrator);
}
+
+ @Test
+ public void should_manage_project_creators() throws Exception {
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("should_manage_project_creators",
+ "/authorisation/PermissionTemplatesPageTest/should_manage_project_creators.html"
+ ).build();
+ new SeleneseTest(selenese).runOn(orchestrator);
+ }
}
diff --git a/it/it-tests/src/test/java/util/selenium/SeleneseTest.java b/it/it-tests/src/test/java/util/selenium/SeleneseTest.java
index 14b87375398..bf84e6416d7 100644
--- a/it/it-tests/src/test/java/util/selenium/SeleneseTest.java
+++ b/it/it-tests/src/test/java/util/selenium/SeleneseTest.java
@@ -162,6 +162,9 @@ public class SeleneseTest {
case "waitForElementPresent":
waitForElementPresent(param1, param2);
return this;
+ case "waitForElementNotPresent":
+ waitForElementNotPresent(param1, param2);
+ return this;
case "waitForVisible":
waitForVisible(param1);
return this;
@@ -388,6 +391,14 @@ public class SeleneseTest {
}
}
+ private void waitForElementNotPresent(String selector, String text) {
+ if (Strings.isNullOrEmpty(text)) {
+ find(selector).should().not().exist();
+ } else {
+ find(selector).withText(text).should().not().exist();
+ }
+ }
+
private void waitForVisible(String selector) {
find(selector).should().beDisplayed();
}
diff --git a/it/it-tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_manage_project_creators.html b/it/it-tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_manage_project_creators.html
new file mode 100644
index 00000000000..e8a576509aa
--- /dev/null
+++ b/it/it-tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_manage_project_creators.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>should_manage_project_creators</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>id=login</td>
+ <td>admin</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>id=password</td>
+ <td>admin</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>name=commit</td>
+ <td></td>
+</tr>
+<tr>
+ <td>open</td>
+ <td>/permission_templates</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>css=td[data-permission=&quot;user&quot;]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>css=td[data-permission=&quot;user&quot;] .js-update-users</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>css=#grant-to-project-creators</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertElementPresent</td>
+ <td>css=#grant-to-project-creators:not(:checked)</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>css=#grant-to-project-creators</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>css=.js-modal-close</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>css=td[data-permission=&quot;user&quot;] .js-project-creators</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>css=td[data-permission=&quot;user&quot;] .js-update-users</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>css=#grant-to-project-creators</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertElementPresent</td>
+ <td>css=#grant-to-project-creators:checked</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>css=#grant-to-project-creators</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>css=.js-modal-close</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementNotPresent</td>
+ <td>css=td[data-permission=&quot;user&quot;] .js-project-creators</td>
+ <td></td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>