aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2017-09-04 15:57:00 +0200
committerJulien Lancelot <julien.lancelot@sonarsource.com>2017-09-05 12:07:45 +0200
commit11faca4d8e29d95ef37da7e18b86d6e79e685eee (patch)
tree828c60061ac3008bc43735fc8dbbefa09d04f165 /tests/src
parent1c3bd3dffb749a39da1d1faa763d0185b25eaabf (diff)
downloadsonarqube-11faca4d8e29d95ef37da7e18b86d6e79e685eee.tar.gz
sonarqube-11faca4d8e29d95ef37da7e18b86d6e79e685eee.zip
Create user only when needed in LocalAuthenticationTest
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/test/java/org/sonarqube/tests/user/LocalAuthenticationTest.java75
1 files changed, 34 insertions, 41 deletions
diff --git a/tests/src/test/java/org/sonarqube/tests/user/LocalAuthenticationTest.java b/tests/src/test/java/org/sonarqube/tests/user/LocalAuthenticationTest.java
index 716a2a80b2e..662c0c22506 100644
--- a/tests/src/test/java/org/sonarqube/tests/user/LocalAuthenticationTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/user/LocalAuthenticationTest.java
@@ -23,7 +23,6 @@ import com.codeborne.selenide.Condition;
import com.sonar.orchestrator.Orchestrator;
import java.util.UUID;
import org.junit.After;
-import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
@@ -32,13 +31,13 @@ import org.sonarqube.pageobjects.Navigation;
import org.sonarqube.tests.Category4Suite;
import org.sonarqube.tests.Tester;
import org.sonarqube.ws.WsUserTokens;
+import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
import org.sonarqube.ws.client.GetRequest;
import org.sonarqube.ws.client.HttpConnector;
import org.sonarqube.ws.client.PostRequest;
import org.sonarqube.ws.client.WsClient;
import org.sonarqube.ws.client.WsClientFactories;
import org.sonarqube.ws.client.WsResponse;
-import org.sonarqube.ws.client.permission.AddUserWsRequest;
import org.sonarqube.ws.client.usertoken.GenerateWsRequest;
import org.sonarqube.ws.client.usertoken.RevokeWsRequest;
import org.sonarqube.ws.client.usertoken.SearchWsRequest;
@@ -51,25 +50,12 @@ import static util.ItUtils.setServerProperty;
public class LocalAuthenticationTest {
- private static final String ADMIN_USER_LOGIN = "admin-user";
-
- private static final String LOGIN = "george.orwell";
-
@ClassRule
public static Orchestrator orchestrator = Category4Suite.ORCHESTRATOR;
@Rule
public Tester tester = new Tester(orchestrator).disableOrganizations();
- @Before
- public void setUp() {
- tester.users().generate(u -> u.setLogin(LOGIN).setPassword("123456"));
- addUserPermission(LOGIN, "admin");
-
- tester.users().generate(u -> u.setLogin("simple-user").setPassword("password"));
- tester.users().generateAdministrator(u -> u.setLogin(ADMIN_USER_LOGIN).setPassword(ADMIN_USER_LOGIN));
- }
-
@After
public void resetProperties() throws Exception {
resetSettings(orchestrator, null, "sonar.forceAuthentication");
@@ -77,18 +63,20 @@ public class LocalAuthenticationTest {
@Test
public void log_in_with_correct_credentials_then_log_out() {
+ User user = tester.users().generate();
Navigation nav = tester.openBrowser();
nav.shouldNotBeLoggedIn();
- nav.logIn().submitCredentials(LOGIN, "123456").shouldBeLoggedIn();
+ nav.logIn().submitCredentials(user.getLogin()).shouldBeLoggedIn();
nav.logOut().shouldNotBeLoggedIn();
}
@Test
public void log_in_with_wrong_credentials() {
+ User user = tester.users().generate();
Navigation nav = tester.openBrowser();
LoginPage page = nav
.logIn()
- .submitWrongCredentials(LOGIN, "wrong");
+ .submitWrongCredentials(user.getLogin(), "wrong");
page.getErrorMessage().shouldHave(Condition.text("Authentication failed"));
nav.openHome();
@@ -111,10 +99,11 @@ public class LocalAuthenticationTest {
@Test
public void basic_authentication_based_on_token() {
+ User user = tester.users().generate();
String tokenName = "Validate token based authentication";
UserTokensService tokensService = tester.wsClient().userTokens();
WsUserTokens.GenerateWsResponse generateWsResponse = tokensService.generate(new GenerateWsRequest()
- .setLogin(LOGIN)
+ .setLogin(user.getLogin())
.setName(tokenName));
WsClient wsClient = WsClientFactories.getDefault().newClient(HttpConnector.newBuilder()
.url(orchestrator.getServer().getUrl())
@@ -124,10 +113,10 @@ public class LocalAuthenticationTest {
assertThat(response.content()).isEqualTo("{\"valid\":true}");
- WsUserTokens.SearchWsResponse searchResponse = tokensService.search(new SearchWsRequest().setLogin(LOGIN));
+ WsUserTokens.SearchWsResponse searchResponse = tokensService.search(new SearchWsRequest().setLogin(user.getLogin()));
assertThat(searchResponse.getUserTokensCount()).isEqualTo(1);
- tokensService.revoke(new RevokeWsRequest().setLogin(LOGIN).setName(tokenName));
- searchResponse = tokensService.search(new SearchWsRequest().setLogin(LOGIN));
+ tokensService.revoke(new RevokeWsRequest().setLogin(user.getLogin()).setName(tokenName));
+ searchResponse = tokensService.search(new SearchWsRequest().setLogin(user.getLogin()));
assertThat(searchResponse.getUserTokensCount()).isEqualTo(0);
}
@@ -168,6 +157,8 @@ public class LocalAuthenticationTest {
@Test
public void test_authentication_in_ui() {
+ tester.users().generate(u -> u.setLogin("simple-user").setPassword("password"));
+ tester.users().generateAdministrator(u -> u.setLogin("admin-user").setPassword("admin-user"));
tester.runHtmlTests(
"/user/LocalAuthenticationTest/login_successful.html",
"/user/LocalAuthenticationTest/login_wrong_password.html",
@@ -176,6 +167,8 @@ public class LocalAuthenticationTest {
@Test
public void test_authentication_redirects_in_ui() {
+ tester.users().generate(u -> u.setLogin("simple-user").setPassword("password"));
+ tester.users().generateAdministrator(u -> u.setLogin("admin-user").setPassword("admin-user"));
tester.runHtmlTests(
"/user/LocalAuthenticationTest/redirect_to_login_when_not_enough_privilege.html",
// SONAR-2132
@@ -187,6 +180,8 @@ public class LocalAuthenticationTest {
@Test
public void force_authentication_in_ui() {
+ tester.users().generate(u -> u.setLogin("simple-user").setPassword("password"));
+ tester.users().generateAdministrator(u -> u.setLogin("admin-user").setPassword("admin-user"));
setServerProperty(orchestrator, "sonar.forceAuthentication", "true");
tester.runHtmlTests(
@@ -196,16 +191,18 @@ public class LocalAuthenticationTest {
@Test
public void authentication_with_authentication_ws() {
- assertThat(checkAuthenticationWithAuthenticateWebService("admin", "admin")).isTrue();
- assertThat(checkAuthenticationWithAuthenticateWebService("wrong", "admin")).isFalse();
- assertThat(checkAuthenticationWithAuthenticateWebService("admin", "wrong")).isFalse();
+ User user = tester.users().generate(u -> u.setLogin("test").setPassword("password"));
+
+ assertThat(checkAuthenticationWithAuthenticateWebService("test", "password")).isTrue();
+ assertThat(checkAuthenticationWithAuthenticateWebService("wrong", "password")).isFalse();
+ assertThat(checkAuthenticationWithAuthenticateWebService("test", "wrong")).isFalse();
assertThat(checkAuthenticationWithAuthenticateWebService(null, null)).isTrue();
setServerProperty(orchestrator, "sonar.forceAuthentication", "true");
- assertThat(checkAuthenticationWithAuthenticateWebService("admin", "admin")).isTrue();
- assertThat(checkAuthenticationWithAuthenticateWebService("wrong", "admin")).isFalse();
- assertThat(checkAuthenticationWithAuthenticateWebService("admin", "wrong")).isFalse();
+ assertThat(checkAuthenticationWithAuthenticateWebService("test", "password")).isTrue();
+ assertThat(checkAuthenticationWithAuthenticateWebService("wrong", "password")).isFalse();
+ assertThat(checkAuthenticationWithAuthenticateWebService("test", "wrong")).isFalse();
assertThat(checkAuthenticationWithAuthenticateWebService(null, null)).isFalse();
}
@@ -214,18 +211,20 @@ public class LocalAuthenticationTest {
*/
@Test
public void authentication_with_any_ws() throws Exception {
- assertThat(checkAuthenticationWithAnyWS("admin", "admin").code()).isEqualTo(200);
- assertThat(checkAuthenticationWithAnyWS("wrong", "admin").code()).isEqualTo(401);
- assertThat(checkAuthenticationWithAnyWS("admin", "wrong").code()).isEqualTo(401);
- assertThat(checkAuthenticationWithAnyWS("admin", null).code()).isEqualTo(401);
+ tester.users().generate(u -> u.setLogin("test").setPassword("password"));
+
+ assertThat(checkAuthenticationWithAnyWS("test", "password").code()).isEqualTo(200);
+ assertThat(checkAuthenticationWithAnyWS("wrong", "password").code()).isEqualTo(401);
+ assertThat(checkAuthenticationWithAnyWS("test", "wrong").code()).isEqualTo(401);
+ assertThat(checkAuthenticationWithAnyWS("test", null).code()).isEqualTo(401);
assertThat(checkAuthenticationWithAnyWS(null, null).code()).isEqualTo(200);
setServerProperty(orchestrator, "sonar.forceAuthentication", "true");
- assertThat(checkAuthenticationWithAnyWS("admin", "admin").code()).isEqualTo(200);
- assertThat(checkAuthenticationWithAnyWS("wrong", "admin").code()).isEqualTo(401);
- assertThat(checkAuthenticationWithAnyWS("admin", "wrong").code()).isEqualTo(401);
- assertThat(checkAuthenticationWithAnyWS("admin", null).code()).isEqualTo(401);
+ assertThat(checkAuthenticationWithAnyWS("test", "password").code()).isEqualTo(200);
+ assertThat(checkAuthenticationWithAnyWS("wrong", "password").code()).isEqualTo(401);
+ assertThat(checkAuthenticationWithAnyWS("test", "wrong").code()).isEqualTo(401);
+ assertThat(checkAuthenticationWithAnyWS("test", null).code()).isEqualTo(401);
assertThat(checkAuthenticationWithAnyWS(null, null).code()).isEqualTo(401);
}
@@ -240,10 +239,4 @@ public class LocalAuthenticationTest {
return wsClient.wsConnector().call(new GetRequest("api/rules/search"));
}
- private void addUserPermission(String login, String permission) {
- tester.wsClient().permissions().addUser(new AddUserWsRequest()
- .setLogin(login)
- .setPermission(permission));
- }
-
}