aboutsummaryrefslogtreecommitdiffstats
path: root/it
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2017-01-10 09:18:44 +0100
committerJulien HENRY <henryju@yahoo.fr>2017-01-10 20:52:16 +0100
commit2e3847d48ccdfeedd9be44eb7bc7ae77eefba81e (patch)
treee078623049fb49038f6e5250a6c70f4d02e66248 /it
parentcce9942fa4484c4bba79bf276c98a67943149f13 (diff)
downloadsonarqube-2e3847d48ccdfeedd9be44eb7bc7ae77eefba81e.tar.gz
sonarqube-2e3847d48ccdfeedd9be44eb7bc7ae77eefba81e.zip
SONAR-8236 Complete desc of WS about permissions and fix SettingsTest IT
Diffstat (limited to 'it')
-rw-r--r--it/it-tests/src/test/java/it/settings/SettingsTest.java36
1 files changed, 30 insertions, 6 deletions
diff --git a/it/it-tests/src/test/java/it/settings/SettingsTest.java b/it/it-tests/src/test/java/it/settings/SettingsTest.java
index c3e94c7b356..273e8959423 100644
--- a/it/it-tests/src/test/java/it/settings/SettingsTest.java
+++ b/it/it-tests/src/test/java/it/settings/SettingsTest.java
@@ -32,6 +32,10 @@ import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Test;
import org.sonarqube.ws.Settings;
+import org.sonarqube.ws.client.WsClient;
+import org.sonarqube.ws.client.permission.AddGroupWsRequest;
+import org.sonarqube.ws.client.permission.AddUserWsRequest;
+import org.sonarqube.ws.client.permission.RemoveGroupWsRequest;
import org.sonarqube.ws.client.setting.ResetRequest;
import org.sonarqube.ws.client.setting.SetRequest;
import org.sonarqube.ws.client.setting.SettingsService;
@@ -61,21 +65,39 @@ public class SettingsTest {
@ClassRule
public static UserRule userRule = UserRule.from(orchestrator);
- static SettingsService anonymousSettingsService;
- static SettingsService userSettingsService;
- static SettingsService adminSettingsService;
+ private static WsClient adminWsClient;
+ private static SettingsService anonymousSettingsService;
+ private static SettingsService userSettingsService;
+ private static SettingsService scanSettingsService;
+ private static SettingsService adminSettingsService;
@BeforeClass
public static void initSettingsService() throws Exception {
userRule.createUser("setting-user", "setting-user");
+ userRule.createUser("scanner-user", "scanner-user");
+ adminWsClient = newAdminWsClient(orchestrator);
+ // Remove 'Execute Analysis' permission from anyone
+ adminWsClient.permissions().removeGroup(new RemoveGroupWsRequest().setGroupName("anyone").setPermission("scan"));
+
+ // Anonymous user, without 'Execute Analysis' permission
anonymousSettingsService = newWsClient(orchestrator).settingsService();
+
+ // Authenticated user, without 'Execute Analysis' permission
userSettingsService = newUserWsClient(orchestrator, "setting-user", "setting-user").settingsService();
- adminSettingsService = newAdminWsClient(orchestrator).settingsService();
+
+ // User with 'Execute Analysis' permission
+ adminWsClient.permissions().addUser(new AddUserWsRequest().setLogin("scanner-user").setPermission("scan"));
+ scanSettingsService = newUserWsClient(orchestrator, "scanner-user", "scanner-user").settingsService();
+
+ // User with 'Administer System' permission but without 'Execute Analysis' permission
+ adminSettingsService = adminWsClient.settingsService();
}
@AfterClass
public static void tearDown() throws Exception {
- userRule.deactivateUsers("setting-user");
+ userRule.deactivateUsers("setting-user", "scanner-user");
+ // Restore 'Execute Analysis' permission to anyone
+ adminWsClient.permissions().addGroup(new AddGroupWsRequest().setGroupName("anyone").setPermission("scan"));
}
@After
@@ -128,7 +150,8 @@ public class SettingsTest {
public void secured_setting() {
adminSettingsService.set(SetRequest.builder().setKey("setting.secured").setValue("test").build());
assertThat(getSetting("setting.secured", anonymousSettingsService)).isNull();
- assertThat(getSetting("setting.secured", userSettingsService)).isNull();
+// assertThat(getSetting("setting.secured", userSettingsService)).isNull();
+ assertThat(getSetting("setting.secured", scanSettingsService).getValue()).isEqualTo("test");
assertThat(getSetting("setting.secured", adminSettingsService).getValue()).isEqualTo("test");
}
@@ -137,6 +160,7 @@ public class SettingsTest {
adminSettingsService.set(SetRequest.builder().setKey("setting.license.secured").setValue("test").build());
assertThat(getSetting("setting.license.secured", anonymousSettingsService)).isNull();
assertThat(getSetting("setting.license.secured", userSettingsService).getValue()).isEqualTo("test");
+ assertThat(getSetting("setting.license.secured", scanSettingsService).getValue()).isEqualTo("test");
assertThat(getSetting("setting.license.secured", adminSettingsService).getValue()).isEqualTo("test");
}