aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2017-11-09 17:39:52 +0100
committerEric Hartmann <hartmann.eric@gmail.Com>2017-11-14 13:10:17 +0100
commita0677e1efa4db51e563f74548c5ca54a24a17efc (patch)
tree5a24c3543269d9316c160ebbf826f5789dd8fa96
parentc0be4a24b1cf4f3f0fe8314e9e7c70d4cdc61b3c (diff)
downloadsonarqube-a0677e1efa4db51e563f74548c5ca54a24a17efc.tar.gz
sonarqube-a0677e1efa4db51e563f74548c5ca54a24a17efc.zip
Move helpers to sonar-qa-util
-rw-r--r--server/sonar-qa-util/pom.xml5
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/Elasticsearch.java (renamed from tests/src/test/java/org/sonarqube/tests/Elasticsearch.java)15
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/GroupTester.java (renamed from tests/src/test/java/org/sonarqube/tests/GroupTester.java)6
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/LogsTailer.java (renamed from tests/src/test/java/org/sonarqube/tests/LogsTailer.java)8
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/OrganizationTester.java (renamed from tests/src/test/java/org/sonarqube/tests/OrganizationTester.java)13
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/ProjectTester.java (renamed from tests/src/test/java/org/sonarqube/tests/ProjectTester.java)11
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/QGateTester.java (renamed from tests/src/test/java/org/sonarqube/tests/QGateTester.java)6
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/QProfileTester.java (renamed from tests/src/test/java/org/sonarqube/tests/QProfileTester.java)15
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/SettingTester.java (renamed from tests/src/test/java/org/sonarqube/tests/SettingTester.java)10
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/Tester.java (renamed from tests/src/test/java/org/sonarqube/tests/Tester.java)42
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/TesterSession.java (renamed from tests/src/test/java/org/sonarqube/tests/Session.java)4
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/UserTester.java (renamed from tests/src/test/java/org/sonarqube/tests/UserTester.java)8
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/BackgroundTaskItem.java4
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/LoginPage.java2
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/MarketplacePage.java2
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/Navigation.java6
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/NotificationsPage.java8
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectActivityPage.java2
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectCodePage.java3
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectDashboardPage.java17
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectKeyPage.java4
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/SystemInfoPageItem.java6
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/issues/IssuesPage.java22
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/issues/package-info.java23
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/measures/MeasuresPage.java8
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/measures/package-info.java23
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/MemberItem.java2
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/MembersPage.java4
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/package-info.java23
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/projects/ProjectsPage.java2
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/projects/package-info.java23
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/settings/package-info.java23
-rw-r--r--tests/src/test/java/org/sonarqube/tests/analysis/AnalysisEsResilienceTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/analysis/RedirectTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/authorisation/PermissionTemplateTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/authorisation/QualityProfileAdminPermissionTest.java5
-rw-r--r--tests/src/test/java/org/sonarqube/tests/authorisation/SystemPasscodeTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/branch/BranchTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/ce/CeShutdownTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/ce/ReportFailureNotificationTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/dbCleaner/PurgeTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/issue/IssueCreationDatePluginChangedTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/issue/IssueNotificationsTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/issue/IssueTagsTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/issue/OrganizationIssueAssignTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/issue/OrganizationIssuesPageTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/lite/LiteTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/measure/ProjectMeasuresPageTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/organization/BillingTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/organization/OrganizationMembershipTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/organization/OrganizationMembershipUiTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/organization/OrganizationTest.java4
-rw-r--r--tests/src/test/java/org/sonarqube/tests/organization/PersonalOrganizationTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/organization/RootUserOnOrganizationTest.java8
-rw-r--r--tests/src/test/java/org/sonarqube/tests/organization/RootUserTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectAdministrationTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectBulkDeleteTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectBulkDeletionPageTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectDeleteTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectKeyUpdateTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectProvisioningTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectQualityGatePageTest.java14
-rw-r--r--tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectSearchTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/projectSearch/LeakProjectsPageTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/projectSearch/ProjectsPageTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/projectSearch/SearchProjectsTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityGate/OrganizationQualityGateUiTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateForSmallChangesetsTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateNotificationTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateOnRatingMeasuresTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateTest.java6
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateUiTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateWithOrganizationsTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityProfile/ActiveRuleEsResilienceTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityProfile/BuiltInQualityProfilesTest.java8
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityProfile/CustomQualityProfilesTest.java16
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityProfile/OrganizationQualityProfilesUiTest.java23
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesEditTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesUiTest.java23
-rw-r--r--tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesWsTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/rule/RuleEsResilienceTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/rule/RuleTagsTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/rule/RulesPageTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/rule/RulesWsTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/serverSystem/ServerSystemTest.java9
-rw-r--r--tests/src/test/java/org/sonarqube/tests/serverSystem/SystemInfoTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/serverSystem/SystemStateTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/settings/EmailsTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/sourceCode/EncodingTest.java5
-rw-r--r--tests/src/test/java/org/sonarqube/tests/sourceCode/HighlightingTest.java15
-rw-r--r--tests/src/test/java/org/sonarqube/tests/sourceCode/ProjectCodeTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/startup/StartupIndexationTest.java4
-rw-r--r--tests/src/test/java/org/sonarqube/tests/telemetry/TelemetryOptOutTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/test/CoverageTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/test/CoverageTrackingTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/ui/OrganizationUiExtensionsTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/ui/UiExtensionsTest.java5
-rw-r--r--tests/src/test/java/org/sonarqube/tests/user/ForceAuthenticationTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/user/LocalAuthenticationTest.java11
-rw-r--r--tests/src/test/java/org/sonarqube/tests/user/MyAccountPageTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/user/OAuth2IdentityProviderTest.java11
-rw-r--r--tests/src/test/java/org/sonarqube/tests/user/OnboardingTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/user/OrganizationIdentityProviderTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/user/RealmAuthenticationTest.java2
-rw-r--r--tests/src/test/java/org/sonarqube/tests/user/UserEsResilienceTest.java2
-rw-r--r--tests/src/test/java/util/ItUtils.java11
-rw-r--r--tests/src/test/java/util/selenium/Selenese.java4
-rw-r--r--tests/src/test/java/util/user/GroupManagement.java3
-rw-r--r--tests/src/test/java/util/user/Groups.java3
-rw-r--r--tests/src/test/java/util/user/UserRule.java3
110 files changed, 390 insertions, 265 deletions
diff --git a/server/sonar-qa-util/pom.xml b/server/sonar-qa-util/pom.xml
index a9534332a89..4f5911163bd 100644
--- a/server/sonar-qa-util/pom.xml
+++ b/server/sonar-qa-util/pom.xml
@@ -16,6 +16,11 @@
<dependencies>
<dependency>
+ <groupId>org.sonarsource.sonarqube</groupId>
+ <artifactId>sonar-ws</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
<groupId>com.codeborne</groupId>
<artifactId>selenide</artifactId>
<version>4.4.3</version>
diff --git a/tests/src/test/java/org/sonarqube/tests/Elasticsearch.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/Elasticsearch.java
index 4bc4620799a..434044cab41 100644
--- a/tests/src/test/java/org/sonarqube/tests/Elasticsearch.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/Elasticsearch.java
@@ -17,8 +17,9 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonarqube.tests;
+package org.sonarqube.qa.util;
+import java.io.IOException;
import java.net.InetAddress;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
@@ -43,7 +44,7 @@ public class Elasticsearch {
/**
* Forbid indexing requests on the specified index. Index becomes read-only.
*/
- public void lockWrites(String index) throws Exception {
+ public void lockWrites(String index) throws IOException {
putIndexSetting(httpPort, index, "blocks.write", "true");
}
@@ -51,19 +52,19 @@ public class Elasticsearch {
* Enable indexing requests on the specified index.
* @see #lockWrites(String)
*/
- public void unlockWrites(String index) throws Exception {
+ public void unlockWrites(String index) throws IOException {
putIndexSetting(httpPort, index, "blocks.write", "false");
}
- public void makeYellow() throws Exception {
+ public void makeYellow() throws IOException {
putIndexSetting(httpPort, "issues", "number_of_replicas", "5");
}
- public void makeGreen() throws Exception {
+ public void makeGreen() throws IOException {
putIndexSetting(httpPort, "issues", "number_of_replicas", "0");
}
- private void putIndexSetting(int searchHttpPort, String index, String key, String value) throws Exception {
+ private static void putIndexSetting(int searchHttpPort, String index, String key, String value) throws IOException {
Request.Builder request = new Request.Builder()
.url(baseUrl(searchHttpPort) + index + "/_settings")
.put(RequestBody.create(MediaType.parse("application/json"), "{" +
@@ -76,7 +77,7 @@ public class Elasticsearch {
assertThat(response.isSuccessful()).isTrue();
}
- private String baseUrl(int searchHttpPort) {
+ private static String baseUrl(int searchHttpPort) {
return "http://" + InetAddress.getLoopbackAddress().getHostAddress() + ":" + searchHttpPort + "/";
}
}
diff --git a/tests/src/test/java/org/sonarqube/tests/GroupTester.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/GroupTester.java
index 14568da774b..8b395c90518 100644
--- a/tests/src/test/java/org/sonarqube/tests/GroupTester.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/GroupTester.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonarqube.tests;
+package org.sonarqube.qa.util;
import java.util.List;
import java.util.Set;
@@ -40,9 +40,9 @@ public class GroupTester {
private static final AtomicInteger ID_GENERATOR = new AtomicInteger();
- private final Session session;
+ private final TesterSession session;
- GroupTester(Session session) {
+ GroupTester(TesterSession session) {
this.session = session;
}
diff --git a/tests/src/test/java/org/sonarqube/tests/LogsTailer.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/LogsTailer.java
index eb093b1c345..a172b56a649 100644
--- a/tests/src/test/java/org/sonarqube/tests/LogsTailer.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/LogsTailer.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonarqube.tests;
+package org.sonarqube.qa.util;
import java.io.File;
import java.util.ArrayList;
@@ -134,9 +134,9 @@ public class LogsTailer implements AutoCloseable {
private Watch(String expectedText) {
this.expectedText = requireNonNull(expectedText);
- this.consumer = log -> {
- if (log.contains(this.expectedText)) {
- this.log = log;
+ this.consumer = l -> {
+ if (l.contains(this.expectedText)) {
+ this.log = l;
foundSignal.countDown();
}
};
diff --git a/tests/src/test/java/org/sonarqube/tests/OrganizationTester.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/OrganizationTester.java
index 5550cd527c5..a9d098ee261 100644
--- a/tests/src/test/java/org/sonarqube/tests/OrganizationTester.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/OrganizationTester.java
@@ -17,12 +17,13 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonarqube.tests;
+package org.sonarqube.qa.util;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Consumer;
import javax.annotation.Nullable;
+import org.assertj.core.api.Assertions;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.WsUsers;
import org.sonarqube.ws.client.HttpException;
@@ -40,9 +41,9 @@ public class OrganizationTester {
private static final AtomicInteger ID_GENERATOR = new AtomicInteger();
- private final Session session;
+ private final TesterSession session;
- OrganizationTester(Session session) {
+ OrganizationTester(TesterSession session) {
this.session = session;
}
@@ -84,7 +85,7 @@ public class OrganizationTester {
public OrganizationTester assertThatOrganizationDoesNotExist(String organizationKey) {
SearchWsRequest request = new SearchWsRequest.Builder().setOrganizations(organizationKey).build();
Organizations.SearchWsResponse searchWsResponse = service().search(request);
- assertThat(searchWsResponse.getOrganizationsList()).isEmpty();
+ Assertions.assertThat(searchWsResponse.getOrganizationsList()).isEmpty();
return this;
}
@@ -121,7 +122,7 @@ public class OrganizationTester {
.setSelected("selected")
.setOrganization(organization != null ? organization.getKey() : null))
.getUsersList();
- assertThat(users).hasSize(isMember ? 1 : 0);
+ Assertions.assertThat(users).hasSize(isMember ? 1 : 0);
}
private void verifyMembersGroupMembership(String userLogin, @Nullable Organizations.Organization organization, boolean isMember) {
@@ -132,7 +133,7 @@ public class OrganizationTester {
.setSelected("selected")
.build())
.getGroupsList();
- assertThat(groups).hasSize(isMember ? 1 : 0);
+ Assertions.assertThat(groups).hasSize(isMember ? 1 : 0);
}
public OrganizationService service() {
diff --git a/tests/src/test/java/org/sonarqube/tests/ProjectTester.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/ProjectTester.java
index 781500aa8c0..6b63e850ee2 100644
--- a/tests/src/test/java/org/sonarqube/tests/ProjectTester.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/ProjectTester.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonarqube.tests;
+package org.sonarqube.qa.util;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Consumer;
@@ -36,17 +36,16 @@ public class ProjectTester {
private static final AtomicInteger ID_GENERATOR = new AtomicInteger();
- private final Session session;
+ private final TesterSession session;
- ProjectTester(Session session) {
+ ProjectTester(TesterSession session) {
this.session = session;
}
void deleteAll() {
ProjectsService service = session.wsClient().projects();
- service.search(SearchWsRequest.builder().setQualifiers(singletonList("TRK")).build()).getComponentsList().forEach(p -> {
- service.delete(DeleteRequest.builder().setKey(p.getKey()).build());
- });
+ service.search(SearchWsRequest.builder().setQualifiers(singletonList("TRK")).build()).getComponentsList().forEach(p ->
+ service.delete(DeleteRequest.builder().setKey(p.getKey()).build()));
}
@SafeVarargs
diff --git a/tests/src/test/java/org/sonarqube/tests/QGateTester.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/QGateTester.java
index 8bf99d34828..e0a1f8bae53 100644
--- a/tests/src/test/java/org/sonarqube/tests/QGateTester.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/QGateTester.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonarqube.tests;
+package org.sonarqube.qa.util;
import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
@@ -34,9 +34,9 @@ import org.sonarqube.ws.client.qualitygate.SelectWsRequest;
public class QGateTester {
private static final AtomicInteger ID_GENERATOR = new AtomicInteger();
- private final Session session;
+ private final TesterSession session;
- QGateTester(Session session) {
+ QGateTester(TesterSession session) {
this.session = session;
}
diff --git a/tests/src/test/java/org/sonarqube/tests/QProfileTester.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/QProfileTester.java
index 29656d65c95..2c80d28fe2c 100644
--- a/tests/src/test/java/org/sonarqube/tests/QProfileTester.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/QProfileTester.java
@@ -17,11 +17,12 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonarqube.tests;
+package org.sonarqube.qa.util;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Consumer;
+import org.assertj.core.api.Assertions;
import org.sonarqube.ws.Common;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.QualityProfiles.CreateWsResponse.QualityProfile;
@@ -42,9 +43,9 @@ import static org.assertj.core.api.Assertions.assertThat;
public class QProfileTester {
private static final AtomicInteger ID_GENERATOR = new AtomicInteger();
- private final Session session;
+ private final TesterSession session;
- QProfileTester(Session session) {
+ QProfileTester(TesterSession session) {
this.session = session;
}
@@ -104,12 +105,12 @@ public class QProfileTester {
Rules.SearchResponse response = session.wsClient().rules().search(request);
// assume that expectedActiveRules fits in first page of results
- assertThat(response.getRulesCount()).isEqualTo(expectedActiveRules);
- assertThat(response.getTotal()).isEqualTo(expectedActiveRules);
- assertThat(response.getActives().getActives()).as(response.toString()).hasSize(expectedActiveRules);
+ Assertions.assertThat(response.getRulesCount()).isEqualTo(expectedActiveRules);
+ Assertions.assertThat(response.getTotal()).isEqualTo(expectedActiveRules);
+ Assertions.assertThat(response.getActives().getActives()).as(response.toString()).hasSize(expectedActiveRules);
// verify facets
- assertThat(response.getFacets().getFacetsCount()).isEqualTo(facetIds.size());
+ Assertions.assertThat(response.getFacets().getFacetsCount()).isEqualTo(facetIds.size());
response.getFacets().getFacetsList().forEach(facet -> {
long total = facet.getValuesList().stream()
.mapToLong(Common.FacetValue::getCount)
diff --git a/tests/src/test/java/org/sonarqube/tests/SettingTester.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/SettingTester.java
index b05dc16dac4..00c08c10480 100644
--- a/tests/src/test/java/org/sonarqube/tests/SettingTester.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/SettingTester.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonarqube.tests;
+package org.sonarqube.qa.util;
import com.google.common.collect.ImmutableSet;
import java.util.List;
@@ -31,16 +31,14 @@ import org.sonarqube.ws.client.setting.ResetRequest;
import org.sonarqube.ws.client.setting.SetRequest;
import org.sonarqube.ws.client.setting.SettingsService;
-import static org.sonarqube.ws.Settings.Type.LICENSE;
-
public class SettingTester {
private static final Set<String> EMAIL_SETTINGS = ImmutableSet.of("email.smtp_host.secured", "email.smtp_port.secured", "email.smtp_secure_connection.secured",
"email.smtp_username.secured", "email.smtp_password.secured", "email.from", "email.prefix");
- private final Session session;
+ private final TesterSession session;
- SettingTester(Session session) {
+ SettingTester(TesterSession session) {
this.session = session;
}
@@ -52,7 +50,7 @@ public class SettingTester {
List<String> settingKeys = Stream.concat(
session.wsClient().settings().listDefinitions(ListDefinitionsRequest.builder().build()).getDefinitionsList()
.stream()
- .filter(def -> def.getType() != LICENSE)
+ .filter(def -> def.getType() != Settings.Type.LICENSE)
.map(Settings.Definition::getKey),
EMAIL_SETTINGS.stream())
.collect(Collectors.toList());
diff --git a/tests/src/test/java/org/sonarqube/tests/Tester.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/Tester.java
index 8f5e58ffbbc..50412d8bc50 100644
--- a/tests/src/test/java/org/sonarqube/tests/Tester.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/Tester.java
@@ -17,18 +17,19 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonarqube.tests;
+package org.sonarqube.qa.util;
import com.sonar.orchestrator.Orchestrator;
+import com.sonar.orchestrator.container.Server;
import javax.annotation.Nullable;
import org.apache.commons.lang.StringUtils;
import org.junit.rules.ExternalResource;
import org.sonarqube.qa.util.pageobjects.Navigation;
+import org.sonarqube.ws.client.HttpConnector;
import org.sonarqube.ws.client.WsClient;
-import util.selenium.Selenese;
+import org.sonarqube.ws.client.WsClientFactories;
import static java.util.Objects.requireNonNull;
-import static util.ItUtils.newUserWsClient;
/**
* This JUnit rule wraps an {@link Orchestrator} instance and provides :
@@ -45,7 +46,7 @@ import static util.ItUtils.newUserWsClient;
* {@code @ClassRule} must be used through a {@link org.junit.rules.RuleChain}
* around {@link Orchestrator}.
*/
-public class Tester extends ExternalResource implements Session {
+public class Tester extends ExternalResource implements TesterSession {
private final Orchestrator orchestrator;
@@ -55,7 +56,7 @@ public class Tester extends ExternalResource implements Session {
// initialized in #before()
private boolean beforeCalled = false;
- private Session rootSession;
+ private TesterSession rootSession;
public Tester(Orchestrator orchestrator) {
this.orchestrator = orchestrator;
@@ -73,7 +74,7 @@ public class Tester extends ExternalResource implements Session {
/**
* Enables Elasticsearch debugging, see {@link #elasticsearch()}.
- *
+ * <p>
* The property "sonar.search.httpPort" must be defined before
* starting SonarQube server.
*/
@@ -86,7 +87,7 @@ public class Tester extends ExternalResource implements Session {
@Override
public void before() {
verifyNotStarted();
- rootSession = new SessionImpl(orchestrator, "admin", "admin");
+ rootSession = new TesterSessionImpl(orchestrator, "admin", "admin");
if (!disableOrganizations) {
organizations().enableSupport();
@@ -106,17 +107,17 @@ public class Tester extends ExternalResource implements Session {
qGates().deleteAll();
}
- public Session asAnonymous() {
+ public TesterSession asAnonymous() {
return as(null, null);
}
- public Session as(String login) {
+ public TesterSession as(String login) {
return as(login, login);
}
- public Session as(String login, String password) {
+ public TesterSession as(String login, String password) {
verifyStarted();
- return new SessionImpl(orchestrator, login, password);
+ return new TesterSessionImpl(orchestrator, login, password);
}
public Elasticsearch elasticsearch() {
@@ -131,15 +132,6 @@ public class Tester extends ExternalResource implements Session {
return Navigation.create(orchestrator);
}
- /**
- * @deprecated use Selenide tests with {@link #openBrowser()}
- */
- @Deprecated
- public Tester runHtmlTests(String... htmlTests) {
- Selenese.runSelenese(orchestrator, htmlTests);
- return this;
- }
-
private void verifyNotStarted() {
if (beforeCalled) {
throw new IllegalStateException("Orchestrator should not be already started");
@@ -196,11 +188,15 @@ public class Tester extends ExternalResource implements Session {
return rootSession.qGates();
}
- private static class SessionImpl implements Session {
+ private static class TesterSessionImpl implements TesterSession {
private final WsClient client;
- private SessionImpl(Orchestrator orchestrator, @Nullable String login, @Nullable String password) {
- this.client = newUserWsClient(orchestrator, login, password);
+ private TesterSessionImpl(Orchestrator orchestrator, @Nullable String login, @Nullable String password) {
+ Server server = orchestrator.getServer();
+ this.client = WsClientFactories.getDefault().newClient(HttpConnector.newBuilder()
+ .url(server.getUrl())
+ .credentials(login, password)
+ .build());
}
@Override
diff --git a/tests/src/test/java/org/sonarqube/tests/Session.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/TesterSession.java
index 23b0b652d4e..6c2673abcb2 100644
--- a/tests/src/test/java/org/sonarqube/tests/Session.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/TesterSession.java
@@ -17,11 +17,11 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonarqube.tests;
+package org.sonarqube.qa.util;
import org.sonarqube.ws.client.WsClient;
-public interface Session {
+public interface TesterSession {
WsClient wsClient();
diff --git a/tests/src/test/java/org/sonarqube/tests/UserTester.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/UserTester.java
index 8dc964fa782..5f4f4a943d0 100644
--- a/tests/src/test/java/org/sonarqube/tests/UserTester.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/UserTester.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonarqube.tests;
+package org.sonarqube.qa.util;
import java.util.List;
import java.util.Optional;
@@ -38,9 +38,9 @@ public class UserTester {
private static final AtomicInteger ID_GENERATOR = new AtomicInteger();
- private final Session session;
+ private final TesterSession session;
- UserTester(Session session) {
+ UserTester(TesterSession session) {
this.session = session;
}
@@ -71,7 +71,7 @@ public class UserTester {
public final User generateAdministrator(Consumer<CreateRequest.Builder>... populators) {
User user = generate(populators);
session.wsClient().permissions().addUser(new org.sonarqube.ws.client.permission.AddUserWsRequest().setLogin(user.getLogin()).setPermission("admin"));
- session.wsClient().userGroups().addUser(org.sonarqube.ws.client.usergroup.AddUserWsRequest.builder().setLogin(user.getLogin()).setName("sonar-administrators").build());
+ session.wsClient().userGroups().addUser(AddUserWsRequest.builder().setLogin(user.getLogin()).setName("sonar-administrators").build());
return user;
}
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/BackgroundTaskItem.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/BackgroundTaskItem.java
index 0c86d3293b1..d5e09d103a4 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/BackgroundTaskItem.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/BackgroundTaskItem.java
@@ -48,7 +48,7 @@ public class BackgroundTaskItem {
}
public BackgroundTaskItem assertScannerContextContains(String text) {
- Selenide.$(".js-task-scanner-context").should(Condition.hasText(text));
+ Selenide.$(".js-task-scanner-context").should(Condition.text(text));
return this;
}
@@ -59,7 +59,7 @@ public class BackgroundTaskItem {
}
public BackgroundTaskItem assertErrorStacktraceContains(String text) {
- Selenide.$(".js-task-stacktrace").should(Condition.hasText(text));
+ Selenide.$(".js-task-stacktrace").should(Condition.text(text));
return this;
}
}
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/LoginPage.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/LoginPage.java
index b210e01fb2e..8fb508c4ed3 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/LoginPage.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/LoginPage.java
@@ -54,7 +54,7 @@ public class LoginPage {
return Selenide.$(".process-spinner-failed");
}
- private <T> T submitCredentials(String login, String password, Class<T> expectedResultPage) {
+ private static <T> T submitCredentials(String login, String password, Class<T> expectedResultPage) {
Selenide.$("#login").val(login);
Selenide.$("#password").val(password);
Selenide.$(By.name("commit")).click();
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/MarketplacePage.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/MarketplacePage.java
index 908bad3b3e9..dac1b28ca8c 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/MarketplacePage.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/MarketplacePage.java
@@ -54,7 +54,7 @@ public class MarketplacePage {
return this;
}
- private SelenideElement getPlugin(String name) {
+ private static SelenideElement getPlugin(String name) {
return Selenide.$$(".js-plugin-name").findBy(Condition.text(name)).should(Condition.exist).parent().parent().parent();
}
}
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/Navigation.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/Navigation.java
index 67cea197772..fbfb8862fe7 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/Navigation.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/Navigation.java
@@ -164,7 +164,7 @@ public class Navigation {
}
public SettingsPage openSettings(@Nullable String projectKey) throws UnsupportedEncodingException {
- String url = projectKey != null ? "/project/settings?id=" + URLEncoder.encode(projectKey, "UTF-8") : "/settings";
+ String url = projectKey != null ? ("/project/settings?id=" + URLEncoder.encode(projectKey, "UTF-8")) : "/settings";
return open(url, SettingsPage.class);
}
@@ -249,11 +249,11 @@ public class Navigation {
return Selenide.$("#error");
}
- private SelenideElement logInLink() {
+ private static SelenideElement logInLink() {
return Selenide.$(By.linkText("Log in"));
}
- private SelenideElement loggedInDropdown() {
+ private static SelenideElement loggedInDropdown() {
return Selenide.$(".js-user-authenticated");
}
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/NotificationsPage.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/NotificationsPage.java
index bd4911a94c6..06939de713c 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/NotificationsPage.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/NotificationsPage.java
@@ -24,7 +24,7 @@ import com.codeborne.selenide.Selenide;
public class NotificationsPage extends Navigation {
- private final String EMAIL = "EmailNotificationChannel";
+ private static final String EMAIL = "EmailNotificationChannel";
public NotificationsPage() {
Selenide.$("#account-page").shouldHave(Condition.text("Overall notifications"));
@@ -90,11 +90,11 @@ public class NotificationsPage extends Navigation {
return this;
}
- private String globalCheckboxSelector(String type, String channel) {
+ private static String globalCheckboxSelector(String type, String channel) {
return "#global-notification-" + type + "-" + channel;
}
- private String projectCheckboxSelector(String project, String type, String channel) {
+ private static String projectCheckboxSelector(String project, String type, String channel) {
return "#project-notification-" + project + "-" + type + "-" + channel;
}
@@ -112,7 +112,7 @@ public class NotificationsPage extends Navigation {
return this;
}
- private void toggleCheckbox(String selector) {
+ private static void toggleCheckbox(String selector) {
Selenide.$(selector).click();
}
}
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectActivityPage.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectActivityPage.java
index ad8206cd47d..05a7fbc6bfb 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectActivityPage.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectActivityPage.java
@@ -54,7 +54,7 @@ public class ProjectActivityPage {
Selenide.$("#project-activity")
.find(".project-activity-day[data-day=\"" + day + "\"]")
.find(".project-activity-analysis")
- .should(Condition.hasText(text));
+ .should(Condition.text(text));
return this;
}
}
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectCodePage.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectCodePage.java
index 42bb86748a2..dfdd972427a 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectCodePage.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectCodePage.java
@@ -24,9 +24,6 @@ import com.codeborne.selenide.Selenide;
public class ProjectCodePage {
- public ProjectCodePage() {
- }
-
public ProjectCodePage openFirstComponent() {
Selenide.$$(".code-name-cell a").first().click();
return this;
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectDashboardPage.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectDashboardPage.java
index 4db286489dd..c30abb98901 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectDashboardPage.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectDashboardPage.java
@@ -49,11 +49,10 @@ public class ProjectDashboardPage {
public SelenideElement getOverviewMeasure(String measure) {
ElementsCollection measures = Selenide.$$(".overview-domain-measure");
- SelenideElement element = measures.find(Condition.text(measure)).shouldBe(Condition.visible);
- return element;
+ return measures.find(Condition.text(measure)).shouldBe(Condition.visible);
}
- private SelenideElement getTagsMeta() {
+ private static SelenideElement getTagsMeta() {
SelenideElement element = Selenide.$(".overview-meta-tags");
element.shouldBe(Condition.visible);
return element;
@@ -61,38 +60,38 @@ public class ProjectDashboardPage {
public ProjectDashboardPage shouldHaveTags(String... tags) {
String tagsList = String.join(", ", Arrays.asList(tags));
- this.getTagsMeta().$(".tags-list > span").should(Condition.hasText(tagsList));
+ getTagsMeta().$(".tags-list > span").should(Condition.text(tagsList));
return this;
}
public ProjectDashboardPage shouldNotBeEditable() {
- SelenideElement tagsElem = this.getTagsMeta();
+ SelenideElement tagsElem = getTagsMeta();
tagsElem.$("button").shouldNot(Condition.exist);
tagsElem.$("div.multi-select").shouldNot(Condition.exist);
return this;
}
public ProjectDashboardPage shouldBeEditable() {
- SelenideElement tagsElem = this.getTagsMeta();
+ SelenideElement tagsElem = getTagsMeta();
tagsElem.$("button").shouldBe(Condition.visible);
return this;
}
public ProjectDashboardPage openTagEditor() {
- SelenideElement tagsElem = this.getTagsMeta();
+ SelenideElement tagsElem = getTagsMeta();
tagsElem.$("button").shouldBe(Condition.visible).click();
tagsElem.$("div.multi-select").shouldBe(Condition.visible);
return this;
}
public SelenideElement getTagAtIdx(Integer idx) {
- SelenideElement tagsElem = this.getTagsMeta();
+ SelenideElement tagsElem = getTagsMeta();
tagsElem.$("div.multi-select").shouldBe(Condition.visible);
return tagsElem.$$("ul.menu a").get(idx);
}
public ProjectDashboardPage sendKeysToTagsInput(CharSequence... charSequences) {
- SelenideElement tagsInput = this.getTagsMeta().find("input");
+ SelenideElement tagsInput = getTagsMeta().find("input");
tagsInput.sendKeys(charSequences);
return this;
}
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectKeyPage.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectKeyPage.java
index 5a3e5ec678b..cfc2e8137ab 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectKeyPage.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectKeyPage.java
@@ -77,8 +77,8 @@ public class ProjectKeyPage {
public ProjectKeyPage assertBulkChangeSimulationResult(String oldKey, String newKey) {
SelenideElement row = Selenide.$("#bulk-update-results").$("[data-key=\"" + oldKey + "\"]");
- row.$(".js-old-key").should(Condition.hasText(oldKey));
- row.$(".js-new-key").should(Condition.hasText(newKey));
+ row.$(".js-old-key").should(Condition.text(oldKey));
+ row.$(".js-new-key").should(Condition.text(newKey));
return this;
}
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/SystemInfoPageItem.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/SystemInfoPageItem.java
index 55d9c84092e..c047a7be28c 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/SystemInfoPageItem.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/SystemInfoPageItem.java
@@ -26,8 +26,8 @@ public class SystemInfoPageItem {
private final SelenideElement elt;
public SystemInfoPageItem(SelenideElement elt) {
- this.elt = elt;
- }
+ this.elt = elt;
+ }
public SystemInfoPageItem shouldHaveHealth() {
elt.$(".system-info-health-info .status-indicator").should(Condition.exist);
@@ -72,7 +72,7 @@ public class SystemInfoPageItem {
}
public SystemInfoPageItem ensureOpen() {
- if(!isOpen()) {
+ if (!isOpen()) {
elt.click();
elt.$(".boxed-group-inner").should(Condition.exist);
}
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/issues/IssuesPage.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/issues/IssuesPage.java
index 92755921f37..8da8149bcf6 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/issues/IssuesPage.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/issues/IssuesPage.java
@@ -32,14 +32,6 @@ public class IssuesPage {
Selenide.$(".issues").should(Condition.exist);
}
- private ElementsCollection getIssuesElements() {
- return Selenide.$$(".issues .issue");
- }
-
- private ElementsCollection getIssuesPathComponents() {
- return Selenide.$$(".issues-workspace-list-component");
- }
-
public List<Issue> getIssues() {
return getIssuesElements()
.stream()
@@ -48,7 +40,7 @@ public class IssuesPage {
}
public IssuesPage issuesCount(Integer count) {
- this.getIssuesElements().shouldHaveSize(count);
+ getIssuesElements().shouldHaveSize(count);
return this;
}
@@ -58,12 +50,12 @@ public class IssuesPage {
}
public IssuesPage componentsShouldContain(String path) {
- this.getIssuesPathComponents().forEach(element -> element.shouldHave(Condition.text(path)));
+ getIssuesPathComponents().forEach(element -> element.shouldHave(Condition.text(path)));
return this;
}
public IssuesPage componentsShouldNotContain(String path) {
- this.getIssuesPathComponents().forEach(element -> element.shouldNotHave(Condition.text(path)));
+ getIssuesPathComponents().forEach(element -> element.shouldNotHave(Condition.text(path)));
return this;
}
@@ -79,4 +71,12 @@ public class IssuesPage {
Selenide.$("#issues-bulk-change-assignee .Select-input input").pressEscape();
return this;
}
+
+ private static ElementsCollection getIssuesElements() {
+ return Selenide.$$(".issues .issue");
+ }
+
+ private static ElementsCollection getIssuesPathComponents() {
+ return Selenide.$$(".issues-workspace-list-component");
+ }
}
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/issues/package-info.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/issues/package-info.java
new file mode 100644
index 00000000000..a035971ae1e
--- /dev/null
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/issues/package-info.java
@@ -0,0 +1,23 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info 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.sonarqube.qa.util.pageobjects.issues;
+
+import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/measures/MeasuresPage.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/measures/MeasuresPage.java
index de052a403de..f3cd21aac1b 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/measures/MeasuresPage.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/measures/MeasuresPage.java
@@ -37,14 +37,14 @@ public class MeasuresPage {
}
public MeasuresPage measureHasValue(String measure, Integer value) {
- SelenideElement sidebar = this.getSideBar();
+ SelenideElement sidebar = getSideBar();
sidebar.$("#measure-" + measure + "-name").should(Condition.exist);
sidebar.$("#measure-" + measure + "-value").should(Condition.exist).shouldHave(Condition.text(value.toString()));
return this;
}
public MeasuresPage measureHasLeak(String measure, Integer value) {
- SelenideElement sidebar = this.getSideBar();
+ SelenideElement sidebar = getSideBar();
sidebar.$("#measure-" + measure + "-name").should(Condition.exist);
sidebar.$("#measure-" + measure + "-leak").should(Condition.exist).shouldHave(Condition.text(value.toString()));
return this;
@@ -83,7 +83,7 @@ public class MeasuresPage {
}
public MeasureContent openMeasureContent(String measure) {
- SelenideElement sidebar = this.getSideBar();
+ SelenideElement sidebar = getSideBar();
SelenideElement facetItem = sidebar.$("#measure-" + measure + "-name");
facetItem.click();
MeasureContent content = new MeasureContent(Selenide.$("#component-measures .measure-details-content").should(Condition.exist));
@@ -91,7 +91,7 @@ public class MeasuresPage {
return content;
}
- private SelenideElement getSideBar() {
+ private static SelenideElement getSideBar() {
return Selenide.$("#component-measures .layout-page-side").should(Condition.exist);
}
}
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/measures/package-info.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/measures/package-info.java
new file mode 100644
index 00000000000..64041b2e8d1
--- /dev/null
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/measures/package-info.java
@@ -0,0 +1,23 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info 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.sonarqube.qa.util.pageobjects.measures;
+
+import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/MemberItem.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/MemberItem.java
index fd02dfb1f11..e25ff4a441c 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/MemberItem.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/MemberItem.java
@@ -85,7 +85,7 @@ public class MemberItem {
return this;
}
- private SelenideElement getModal(String title) {
+ private static SelenideElement getModal(String title) {
Selenide.$(".modal-head").should(Condition.exist).shouldHave(Condition.text(title));
SelenideElement form = Selenide.$(".ReactModalPortal form");
form.should(Condition.exist);
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/MembersPage.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/MembersPage.java
index 21816aea1c1..d2b560f6db4 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/MembersPage.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/MembersPage.java
@@ -63,7 +63,7 @@ public class MembersPage {
this.canAddMember();
Selenide.$(".page-actions button").click();
- SelenideElement modal = this.getModal("Add user");
+ SelenideElement modal = getModal("Add user");
SelenideElement input = modal.$(".Select-input input");
input.val(login);
modal.$("div.Select-option.is-focused").should(Condition.exist);
@@ -72,7 +72,7 @@ public class MembersPage {
return this;
}
- private SelenideElement getModal(String title) {
+ private static SelenideElement getModal(String title) {
Selenide.$(".modal-head").should(Condition.exist).shouldHave(Condition.text(title));
SelenideElement form = Selenide.$(".ReactModalPortal form");
form.should(Condition.exist);
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/package-info.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/package-info.java
new file mode 100644
index 00000000000..3928f0134f3
--- /dev/null
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/organization/package-info.java
@@ -0,0 +1,23 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info 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.sonarqube.qa.util.pageobjects.organization;
+
+import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/projects/ProjectsPage.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/projects/ProjectsPage.java
index cc55ce2d619..a006d627084 100644
--- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/projects/ProjectsPage.java
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/projects/ProjectsPage.java
@@ -110,7 +110,7 @@ public class ProjectsPage {
return this;
}
- private SelenideElement getOpenTopBar() {
+ private static SelenideElement getOpenTopBar() {
return Selenide.$(".projects-topbar-items").should(Condition.exist);
}
}
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/projects/package-info.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/projects/package-info.java
new file mode 100644
index 00000000000..20aa8b7ca96
--- /dev/null
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/projects/package-info.java
@@ -0,0 +1,23 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info 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.sonarqube.qa.util.pageobjects.projects;
+
+import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/settings/package-info.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/settings/package-info.java
new file mode 100644
index 00000000000..f60e348b614
--- /dev/null
+++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/settings/package-info.java
@@ -0,0 +1,23 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info 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.sonarqube.qa.util.pageobjects.settings;
+
+import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/tests/src/test/java/org/sonarqube/tests/analysis/AnalysisEsResilienceTest.java b/tests/src/test/java/org/sonarqube/tests/analysis/AnalysisEsResilienceTest.java
index 226c736032f..db55ef7f23f 100644
--- a/tests/src/test/java/org/sonarqube/tests/analysis/AnalysisEsResilienceTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/analysis/AnalysisEsResilienceTest.java
@@ -36,7 +36,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Byteman;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Common;
import org.sonarqube.ws.Issues;
import org.sonarqube.ws.Organizations.Organization;
diff --git a/tests/src/test/java/org/sonarqube/tests/analysis/RedirectTest.java b/tests/src/test/java/org/sonarqube/tests/analysis/RedirectTest.java
index 4e1ffec8f2a..bdcac11098f 100644
--- a/tests/src/test/java/org/sonarqube/tests/analysis/RedirectTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/analysis/RedirectTest.java
@@ -36,7 +36,7 @@ import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.RuleChain;
import org.sonarqube.tests.Category3Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import util.ItUtils;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/tests/src/test/java/org/sonarqube/tests/authorisation/PermissionTemplateTest.java b/tests/src/test/java/org/sonarqube/tests/authorisation/PermissionTemplateTest.java
index 366632b0644..b0a82a81dc3 100644
--- a/tests/src/test/java/org/sonarqube/tests/authorisation/PermissionTemplateTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/authorisation/PermissionTemplateTest.java
@@ -30,7 +30,7 @@ import org.junit.rules.DisableOnDebug;
import org.junit.rules.TestRule;
import org.junit.rules.Timeout;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.WsPermissions;
import org.sonarqube.ws.WsPermissions.CreateTemplateWsResponse;
diff --git a/tests/src/test/java/org/sonarqube/tests/authorisation/QualityProfileAdminPermissionTest.java b/tests/src/test/java/org/sonarqube/tests/authorisation/QualityProfileAdminPermissionTest.java
index 11fe9c49637..b96d5cc719c 100644
--- a/tests/src/test/java/org/sonarqube/tests/authorisation/QualityProfileAdminPermissionTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/authorisation/QualityProfileAdminPermissionTest.java
@@ -24,9 +24,10 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category1Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.client.permission.AddUserWsRequest;
import org.sonarqube.ws.client.qualityprofile.CreateRequest;
+import util.selenium.Selenese;
import static util.ItUtils.runProjectAnalysis;
@@ -50,7 +51,7 @@ public class QualityProfileAdminPermissionTest {
tester.wsClient().permissions().addUser(new AddUserWsRequest().setLogin("profileadm").setPermission("profileadmin"));
createProfile("xoo", "foo");
- tester.runHtmlTests(
+ Selenese.runSelenese(orchestrator,
// Verify normal user is not allowed to do any modification
"/authorisation/QualityProfileAdminPermissionTest/normal-user.html",
// Verify profile admin is allowed to do modifications
diff --git a/tests/src/test/java/org/sonarqube/tests/authorisation/SystemPasscodeTest.java b/tests/src/test/java/org/sonarqube/tests/authorisation/SystemPasscodeTest.java
index 32fa0cba328..b7fabd3bb92 100644
--- a/tests/src/test/java/org/sonarqube/tests/authorisation/SystemPasscodeTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/authorisation/SystemPasscodeTest.java
@@ -25,7 +25,7 @@ import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.client.GetRequest;
import org.sonarqube.ws.client.WsRequest;
import org.sonarqube.ws.client.WsResponse;
diff --git a/tests/src/test/java/org/sonarqube/tests/branch/BranchTest.java b/tests/src/test/java/org/sonarqube/tests/branch/BranchTest.java
index 13dcb0b396f..aef3ab0696a 100644
--- a/tests/src/test/java/org/sonarqube/tests/branch/BranchTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/branch/BranchTest.java
@@ -27,7 +27,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category2Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Common;
import org.sonarqube.ws.WsBranches;
import org.sonarqube.ws.client.GetRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/ce/CeShutdownTest.java b/tests/src/test/java/org/sonarqube/tests/ce/CeShutdownTest.java
index 10a4fbfdc6b..07ae9a9c596 100644
--- a/tests/src/test/java/org/sonarqube/tests/ce/CeShutdownTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/ce/CeShutdownTest.java
@@ -32,7 +32,7 @@ import org.junit.rules.DisableOnDebug;
import org.junit.rules.TemporaryFolder;
import org.junit.rules.TestRule;
import org.junit.rules.Timeout;
-import org.sonarqube.tests.LogsTailer;
+import org.sonarqube.qa.util.LogsTailer;
import org.sonarqube.ws.client.WsClient;
import org.sonarqube.ws.client.ce.ActivityStatusWsRequest;
import util.ItUtils;
diff --git a/tests/src/test/java/org/sonarqube/tests/ce/ReportFailureNotificationTest.java b/tests/src/test/java/org/sonarqube/tests/ce/ReportFailureNotificationTest.java
index 46727f2c375..411c753b9bd 100644
--- a/tests/src/test/java/org/sonarqube/tests/ce/ReportFailureNotificationTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/ce/ReportFailureNotificationTest.java
@@ -42,7 +42,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.WsProjects;
import org.sonarqube.ws.WsUsers;
diff --git a/tests/src/test/java/org/sonarqube/tests/dbCleaner/PurgeTest.java b/tests/src/test/java/org/sonarqube/tests/dbCleaner/PurgeTest.java
index 2b3115564e8..c2bedf5426b 100644
--- a/tests/src/test/java/org/sonarqube/tests/dbCleaner/PurgeTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/dbCleaner/PurgeTest.java
@@ -35,7 +35,7 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ErrorCollector;
import org.sonarqube.tests.Category4Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.ProjectAnalyses;
import org.sonarqube.ws.WsMeasures;
import org.sonarqube.ws.WsMeasures.SearchHistoryResponse.HistoryValue;
diff --git a/tests/src/test/java/org/sonarqube/tests/issue/IssueCreationDatePluginChangedTest.java b/tests/src/test/java/org/sonarqube/tests/issue/IssueCreationDatePluginChangedTest.java
index e05168fb497..ce98ec258f1 100644
--- a/tests/src/test/java/org/sonarqube/tests/issue/IssueCreationDatePluginChangedTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/issue/IssueCreationDatePluginChangedTest.java
@@ -37,7 +37,7 @@ import org.junit.Rule;
import org.junit.Test;
import org.sonar.wsclient.issue.Issue;
import org.sonar.wsclient.issue.IssueQuery;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.client.PostRequest;
import org.sonarqube.ws.client.WsClient;
import org.subethamail.wiser.Wiser;
diff --git a/tests/src/test/java/org/sonarqube/tests/issue/IssueNotificationsTest.java b/tests/src/test/java/org/sonarqube/tests/issue/IssueNotificationsTest.java
index 62b6117fdaf..fbeeb637d60 100644
--- a/tests/src/test/java/org/sonarqube/tests/issue/IssueNotificationsTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/issue/IssueNotificationsTest.java
@@ -40,7 +40,7 @@ import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameter;
import org.junit.runners.Parameterized.Parameters;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Issues.Issue;
import org.sonarqube.ws.Issues.SearchWsResponse;
import org.sonarqube.ws.Organizations.Organization;
diff --git a/tests/src/test/java/org/sonarqube/tests/issue/IssueTagsTest.java b/tests/src/test/java/org/sonarqube/tests/issue/IssueTagsTest.java
index aa1f987c565..c44fcafaf73 100644
--- a/tests/src/test/java/org/sonarqube/tests/issue/IssueTagsTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/issue/IssueTagsTest.java
@@ -29,7 +29,7 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
import org.sonarqube.ws.client.issue.SearchWsRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/issue/OrganizationIssueAssignTest.java b/tests/src/test/java/org/sonarqube/tests/issue/OrganizationIssueAssignTest.java
index a9e5bcf3eee..8ca101b9fee 100644
--- a/tests/src/test/java/org/sonarqube/tests/issue/OrganizationIssueAssignTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/issue/OrganizationIssueAssignTest.java
@@ -28,7 +28,7 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Issues;
import org.sonarqube.ws.Issues.Issue;
import org.sonarqube.ws.Organizations;
diff --git a/tests/src/test/java/org/sonarqube/tests/issue/OrganizationIssuesPageTest.java b/tests/src/test/java/org/sonarqube/tests/issue/OrganizationIssuesPageTest.java
index df0e4c58dd9..13e7c26f8c3 100644
--- a/tests/src/test/java/org/sonarqube/tests/issue/OrganizationIssuesPageTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/issue/OrganizationIssuesPageTest.java
@@ -27,7 +27,7 @@ import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.qa.util.pageobjects.Navigation;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.WsUsers;
import util.issue.IssueRule;
diff --git a/tests/src/test/java/org/sonarqube/tests/lite/LiteTest.java b/tests/src/test/java/org/sonarqube/tests/lite/LiteTest.java
index e60adfdbc2b..2585f27d65a 100644
--- a/tests/src/test/java/org/sonarqube/tests/lite/LiteTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/lite/LiteTest.java
@@ -24,7 +24,7 @@ import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.RuleChain;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Issues;
import org.sonarqube.ws.WsComponents;
import org.sonarqube.ws.WsMeasures;
diff --git a/tests/src/test/java/org/sonarqube/tests/measure/ProjectMeasuresPageTest.java b/tests/src/test/java/org/sonarqube/tests/measure/ProjectMeasuresPageTest.java
index 2ea1009b617..080d9e059a8 100644
--- a/tests/src/test/java/org/sonarqube/tests/measure/ProjectMeasuresPageTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/measure/ProjectMeasuresPageTest.java
@@ -29,7 +29,7 @@ import org.sonarqube.qa.util.pageobjects.Navigation;
import org.sonarqube.qa.util.pageobjects.measures.MeasureContent;
import org.sonarqube.qa.util.pageobjects.measures.MeasuresPage;
import org.sonarqube.tests.Category1Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import static com.codeborne.selenide.Condition.visible;
import static com.codeborne.selenide.Selenide.$;
diff --git a/tests/src/test/java/org/sonarqube/tests/organization/BillingTest.java b/tests/src/test/java/org/sonarqube/tests/organization/BillingTest.java
index 730298db1e6..e0a8d9c2ea1 100644
--- a/tests/src/test/java/org/sonarqube/tests/organization/BillingTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/organization/BillingTest.java
@@ -28,7 +28,7 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
import org.sonarqube.ws.client.GetRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/organization/OrganizationMembershipTest.java b/tests/src/test/java/org/sonarqube/tests/organization/OrganizationMembershipTest.java
index 256b30b7271..1903f3c7336 100644
--- a/tests/src/test/java/org/sonarqube/tests/organization/OrganizationMembershipTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/organization/OrganizationMembershipTest.java
@@ -28,7 +28,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
import org.sonarqube.ws.client.HttpException;
diff --git a/tests/src/test/java/org/sonarqube/tests/organization/OrganizationMembershipUiTest.java b/tests/src/test/java/org/sonarqube/tests/organization/OrganizationMembershipUiTest.java
index 817248a14fb..bec9b244087 100644
--- a/tests/src/test/java/org/sonarqube/tests/organization/OrganizationMembershipUiTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/organization/OrganizationMembershipUiTest.java
@@ -28,7 +28,7 @@ import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.qa.util.pageobjects.organization.MembersPage;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
diff --git a/tests/src/test/java/org/sonarqube/tests/organization/OrganizationTest.java b/tests/src/test/java/org/sonarqube/tests/organization/OrganizationTest.java
index 7ea671d5928..39750b1e9c1 100644
--- a/tests/src/test/java/org/sonarqube/tests/organization/OrganizationTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/organization/OrganizationTest.java
@@ -29,8 +29,8 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
-import org.sonarqube.tests.OrganizationTester;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.OrganizationTester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.QualityProfiles;
import org.sonarqube.ws.Rules;
diff --git a/tests/src/test/java/org/sonarqube/tests/organization/PersonalOrganizationTest.java b/tests/src/test/java/org/sonarqube/tests/organization/PersonalOrganizationTest.java
index 5f6320c6397..9faddde8421 100644
--- a/tests/src/test/java/org/sonarqube/tests/organization/PersonalOrganizationTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/organization/PersonalOrganizationTest.java
@@ -28,7 +28,7 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.WsUsers;
import org.sonarqube.ws.client.organization.SearchWsRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/organization/RootUserOnOrganizationTest.java b/tests/src/test/java/org/sonarqube/tests/organization/RootUserOnOrganizationTest.java
index e462fb709c5..5b326210fa3 100644
--- a/tests/src/test/java/org/sonarqube/tests/organization/RootUserOnOrganizationTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/organization/RootUserOnOrganizationTest.java
@@ -25,8 +25,8 @@ import java.sql.SQLException;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Session;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.TesterSession;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsRoot;
import org.sonarqube.ws.WsUsers;
import util.user.UserRule;
@@ -69,8 +69,8 @@ public class RootUserOnOrganizationTest {
public void root_can_be_set_and_unset_via_web_services() {
WsUsers.CreateWsResponse.User user1 = tester.users().generate();
WsUsers.CreateWsResponse.User user2 = tester.users().generate();
- Session user1Session = tester.as(user1.getLogin());
- Session user2Session = tester.as(user2.getLogin());
+ TesterSession user1Session = tester.as(user1.getLogin());
+ TesterSession user2Session = tester.as(user2.getLogin());
// non root can not set or unset root another user not itself
expectForbiddenError(() -> user1Session.wsClient().roots().setRoot(user2.getLogin()));
diff --git a/tests/src/test/java/org/sonarqube/tests/organization/RootUserTest.java b/tests/src/test/java/org/sonarqube/tests/organization/RootUserTest.java
index 517fc94d0f1..6d66e5fc33c 100644
--- a/tests/src/test/java/org/sonarqube/tests/organization/RootUserTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/organization/RootUserTest.java
@@ -24,7 +24,7 @@ import org.sonarqube.tests.Category4Suite;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import static util.ItUtils.expectForbiddenError;
diff --git a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectAdministrationTest.java b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectAdministrationTest.java
index 88f75d55db5..7612667cf62 100644
--- a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectAdministrationTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectAdministrationTest.java
@@ -42,7 +42,7 @@ import org.sonarqube.qa.util.pageobjects.Navigation;
import org.sonarqube.qa.util.pageobjects.ProjectsManagementPage;
import org.sonarqube.qa.util.pageobjects.settings.SettingsPage;
import org.sonarqube.tests.Category1Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsPermissions;
import org.sonarqube.ws.client.permission.AddUserToTemplateWsRequest;
import org.sonarqube.ws.client.permission.CreateTemplateWsRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectBulkDeleteTest.java b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectBulkDeleteTest.java
index 28d601e0e21..71ac12d965c 100644
--- a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectBulkDeleteTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectBulkDeleteTest.java
@@ -27,7 +27,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.WsProjects.CreateWsResponse;
import org.sonarqube.ws.WsProjects.SearchWsResponse.Component;
diff --git a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectBulkDeletionPageTest.java b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectBulkDeletionPageTest.java
index bf087c2917d..988f37703f8 100644
--- a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectBulkDeletionPageTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectBulkDeletionPageTest.java
@@ -25,7 +25,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category1Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsProjects.CreateWsResponse.Project;
import org.sonarqube.ws.client.component.SearchProjectsRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectDeleteTest.java b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectDeleteTest.java
index b0b43103ac6..788a94dfbf3 100644
--- a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectDeleteTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectDeleteTest.java
@@ -31,7 +31,7 @@ import org.junit.rules.DisableOnDebug;
import org.junit.rules.TestRule;
import org.junit.rules.Timeout;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.WsComponents;
import org.sonarqube.ws.WsProjects;
diff --git a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectKeyUpdateTest.java b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectKeyUpdateTest.java
index 79a8902f582..f1e1ba47ce4 100644
--- a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectKeyUpdateTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectKeyUpdateTest.java
@@ -34,7 +34,7 @@ import org.junit.rules.DisableOnDebug;
import org.junit.rules.TestRule;
import org.junit.rules.Timeout;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.WsComponents;
import org.sonarqube.ws.WsProjects;
diff --git a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectProvisioningTest.java b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectProvisioningTest.java
index 1ff7a8f24d6..40140448b55 100644
--- a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectProvisioningTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectProvisioningTest.java
@@ -29,7 +29,7 @@ import org.junit.rules.DisableOnDebug;
import org.junit.rules.TestRule;
import org.junit.rules.Timeout;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.WsComponents;
import org.sonarqube.ws.WsProjects;
diff --git a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectQualityGatePageTest.java b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectQualityGatePageTest.java
index 6a3bdbbe8bc..60500c79fd5 100644
--- a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectQualityGatePageTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectQualityGatePageTest.java
@@ -69,8 +69,8 @@ public class ProjectQualityGatePageTest {
try {
ProjectQualityGatePage page = openPage();
SelenideElement selectedQualityGate = page.getSelectedQualityGate();
- selectedQualityGate.should(Condition.hasText("Default"));
- selectedQualityGate.should(Condition.hasText(customQualityGate.name()));
+ selectedQualityGate.should(Condition.text("Default"));
+ selectedQualityGate.should(Condition.text(customQualityGate.name()));
} finally {
qualityGateClient().unsetDefault();
qualityGateClient().destroy(customQualityGate.id());
@@ -84,8 +84,8 @@ public class ProjectQualityGatePageTest {
ProjectQualityGatePage page = openPage();
SelenideElement selectedQualityGate = page.getSelectedQualityGate();
- selectedQualityGate.shouldNot(Condition.hasText("Default"));
- selectedQualityGate.should(Condition.hasText(customQualityGate.name()));
+ selectedQualityGate.shouldNot(Condition.text("Default"));
+ selectedQualityGate.should(Condition.text(customQualityGate.name()));
}
@Test
@@ -104,7 +104,7 @@ public class ProjectQualityGatePageTest {
page.setQualityGate(customQualityGate.name());
SelenideElement selectedQualityGate = page.getSelectedQualityGate();
- selectedQualityGate.should(Condition.hasText(customQualityGate.name()));
+ selectedQualityGate.should(Condition.text(customQualityGate.name()));
}
@Test
@@ -117,8 +117,8 @@ public class ProjectQualityGatePageTest {
page.setQualityGate(customQualityGate.name());
SelenideElement selectedQualityGate = page.getSelectedQualityGate();
- selectedQualityGate.should(Condition.hasText("Default"));
- selectedQualityGate.should(Condition.hasText(customQualityGate.name()));
+ selectedQualityGate.should(Condition.text("Default"));
+ selectedQualityGate.should(Condition.text(customQualityGate.name()));
} finally {
qualityGateClient().unsetDefault();
qualityGateClient().destroy(customQualityGate.id());
diff --git a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectSearchTest.java b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectSearchTest.java
index 23313f49d1d..cd1c0107c8c 100644
--- a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectSearchTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectSearchTest.java
@@ -27,7 +27,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.WsProjects.CreateWsResponse;
import org.sonarqube.ws.WsProjects.SearchWsResponse;
diff --git a/tests/src/test/java/org/sonarqube/tests/projectSearch/LeakProjectsPageTest.java b/tests/src/test/java/org/sonarqube/tests/projectSearch/LeakProjectsPageTest.java
index b09816c222c..54ff1ce9bf6 100644
--- a/tests/src/test/java/org/sonarqube/tests/projectSearch/LeakProjectsPageTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/projectSearch/LeakProjectsPageTest.java
@@ -31,7 +31,7 @@ import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.qa.util.pageobjects.projects.ProjectsPage;
diff --git a/tests/src/test/java/org/sonarqube/tests/projectSearch/ProjectsPageTest.java b/tests/src/test/java/org/sonarqube/tests/projectSearch/ProjectsPageTest.java
index 1a9b5a4a0a4..2843898a886 100644
--- a/tests/src/test/java/org/sonarqube/tests/projectSearch/ProjectsPageTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/projectSearch/ProjectsPageTest.java
@@ -30,7 +30,7 @@ import org.junit.rules.RuleChain;
import org.sonarqube.qa.util.pageobjects.Navigation;
import org.sonarqube.qa.util.pageobjects.projects.ProjectsPage;
import org.sonarqube.tests.Category1Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsUsers;
import org.sonarqube.ws.client.PostRequest;
import org.sonarqube.ws.client.WsClient;
diff --git a/tests/src/test/java/org/sonarqube/tests/projectSearch/SearchProjectsTest.java b/tests/src/test/java/org/sonarqube/tests/projectSearch/SearchProjectsTest.java
index c466b813e11..2e4e6f159c2 100644
--- a/tests/src/test/java/org/sonarqube/tests/projectSearch/SearchProjectsTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/projectSearch/SearchProjectsTest.java
@@ -30,7 +30,7 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Common;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.WsComponents.Component;
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityGate/OrganizationQualityGateUiTest.java b/tests/src/test/java/org/sonarqube/tests/qualityGate/OrganizationQualityGateUiTest.java
index 02e99e90a88..a859558d04e 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityGate/OrganizationQualityGateUiTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityGate/OrganizationQualityGateUiTest.java
@@ -30,7 +30,7 @@ import org.openqa.selenium.By;
import org.sonarqube.qa.util.pageobjects.ProjectDashboardPage;
import org.sonarqube.qa.util.pageobjects.QualityGatePage;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.WsUsers;
import util.issue.IssueRule;
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateForSmallChangesetsTest.java b/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateForSmallChangesetsTest.java
index ca4c99e47dc..f41911e4e2b 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateForSmallChangesetsTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateForSmallChangesetsTest.java
@@ -31,7 +31,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.MediaTypes;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.WsCe;
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateNotificationTest.java b/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateNotificationTest.java
index 9df387528bf..de000ee5e61 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateNotificationTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateNotificationTest.java
@@ -29,7 +29,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category1Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsProjects.CreateWsResponse.Project;
import org.sonarqube.ws.WsQualityGates;
import org.sonarqube.ws.client.PostRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateOnRatingMeasuresTest.java b/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateOnRatingMeasuresTest.java
index c1005e3683c..a90b54cbc1a 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateOnRatingMeasuresTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateOnRatingMeasuresTest.java
@@ -24,7 +24,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category1Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsMeasures;
import org.sonarqube.ws.WsProjects.CreateWsResponse.Project;
import org.sonarqube.ws.WsQualityGates;
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateTest.java b/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateTest.java
index 75e6a897654..400b897fadd 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateTest.java
@@ -43,8 +43,8 @@ import org.sonar.wsclient.qualitygate.NewCondition;
import org.sonar.wsclient.qualitygate.QualityGate;
import org.sonar.wsclient.qualitygate.QualityGateClient;
import org.sonarqube.tests.Category1Suite;
-import org.sonarqube.tests.Session;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.TesterSession;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.MediaTypes;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.WsCe;
@@ -293,7 +293,7 @@ public class QualityGateTest {
Organization organization = tester.organizations().getDefaultOrganization();
WsUsers.CreateWsResponse.User user = tester.users().generateMember(organization);
tester.wsClient().permissions().addUser(new AddUserWsRequest().setLogin(user.getLogin()).setPermission("gateadmin").setOrganization(organization.getKey()));
- Session qGateAdminTester = tester.as(user.getLogin());
+ TesterSession qGateAdminTester = tester.as(user.getLogin());
QualityGatesService qGateService = qGateAdminTester.qGates().service();
// perform administration operations
WsQualityGates.CreateWsResponse qualityGate = qGateAdminTester.qGates().generate();
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateUiTest.java b/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateUiTest.java
index 5c342390d41..1fb41c11454 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateUiTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateUiTest.java
@@ -34,7 +34,7 @@ import org.openqa.selenium.By;
import org.sonarqube.qa.util.pageobjects.Navigation;
import org.sonarqube.qa.util.pageobjects.ProjectActivityPage;
import org.sonarqube.tests.Category1Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsProjects.CreateWsResponse.Project;
import org.sonarqube.ws.WsQualityGates;
import org.sonarqube.ws.client.qualitygate.CreateConditionRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateWithOrganizationsTest.java b/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateWithOrganizationsTest.java
index 226096b2189..2bc320dc475 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateWithOrganizationsTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityGate/QualityGateWithOrganizationsTest.java
@@ -26,7 +26,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.WsProjects.CreateWsResponse.Project;
import org.sonarqube.ws.WsQualityGates.CreateWsResponse;
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityProfile/ActiveRuleEsResilienceTest.java b/tests/src/test/java/org/sonarqube/tests/qualityProfile/ActiveRuleEsResilienceTest.java
index 49be3215f07..0f71864996a 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityProfile/ActiveRuleEsResilienceTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityProfile/ActiveRuleEsResilienceTest.java
@@ -30,7 +30,7 @@ import org.junit.rules.DisableOnDebug;
import org.junit.rules.TestRule;
import org.junit.rules.Timeout;
import org.sonarqube.tests.Byteman;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.QualityProfiles;
import org.sonarqube.ws.client.rule.SearchWsRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityProfile/BuiltInQualityProfilesTest.java b/tests/src/test/java/org/sonarqube/tests/qualityProfile/BuiltInQualityProfilesTest.java
index 6e9173e042a..7b255b78940 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityProfile/BuiltInQualityProfilesTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityProfile/BuiltInQualityProfilesTest.java
@@ -25,8 +25,8 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Session;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.TesterSession;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.QualityProfiles;
import org.sonarqube.ws.QualityProfiles.CreateWsResponse;
@@ -110,7 +110,7 @@ public class BuiltInQualityProfilesTest {
Organization org = tester.organizations().generate();
User administrator = tester.users().generateAdministrator(org);
QualityProfile builtInProfile = getProfile(org, p -> p.getIsBuiltIn() && "Basic".equals(p.getName()) && "xoo".equals(p.getLanguage()));
- Session adminSession = tester.as(administrator.getLogin());
+ TesterSession adminSession = tester.as(administrator.getLogin());
QualityProfiles.CopyWsResponse copyResponse = adminSession.qProfiles().service().copy(new CopyRequest(builtInProfile.getKey(), "My copy"));
@@ -132,7 +132,7 @@ public class BuiltInQualityProfilesTest {
Organization org = tester.organizations().generate();
User administrator = tester.users().generateAdministrator(org);
QualityProfile builtInProfile = getProfile(org, p -> p.getIsBuiltIn() && "Basic".equals(p.getName()) && "xoo".equals(p.getLanguage()));
- Session adminSession = tester.as(administrator.getLogin());
+ TesterSession adminSession = tester.as(administrator.getLogin());
QualityProfiles.CopyWsResponse copyResponse = adminSession.qProfiles().service().copy(new CopyRequest(builtInProfile.getKey(), "My copy"));
adminSession.qProfiles().service().changeParent(
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityProfile/CustomQualityProfilesTest.java b/tests/src/test/java/org/sonarqube/tests/qualityProfile/CustomQualityProfilesTest.java
index 76d707b38c6..84974475261 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityProfile/CustomQualityProfilesTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityProfile/CustomQualityProfilesTest.java
@@ -28,9 +28,9 @@ import java.util.function.Predicate;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.QProfileTester;
-import org.sonarqube.tests.Session;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.QProfileTester;
+import org.sonarqube.qa.util.TesterSession;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.QualityProfiles;
import org.sonarqube.ws.QualityProfiles.CreateWsResponse.QualityProfile;
@@ -188,7 +188,7 @@ public class CustomQualityProfilesTest {
Organization org = tester.organizations().generate();
QualityProfile profile = tester.qProfiles().createXooProfile(org);
- Session anonymousSession = tester.asAnonymous();
+ TesterSession anonymousSession = tester.asAnonymous();
expectUnauthorizedError(() -> anonymousSession.qProfiles().createXooProfile(org));
expectUnauthorizedError(() -> anonymousSession.qProfiles().service().delete(profile.getKey()));
@@ -201,7 +201,7 @@ public class CustomQualityProfilesTest {
Organization org = tester.organizations().generate();
User orgAdmin = tester.users().generateAdministrator(org);
- Session adminSession = tester.as(orgAdmin.getLogin());
+ TesterSession adminSession = tester.as(orgAdmin.getLogin());
QualityProfile profile = adminSession.qProfiles().createXooProfile(org);
// root can activate rule and delete the profile
@@ -217,7 +217,7 @@ public class CustomQualityProfilesTest {
Organization org = tester.organizations().generate();
User user = tester.users().generateAdministrator(org);
- Session adminSession = tester.as(user.getLogin());
+ TesterSession adminSession = tester.as(user.getLogin());
QualityProfile parentProfile = adminSession.qProfiles().createXooProfile(org);
QualityProfile inheritedProfile = adminSession.qProfiles().service().create(
CreateRequest.builder()
@@ -250,7 +250,7 @@ public class CustomQualityProfilesTest {
Organization org = tester.organizations().generate();
User admin = tester.users().generateAdministrator(org);
- Session adminSession = tester.as(admin.getLogin());
+ TesterSession adminSession = tester.as(admin.getLogin());
String projectKey = randomAlphanumeric(10);
String projectName = randomAlphanumeric(10);
@@ -286,7 +286,7 @@ public class CustomQualityProfilesTest {
User admin = tester.users().generateAdministrator(org);
String projectKey = randomAlphanumeric(10);
String projectName = randomAlphanumeric(10);
- Session adminSession = tester.as(admin.getLogin());
+ TesterSession adminSession = tester.as(admin.getLogin());
QualityProfile newXooProfile = adminSession.qProfiles().createXooProfile(org);
adminSession.wsClient().wsConnector().call(new PostRequest("api/projects/create")
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityProfile/OrganizationQualityProfilesUiTest.java b/tests/src/test/java/org/sonarqube/tests/qualityProfile/OrganizationQualityProfilesUiTest.java
index 5a55561549c..69a8e008f93 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityProfile/OrganizationQualityProfilesUiTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityProfile/OrganizationQualityProfilesUiTest.java
@@ -27,17 +27,18 @@ import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.qa.util.pageobjects.Navigation;
import org.sonarqube.qa.util.pageobjects.QualityProfilePage;
import org.sonarqube.qa.util.pageobjects.RulesPage;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.QualityProfiles;
import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
import org.sonarqube.ws.client.PostRequest;
import org.sonarqube.ws.client.qualityprofile.AddProjectRequest;
import org.sonarqube.ws.client.qualityprofile.ChangeParentRequest;
+import util.selenium.Selenese;
import static com.codeborne.selenide.Selenide.$;
import static util.ItUtils.projectDir;
@@ -73,7 +74,7 @@ public class OrganizationQualityProfilesUiTest {
@Test
public void testHomePage() {
- tester.runHtmlTests(
+ Selenese.runSelenese(orchestrator,
"/organization/OrganizationQualityProfilesUiTest/should_display_list.html",
"/organization/OrganizationQualityProfilesUiTest/should_open_from_list.html",
"/organization/OrganizationQualityProfilesUiTest/should_filter_by_language.html");
@@ -81,7 +82,7 @@ public class OrganizationQualityProfilesUiTest {
@Test
public void testProfilePage() {
- tester.runHtmlTests(
+ Selenese.runSelenese(orchestrator,
"/organization/OrganizationQualityProfilesUiTest/should_display_profile_rules.html",
"/organization/OrganizationQualityProfilesUiTest/should_display_profile_inheritance.html",
"/organization/OrganizationQualityProfilesUiTest/should_display_profile_exporters.html");
@@ -104,46 +105,46 @@ public class OrganizationQualityProfilesUiTest {
@Test
public void testProfileChangelog() {
- tester.runHtmlTests(
+ Selenese.runSelenese(orchestrator,
"/organization/OrganizationQualityProfilesUiTest/should_display_changelog.html");
}
@Ignore("to be replaced by selenide test in order to inject profile key")
@Test
public void testComparison() {
- tester.runHtmlTests("/organization/OrganizationQualityProfilesUiTest/should_compare.html");
+ Selenese.runSelenese(orchestrator, "/organization/OrganizationQualityProfilesUiTest/should_compare.html");
}
@Test
public void testCreation() {
- tester.runHtmlTests("/organization/OrganizationQualityProfilesUiTest/should_create.html");
+ Selenese.runSelenese(orchestrator, "/organization/OrganizationQualityProfilesUiTest/should_create.html");
}
@Test
public void testDeletion() {
- tester.runHtmlTests("/organization/OrganizationQualityProfilesUiTest/should_delete.html");
+ Selenese.runSelenese(orchestrator, "/organization/OrganizationQualityProfilesUiTest/should_delete.html");
}
@Test
public void testCopying() {
- tester.runHtmlTests("/organization/OrganizationQualityProfilesUiTest/should_copy.html");
+ Selenese.runSelenese(orchestrator, "/organization/OrganizationQualityProfilesUiTest/should_copy.html");
}
@Test
public void testRenaming() {
- tester.runHtmlTests("/organization/OrganizationQualityProfilesUiTest/should_rename.html");
+ Selenese.runSelenese(orchestrator, "/organization/OrganizationQualityProfilesUiTest/should_rename.html");
}
@Test
public void testSettingDefault() {
- tester.runHtmlTests("/organization/OrganizationQualityProfilesUiTest/should_set_default.html");
+ Selenese.runSelenese(orchestrator, "/organization/OrganizationQualityProfilesUiTest/should_set_default.html");
}
@Test
public void testRestoration() {
deleteProfile("xoo", "empty");
- tester.runHtmlTests("/organization/OrganizationQualityProfilesUiTest/should_restore.html");
+ Selenese.runSelenese(orchestrator, "/organization/OrganizationQualityProfilesUiTest/should_restore.html");
}
@Test
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesEditTest.java b/tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesEditTest.java
index 17298e22211..142fd1d2dff 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesEditTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesEditTest.java
@@ -25,7 +25,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Common;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.QualityProfiles.CreateWsResponse;
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesUiTest.java b/tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesUiTest.java
index 5ad0041e602..6de29578f62 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesUiTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesUiTest.java
@@ -28,13 +28,14 @@ import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.qa.util.pageobjects.Navigation;
import org.sonarqube.tests.Category4Suite;
-import org.sonarqube.tests.Tester;
import org.sonarqube.ws.client.PostRequest;
import org.sonarqube.ws.client.qualityprofile.AddProjectRequest;
import org.sonarqube.ws.client.qualityprofile.ChangeParentRequest;
import org.sonarqube.ws.client.qualityprofile.CreateRequest;
+import util.selenium.Selenese;
import util.user.UserRule;
import static com.codeborne.selenide.Selenide.$;
@@ -80,7 +81,7 @@ public class QualityProfilesUiTest {
@Test
public void testHomePage() {
- tester.runHtmlTests(
+ Selenese.runSelenese(orchestrator,
"/qualityProfile/QualityProfilesUiTest/should_display_list.html",
"/qualityProfile/QualityProfilesUiTest/should_open_from_list.html",
"/qualityProfile/QualityProfilesUiTest/should_filter_by_language.html");
@@ -88,7 +89,7 @@ public class QualityProfilesUiTest {
@Test
public void testProfilePage() {
- tester.runHtmlTests(
+ Selenese.runSelenese(orchestrator,
"/qualityProfile/QualityProfilesUiTest/should_display_profile_rules.html",
"/qualityProfile/QualityProfilesUiTest/should_display_profile_inheritance.html",
"/qualityProfile/QualityProfilesUiTest/should_display_profile_projects.html",
@@ -108,46 +109,46 @@ public class QualityProfilesUiTest {
@Test
public void testProfileChangelog() {
- tester.runHtmlTests(
+ Selenese.runSelenese(orchestrator,
"/qualityProfile/QualityProfilesUiTest/should_display_changelog.html");
}
@Ignore("find a way to know profile key inside selenium tests")
@Test
public void testComparison() {
- tester.runHtmlTests("/qualityProfile/QualityProfilesUiTest/should_compare.html");
+ Selenese.runSelenese(orchestrator, "/qualityProfile/QualityProfilesUiTest/should_compare.html");
}
@Test
public void testCreation() {
- tester.runHtmlTests("/qualityProfile/QualityProfilesUiTest/should_create.html");
+ Selenese.runSelenese(orchestrator, "/qualityProfile/QualityProfilesUiTest/should_create.html");
}
@Test
public void testDeletion() {
- tester.runHtmlTests("/qualityProfile/QualityProfilesUiTest/should_delete.html");
+ Selenese.runSelenese(orchestrator, "/qualityProfile/QualityProfilesUiTest/should_delete.html");
}
@Test
public void testCopying() {
- tester.runHtmlTests("/qualityProfile/QualityProfilesUiTest/should_copy.html");
+ Selenese.runSelenese(orchestrator, "/qualityProfile/QualityProfilesUiTest/should_copy.html");
}
@Test
public void testRenaming() {
- tester.runHtmlTests("/qualityProfile/QualityProfilesUiTest/should_rename.html");
+ Selenese.runSelenese(orchestrator, "/qualityProfile/QualityProfilesUiTest/should_rename.html");
}
@Test
public void testSettingDefault() {
- tester.runHtmlTests("/qualityProfile/QualityProfilesUiTest/should_set_default.html");
+ Selenese.runSelenese(orchestrator, "/qualityProfile/QualityProfilesUiTest/should_set_default.html");
}
@Test
public void testRestore() {
deleteProfile("xoo", "empty");
- tester.runHtmlTests("/qualityProfile/QualityProfilesUiTest/should_restore.html");
+ Selenese.runSelenese(orchestrator, "/qualityProfile/QualityProfilesUiTest/should_restore.html");
}
private void createProfile(String language, String name) {
diff --git a/tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesWsTest.java b/tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesWsTest.java
index b88ad7121fb..4e121520117 100644
--- a/tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesWsTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/qualityProfile/QualityProfilesWsTest.java
@@ -28,7 +28,7 @@ import org.junit.Test;
import org.skyscreamer.jsonassert.JSONAssert;
import org.skyscreamer.jsonassert.JSONCompareMode;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.QualityProfiles.CreateWsResponse;
import org.sonarqube.ws.QualityProfiles.SearchWsResponse;
diff --git a/tests/src/test/java/org/sonarqube/tests/rule/RuleEsResilienceTest.java b/tests/src/test/java/org/sonarqube/tests/rule/RuleEsResilienceTest.java
index c887cf652f3..770298e8180 100644
--- a/tests/src/test/java/org/sonarqube/tests/rule/RuleEsResilienceTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/rule/RuleEsResilienceTest.java
@@ -30,7 +30,7 @@ import org.junit.rules.DisableOnDebug;
import org.junit.rules.TestRule;
import org.junit.rules.Timeout;
import org.sonarqube.tests.Byteman;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.client.rule.CreateWsRequest;
import org.sonarqube.ws.client.rule.SearchWsRequest;
import util.ItUtils;
diff --git a/tests/src/test/java/org/sonarqube/tests/rule/RuleTagsTest.java b/tests/src/test/java/org/sonarqube/tests/rule/RuleTagsTest.java
index 16e9397c713..16fd9ca3fb0 100644
--- a/tests/src/test/java/org/sonarqube/tests/rule/RuleTagsTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/rule/RuleTagsTest.java
@@ -27,7 +27,7 @@ import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.RuleChain;
import org.junit.rules.TestRule;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.client.PostRequest;
import util.ItUtils;
diff --git a/tests/src/test/java/org/sonarqube/tests/rule/RulesPageTest.java b/tests/src/test/java/org/sonarqube/tests/rule/RulesPageTest.java
index 527dbe423ce..97b2d2b205a 100644
--- a/tests/src/test/java/org/sonarqube/tests/rule/RulesPageTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/rule/RulesPageTest.java
@@ -25,7 +25,7 @@ import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.qa.util.pageobjects.RulesPage;
import org.sonarqube.tests.Category2Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
public class RulesPageTest {
@ClassRule
diff --git a/tests/src/test/java/org/sonarqube/tests/rule/RulesWsTest.java b/tests/src/test/java/org/sonarqube/tests/rule/RulesWsTest.java
index 3b4d1482b94..77aca9652f4 100644
--- a/tests/src/test/java/org/sonarqube/tests/rule/RulesWsTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/rule/RulesWsTest.java
@@ -26,7 +26,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category6Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.QualityProfiles.CreateWsResponse;
import org.sonarqube.ws.QualityProfiles.SearchWsResponse;
diff --git a/tests/src/test/java/org/sonarqube/tests/serverSystem/ServerSystemTest.java b/tests/src/test/java/org/sonarqube/tests/serverSystem/ServerSystemTest.java
index 3ac1c50cdfe..2e70f4e5c18 100644
--- a/tests/src/test/java/org/sonarqube/tests/serverSystem/ServerSystemTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/serverSystem/ServerSystemTest.java
@@ -31,9 +31,10 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category4Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsSystem;
import util.ItUtils;
+import util.selenium.Selenese;
import static org.apache.commons.lang.StringUtils.startsWithAny;
import static org.assertj.core.api.Assertions.assertThat;
@@ -72,7 +73,7 @@ public class ServerSystemTest {
public void display_warnings_when_using_h2() {
String dialect = orchestrator.getConfiguration().getString("sonar.jdbc.dialect");
if (dialect == null || dialect.equals("h2") || dialect.equals("embedded")) {
- tester.runHtmlTests("/serverSystem/ServerSystemTest/derby-warning.html");
+ Selenese.runSelenese(orchestrator, "/serverSystem/ServerSystemTest/derby-warning.html");
}
}
@@ -81,7 +82,7 @@ public class ServerSystemTest {
*/
@Test
public void hide_jdbc_settings_to_non_admin() {
- tester.runHtmlTests("/serverSystem/ServerSystemTest/hide-jdbc-settings.html");
+ Selenese.runSelenese(orchestrator, "/serverSystem/ServerSystemTest/hide-jdbc-settings.html");
}
@Test
@@ -104,7 +105,7 @@ public class ServerSystemTest {
orchestrator.executeBuild(SonarScanner.create(ItUtils.projectDir("shared/xoo-sample"))
.setProperty("sonar.projectKey", "myproject.jsp"));
// Access dashboard
- tester.runHtmlTests("/serverSystem/ServerSystemTest/url_ending_by_jsp.html");
+ Selenese.runSelenese(orchestrator, "/serverSystem/ServerSystemTest/url_ending_by_jsp.html");
}
/**
diff --git a/tests/src/test/java/org/sonarqube/tests/serverSystem/SystemInfoTest.java b/tests/src/test/java/org/sonarqube/tests/serverSystem/SystemInfoTest.java
index 60065d71954..8ba633a40f3 100644
--- a/tests/src/test/java/org/sonarqube/tests/serverSystem/SystemInfoTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/serverSystem/SystemInfoTest.java
@@ -29,7 +29,7 @@ import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.qa.util.pageobjects.SystemInfoPage;
import org.sonarqube.tests.Category4Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.client.GetRequest;
import org.sonarqube.ws.client.WsResponse;
import util.ItUtils;
diff --git a/tests/src/test/java/org/sonarqube/tests/serverSystem/SystemStateTest.java b/tests/src/test/java/org/sonarqube/tests/serverSystem/SystemStateTest.java
index a305187d881..62985921e4a 100644
--- a/tests/src/test/java/org/sonarqube/tests/serverSystem/SystemStateTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/serverSystem/SystemStateTest.java
@@ -35,7 +35,7 @@ import org.junit.rules.DisableOnDebug;
import org.junit.rules.TemporaryFolder;
import org.junit.rules.TestRule;
import org.junit.rules.Timeout;
-import org.sonarqube.tests.Elasticsearch;
+import org.sonarqube.qa.util.Elasticsearch;
import org.sonarqube.ws.WsSystem;
import org.sonarqube.ws.client.WsClient;
diff --git a/tests/src/test/java/org/sonarqube/tests/settings/EmailsTest.java b/tests/src/test/java/org/sonarqube/tests/settings/EmailsTest.java
index 8ce6439178b..78522a988a4 100644
--- a/tests/src/test/java/org/sonarqube/tests/settings/EmailsTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/settings/EmailsTest.java
@@ -32,7 +32,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category1Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Settings;
import org.sonarqube.ws.client.PostRequest;
import org.sonarqube.ws.client.setting.ValuesRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/sourceCode/EncodingTest.java b/tests/src/test/java/org/sonarqube/tests/sourceCode/EncodingTest.java
index 985a361fb90..397b83d5fbd 100644
--- a/tests/src/test/java/org/sonarqube/tests/sourceCode/EncodingTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/sourceCode/EncodingTest.java
@@ -24,7 +24,8 @@ import org.sonarqube.tests.Category1Suite;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
+import util.selenium.Selenese;
import static util.ItUtils.runProjectAnalysis;
@@ -40,6 +41,6 @@ public class EncodingTest {
public void support_japanese_charset() {
runProjectAnalysis(orchestrator, "sourceCode/japanese-charset", "sonar.sourceEncoding", "Shift_JIS");
- tester.runHtmlTests("/sourceCode/EncodingTest/japanese_sources.html");
+ Selenese.runSelenese(orchestrator, "/sourceCode/EncodingTest/japanese_sources.html");
}
}
diff --git a/tests/src/test/java/org/sonarqube/tests/sourceCode/HighlightingTest.java b/tests/src/test/java/org/sonarqube/tests/sourceCode/HighlightingTest.java
index 6e682a74176..1f20c8c0700 100644
--- a/tests/src/test/java/org/sonarqube/tests/sourceCode/HighlightingTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/sourceCode/HighlightingTest.java
@@ -20,11 +20,12 @@
package org.sonarqube.tests.sourceCode;
import com.sonar.orchestrator.Orchestrator;
-import org.sonarqube.tests.Category1Suite;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
+import org.sonarqube.tests.Category1Suite;
+import util.selenium.Selenese;
import static util.ItUtils.runProjectAnalysis;
@@ -41,10 +42,10 @@ public class HighlightingTest {
runProjectAnalysis(orchestrator, "highlighting/xoo-sample-with-highlighting-v2");
// SONAR-3893 & SONAR-4247
- tester.runHtmlTests("/sourceCode/HighlightingTest/syntax-highlighting.html");
+ Selenese.runSelenese(orchestrator, "/sourceCode/HighlightingTest/syntax-highlighting.html");
// SONAR-4249 & SONAR-4250
- tester.runHtmlTests("/sourceCode/HighlightingTest/symbol-usages-highlighting.html");
+ Selenese.runSelenese(orchestrator, "/sourceCode/HighlightingTest/symbol-usages-highlighting.html");
}
// Check that E/S index is updated when file content is unchanged but plugin generates different syntax/symbol highlighting
@@ -52,11 +53,11 @@ public class HighlightingTest {
public void update_highlighting_even_when_code_unchanged() {
runProjectAnalysis(orchestrator, "highlighting/xoo-sample-with-highlighting-v1");
- tester.runHtmlTests("/sourceCode/HighlightingTest/syntax-highlighting-v1.html");
+ Selenese.runSelenese(orchestrator, "/sourceCode/HighlightingTest/syntax-highlighting-v1.html");
runProjectAnalysis(orchestrator, "highlighting/xoo-sample-with-highlighting-v2");
- tester.runHtmlTests("/sourceCode/HighlightingTest/syntax-highlighting-v2.html");
- tester.runHtmlTests("/sourceCode/HighlightingTest/symbol-usages-highlighting.html");
+ Selenese.runSelenese(orchestrator, "/sourceCode/HighlightingTest/syntax-highlighting-v2.html");
+ Selenese.runSelenese(orchestrator, "/sourceCode/HighlightingTest/symbol-usages-highlighting.html");
}
}
diff --git a/tests/src/test/java/org/sonarqube/tests/sourceCode/ProjectCodeTest.java b/tests/src/test/java/org/sonarqube/tests/sourceCode/ProjectCodeTest.java
index 9318569d05f..0ee1c7ee0af 100644
--- a/tests/src/test/java/org/sonarqube/tests/sourceCode/ProjectCodeTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/sourceCode/ProjectCodeTest.java
@@ -25,7 +25,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.tests.Category1Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsProjects.CreateWsResponse.Project;
import static util.ItUtils.projectDir;
diff --git a/tests/src/test/java/org/sonarqube/tests/startup/StartupIndexationTest.java b/tests/src/test/java/org/sonarqube/tests/startup/StartupIndexationTest.java
index fbffa558d15..1e95f664ec3 100644
--- a/tests/src/test/java/org/sonarqube/tests/startup/StartupIndexationTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/startup/StartupIndexationTest.java
@@ -33,8 +33,8 @@ import org.junit.rules.DisableOnDebug;
import org.junit.rules.TemporaryFolder;
import org.junit.rules.TestRule;
import org.junit.rules.Timeout;
-import org.sonarqube.tests.LogsTailer;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.LogsTailer;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsUsers;
import org.sonarqube.ws.client.user.SearchRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/telemetry/TelemetryOptOutTest.java b/tests/src/test/java/org/sonarqube/tests/telemetry/TelemetryOptOutTest.java
index 98830cebbdc..00343e02239 100644
--- a/tests/src/test/java/org/sonarqube/tests/telemetry/TelemetryOptOutTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/telemetry/TelemetryOptOutTest.java
@@ -28,7 +28,7 @@ import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.RuleChain;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.client.GetRequest;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/tests/src/test/java/org/sonarqube/tests/test/CoverageTest.java b/tests/src/test/java/org/sonarqube/tests/test/CoverageTest.java
index 1680429d0b0..fb38e03cc32 100644
--- a/tests/src/test/java/org/sonarqube/tests/test/CoverageTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/test/CoverageTest.java
@@ -32,7 +32,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.skyscreamer.jsonassert.JSONAssert;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import static org.assertj.core.api.Assertions.assertThat;
import static util.ItUtils.getMeasuresAsDoubleByMetricKey;
diff --git a/tests/src/test/java/org/sonarqube/tests/test/CoverageTrackingTest.java b/tests/src/test/java/org/sonarqube/tests/test/CoverageTrackingTest.java
index f6dd9b95355..c1a9545b55b 100644
--- a/tests/src/test/java/org/sonarqube/tests/test/CoverageTrackingTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/test/CoverageTrackingTest.java
@@ -29,7 +29,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.skyscreamer.jsonassert.JSONAssert;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import static util.ItUtils.projectDir;
diff --git a/tests/src/test/java/org/sonarqube/tests/ui/OrganizationUiExtensionsTest.java b/tests/src/test/java/org/sonarqube/tests/ui/OrganizationUiExtensionsTest.java
index f12064e8c28..be96edbe2c2 100644
--- a/tests/src/test/java/org/sonarqube/tests/ui/OrganizationUiExtensionsTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/ui/OrganizationUiExtensionsTest.java
@@ -26,7 +26,7 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.openqa.selenium.By;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations.Organization;
import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
diff --git a/tests/src/test/java/org/sonarqube/tests/ui/UiExtensionsTest.java b/tests/src/test/java/org/sonarqube/tests/ui/UiExtensionsTest.java
index f3215b096bc..4a8bbfe31da 100644
--- a/tests/src/test/java/org/sonarqube/tests/ui/UiExtensionsTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/ui/UiExtensionsTest.java
@@ -25,11 +25,12 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.openqa.selenium.By;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsProjects;
import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
import org.sonarqube.ws.client.project.CreateRequest;
import util.ItUtils;
+import util.selenium.Selenese;
import static com.codeborne.selenide.Condition.text;
import static com.codeborne.selenide.Selenide.$;
@@ -46,7 +47,7 @@ public class UiExtensionsTest {
@Test
public void test_static_files() {
- tester.runHtmlTests("/ui/UiExtensionsTest/static-files.html");
+ Selenese.runSelenese(orchestrator, "/ui/UiExtensionsTest/static-files.html");
}
@Test
diff --git a/tests/src/test/java/org/sonarqube/tests/user/ForceAuthenticationTest.java b/tests/src/test/java/org/sonarqube/tests/user/ForceAuthenticationTest.java
index 7d731b7b773..d09aa110288 100644
--- a/tests/src/test/java/org/sonarqube/tests/user/ForceAuthenticationTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/user/ForceAuthenticationTest.java
@@ -26,7 +26,7 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
import org.sonarqube.ws.client.GetRequest;
import org.sonarqube.ws.client.PostRequest;
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 8dc84a3ad2e..30203f58e6a 100644
--- a/tests/src/test/java/org/sonarqube/tests/user/LocalAuthenticationTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/user/LocalAuthenticationTest.java
@@ -26,10 +26,10 @@ import org.junit.After;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.qa.util.pageobjects.LoginPage;
import org.sonarqube.qa.util.pageobjects.Navigation;
import org.sonarqube.tests.Category4Suite;
-import org.sonarqube.tests.Tester;
import org.sonarqube.ws.WsUserTokens;
import org.sonarqube.ws.WsUsers;
import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
@@ -44,6 +44,7 @@ import org.sonarqube.ws.client.usertoken.GenerateWsRequest;
import org.sonarqube.ws.client.usertoken.RevokeWsRequest;
import org.sonarqube.ws.client.usertoken.SearchWsRequest;
import org.sonarqube.ws.client.usertoken.UserTokensService;
+import util.selenium.Selenese;
import static java.lang.String.format;
import static java.util.Arrays.asList;
@@ -162,7 +163,7 @@ public class LocalAuthenticationTest {
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(
+ Selenese.runSelenese(orchestrator,
"/user/LocalAuthenticationTest/login_successful.html",
"/user/LocalAuthenticationTest/login_wrong_password.html",
"/user/LocalAuthenticationTest/should_not_be_unlogged_when_going_to_login_page.html");
@@ -172,8 +173,8 @@ public class LocalAuthenticationTest {
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",
+ Selenese.runSelenese(orchestrator,
+ "/user/LocalAuthenticationTest/redirect_to_login_when_not_enough_privilege.html",
// SONAR-2132
"/user/LocalAuthenticationTest/redirect_to_original_url_after_direct_login.html",
"/user/LocalAuthenticationTest/redirect_to_original_url_with_parameters_after_direct_login.html",
@@ -187,7 +188,7 @@ public class LocalAuthenticationTest {
tester.users().generateAdministrator(u -> u.setLogin("admin-user").setPassword("admin-user"));
setServerProperty(orchestrator, "sonar.forceAuthentication", "true");
- tester.runHtmlTests(
+ Selenese.runSelenese(orchestrator,
// SONAR-3473
"/user/LocalAuthenticationTest/force-authentication.html");
}
diff --git a/tests/src/test/java/org/sonarqube/tests/user/MyAccountPageTest.java b/tests/src/test/java/org/sonarqube/tests/user/MyAccountPageTest.java
index 58877d221e2..ec0961811d3 100644
--- a/tests/src/test/java/org/sonarqube/tests/user/MyAccountPageTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/user/MyAccountPageTest.java
@@ -27,7 +27,7 @@ import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.qa.util.pageobjects.Navigation;
import org.sonarqube.tests.Category4Suite;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
import org.sonarqube.ws.client.PostRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/user/OAuth2IdentityProviderTest.java b/tests/src/test/java/org/sonarqube/tests/user/OAuth2IdentityProviderTest.java
index 62eb79412c2..740fd28835c 100644
--- a/tests/src/test/java/org/sonarqube/tests/user/OAuth2IdentityProviderTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/user/OAuth2IdentityProviderTest.java
@@ -32,14 +32,15 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.qa.util.pageobjects.Navigation;
import org.sonarqube.tests.Category4Suite;
-import org.sonarqube.tests.Tester;
import org.sonarqube.ws.WsUsers.SearchWsResponse.User;
import org.sonarqube.ws.client.GetRequest;
import org.sonarqube.ws.client.WsResponse;
import org.sonarqube.ws.client.permission.AddUserWsRequest;
import org.sonarqube.ws.client.user.CreateRequest;
+import util.selenium.Selenese;
import static com.codeborne.selenide.Condition.visible;
import static com.codeborne.selenide.Selenide.$;
@@ -146,7 +147,7 @@ public class OAuth2IdentityProviderTest {
// As this property is null, the plugin will throw an exception
tester.settings().setGlobalSettings("sonar.auth.fake-oauth2-id-provider.user", null);
- tester.runHtmlTests("/user/OAuth2IdentityProviderTest/display_unauthorized_page_when_authentication_failed.html");
+ Selenese.runSelenese(orchestrator, "/user/OAuth2IdentityProviderTest/display_unauthorized_page_when_authentication_failed.html");
assertThatUserDoesNotExist(USER_LOGIN);
}
@@ -157,7 +158,7 @@ public class OAuth2IdentityProviderTest {
enablePlugin();
tester.settings().setGlobalSettings("sonar.auth.fake-oauth2-id-provider.allowsUsersToSignUp", "false");
- tester.runHtmlTests("/user/OAuth2IdentityProviderTest/fail_to_authenticate_when_not_allowed_to_sign_up.html");
+ Selenese.runSelenese(orchestrator, "/user/OAuth2IdentityProviderTest/fail_to_authenticate_when_not_allowed_to_sign_up.html");
assertThatUserDoesNotExist(USER_LOGIN);
}
@@ -168,7 +169,7 @@ public class OAuth2IdentityProviderTest {
enablePlugin();
tester.settings().setGlobalSettings("sonar.auth.fake-oauth2-id-provider.throwUnauthorizedMessage", "true");
- tester.runHtmlTests("/user/OAuth2IdentityProviderTest/display_message_in_ui_but_not_in_log_when_unauthorized_exception.html");
+ Selenese.runSelenese(orchestrator, "/user/OAuth2IdentityProviderTest/display_message_in_ui_but_not_in_log_when_unauthorized_exception.html");
File logFile = orchestrator.getServer().getWebLogs();
assertThat(FileUtils.readFileToString(logFile)).doesNotContain("A functional error has happened");
@@ -183,7 +184,7 @@ public class OAuth2IdentityProviderTest {
enablePlugin();
tester.users().generate(u -> u.setLogin("another").setName("Another").setEmail(USER_EMAIL).setPassword("another"));
- tester.runHtmlTests("/user/OAuth2IdentityProviderTest/fail_when_email_already_exists.html");
+ Selenese.runSelenese(orchestrator, "/user/OAuth2IdentityProviderTest/fail_when_email_already_exists.html");
File logFile = orchestrator.getServer().getWebLogs();
assertThat(FileUtils.readFileToString(logFile))
diff --git a/tests/src/test/java/org/sonarqube/tests/user/OnboardingTest.java b/tests/src/test/java/org/sonarqube/tests/user/OnboardingTest.java
index 205e17d10ab..f0f9c614629 100644
--- a/tests/src/test/java/org/sonarqube/tests/user/OnboardingTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/user/OnboardingTest.java
@@ -25,7 +25,7 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
import org.sonarqube.ws.client.WsClient;
import util.ItUtils;
diff --git a/tests/src/test/java/org/sonarqube/tests/user/OrganizationIdentityProviderTest.java b/tests/src/test/java/org/sonarqube/tests/user/OrganizationIdentityProviderTest.java
index 767c76f70db..22e1dee4984 100644
--- a/tests/src/test/java/org/sonarqube/tests/user/OrganizationIdentityProviderTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/user/OrganizationIdentityProviderTest.java
@@ -27,7 +27,7 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsUserGroups.Group;
import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
import org.sonarqube.ws.client.GetRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/user/RealmAuthenticationTest.java b/tests/src/test/java/org/sonarqube/tests/user/RealmAuthenticationTest.java
index f1ed633686c..aee0917c8f8 100644
--- a/tests/src/test/java/org/sonarqube/tests/user/RealmAuthenticationTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/user/RealmAuthenticationTest.java
@@ -37,7 +37,7 @@ import org.sonar.wsclient.connectors.HttpClient4Connector;
import org.sonar.wsclient.services.AuthenticationQuery;
import org.sonar.wsclient.user.UserParameters;
import org.sonarqube.qa.util.pageobjects.SystemInfoPage;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.client.GetRequest;
import org.sonarqube.ws.client.WsResponse;
import org.sonarqube.ws.client.user.CreateRequest;
diff --git a/tests/src/test/java/org/sonarqube/tests/user/UserEsResilienceTest.java b/tests/src/test/java/org/sonarqube/tests/user/UserEsResilienceTest.java
index 3f2d69fe898..7aa50328352 100644
--- a/tests/src/test/java/org/sonarqube/tests/user/UserEsResilienceTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/user/UserEsResilienceTest.java
@@ -30,7 +30,7 @@ import org.junit.rules.DisableOnDebug;
import org.junit.rules.TestRule;
import org.junit.rules.Timeout;
import org.sonarqube.tests.Byteman;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsUsers.CreateWsResponse.User;
import org.sonarqube.ws.client.user.SearchRequest;
import org.sonarqube.ws.client.user.UpdateRequest;
diff --git a/tests/src/test/java/util/ItUtils.java b/tests/src/test/java/util/ItUtils.java
index e11e55d4d35..b10257c2c53 100644
--- a/tests/src/test/java/util/ItUtils.java
+++ b/tests/src/test/java/util/ItUtils.java
@@ -61,7 +61,8 @@ import org.junit.Assert;
import org.sonar.wsclient.issue.Issue;
import org.sonar.wsclient.issue.IssueClient;
import org.sonar.wsclient.issue.IssueQuery;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.SettingTester;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.WsComponents.Component;
import org.sonarqube.ws.WsMeasures;
import org.sonarqube.ws.WsMeasures.Measure;
@@ -253,7 +254,7 @@ public class ItUtils {
}
/**
- * @deprecated replaced by {@link org.sonarqube.tests.SettingTester#setGlobalSetting(String, String)}
+ * @deprecated replaced by {@link SettingTester#setGlobalSetting(String, String)}
*/
@Deprecated
public static void setServerProperty(Orchestrator orchestrator, String key, @Nullable String value) {
@@ -261,7 +262,7 @@ public class ItUtils {
}
/**
- * @deprecated replaced by {@link org.sonarqube.tests.SettingTester#setProjectSetting(String, String, String)}
+ * @deprecated replaced by {@link SettingTester#setProjectSetting(String, String, String)}
*/
@Deprecated
public static void setServerProperty(Orchestrator orchestrator, @Nullable String componentKey, String key, @Nullable String value) {
@@ -273,7 +274,7 @@ public class ItUtils {
}
/**
- * @deprecated replaced by {@link org.sonarqube.tests.SettingTester#setGlobalSetting(String, String)} or {@link org.sonarqube.tests.SettingTester#setProjectSettings(String, String...)}
+ * @deprecated replaced by {@link SettingTester#setGlobalSetting(String, String)} or {@link SettingTester#setProjectSettings(String, String...)}
*/
@Deprecated
public static void setServerProperties(Orchestrator orchestrator, @Nullable String componentKey, String... properties) {
@@ -283,7 +284,7 @@ public class ItUtils {
}
/**
- * @deprecated replaced by {@link org.sonarqube.tests.SettingTester#resetSettings(String...)}
+ * @deprecated replaced by {@link SettingTester#resetSettings(String...)}
*/
@Deprecated
public static void resetSettings(Orchestrator orchestrator, @Nullable String componentKey, String... keys) {
diff --git a/tests/src/test/java/util/selenium/Selenese.java b/tests/src/test/java/util/selenium/Selenese.java
index 187e33d9024..ce25edf5f17 100644
--- a/tests/src/test/java/util/selenium/Selenese.java
+++ b/tests/src/test/java/util/selenium/Selenese.java
@@ -23,7 +23,7 @@ import com.sonar.orchestrator.Orchestrator;
import java.io.File;
import javax.annotation.Nullable;
import org.apache.commons.io.FileUtils;
-import org.sonarqube.tests.Tester;
+import org.sonarqube.qa.util.Tester;
/**
* Selenium HTML tests, generally written with Selenium IDE
@@ -43,7 +43,7 @@ public final class Selenese {
}
/**
- * @deprecated replaced by {@link Tester#runHtmlTests(String...)}
+ * Replaced by Selenide
*/
@Deprecated
public static void runSelenese(Orchestrator orchestrator, String... htmlFiles) {
diff --git a/tests/src/test/java/util/user/GroupManagement.java b/tests/src/test/java/util/user/GroupManagement.java
index 41b362f3e0a..609a20f65bc 100644
--- a/tests/src/test/java/util/user/GroupManagement.java
+++ b/tests/src/test/java/util/user/GroupManagement.java
@@ -22,9 +22,10 @@ package util.user;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;
+import org.sonarqube.qa.util.Tester;
/**
- * @deprecated replaced by {@link org.sonarqube.tests.Tester}
+ * @deprecated replaced by {@link Tester}
*/
@Deprecated
public interface GroupManagement {
diff --git a/tests/src/test/java/util/user/Groups.java b/tests/src/test/java/util/user/Groups.java
index 7b87547bc17..8aa1f63c869 100644
--- a/tests/src/test/java/util/user/Groups.java
+++ b/tests/src/test/java/util/user/Groups.java
@@ -21,9 +21,10 @@ package util.user;
import com.google.gson.Gson;
import java.util.List;
+import org.sonarqube.qa.util.Tester;
/**
- * @deprecated replaced by {@link org.sonarqube.tests.Tester}
+ * @deprecated replaced by {@link Tester}
*/
@Deprecated
diff --git a/tests/src/test/java/util/user/UserRule.java b/tests/src/test/java/util/user/UserRule.java
index fe93e631c01..994e4a0c2e7 100644
--- a/tests/src/test/java/util/user/UserRule.java
+++ b/tests/src/test/java/util/user/UserRule.java
@@ -30,6 +30,7 @@ import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.junit.rules.ExternalResource;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.ws.Organizations;
import org.sonarqube.ws.WsUsers;
import org.sonarqube.ws.client.GetRequest;
@@ -51,7 +52,7 @@ import static org.assertj.guava.api.Assertions.assertThat;
import static util.ItUtils.newAdminWsClient;
/**
- * @deprecated replaced by {@link org.sonarqube.tests.Tester}
+ * @deprecated replaced by {@link Tester}
*/
@Deprecated
public class UserRule extends ExternalResource implements GroupManagement {