aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/ProjectKeyPage.java4
-rw-r--r--tests/src/test/java/org/sonarqube/tests/project/ProjectKeyUpdatePageTest.java (renamed from tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectKeyUpdatePageTest.java)60
-rw-r--r--tests/src/test/java/org/sonarqube/tests/project/ProjectSuite.java1
-rw-r--r--tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectAdministrationTest.java3
4 files changed, 35 insertions, 33 deletions
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 cfc2e8137ab..02438a9bf6b 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
@@ -94,7 +94,9 @@ public class ProjectKeyPage {
}
public ProjectKeyPage assertSuccessfulBulkUpdate() {
- Selenide.$("#project-key-bulk-update").$(".alert.alert-success").shouldBe(Condition.visible);
+ Selenide.$(".process-spinner")
+ .shouldBe(Condition.visible)
+ .shouldHave(Condition.text("The key has successfully been updated for all required resources"));
return this;
}
}
diff --git a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectKeyUpdatePageTest.java b/tests/src/test/java/org/sonarqube/tests/project/ProjectKeyUpdatePageTest.java
index b907898c6ee..8f2fbbd4e99 100644
--- a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectKeyUpdatePageTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/project/ProjectKeyUpdatePageTest.java
@@ -17,46 +17,38 @@
* 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.projectAdministration;
+package org.sonarqube.tests.project;
+import com.codeborne.selenide.Selenide;
import com.sonar.orchestrator.Orchestrator;
import com.sonar.orchestrator.build.SonarScanner;
-import org.sonarqube.tests.Category1Suite;
import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.ClassRule;
+import org.junit.Rule;
import org.junit.Test;
-import org.sonarqube.ws.client.PostRequest;
-import org.sonarqube.ws.client.WsClient;
-import org.sonarqube.qa.util.pageobjects.Navigation;
+import org.sonarqube.qa.util.Tester;
import org.sonarqube.qa.util.pageobjects.ProjectKeyPage;
+import org.sonarqube.ws.client.PostRequest;
import static com.codeborne.selenide.Condition.visible;
import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.WebDriverRunner.url;
import static org.assertj.core.api.Assertions.assertThat;
-import static util.ItUtils.newAdminWsClient;
import static util.ItUtils.projectDir;
public class ProjectKeyUpdatePageTest {
@ClassRule
- public static Orchestrator ORCHESTRATOR = Category1Suite.ORCHESTRATOR;
+ public static Orchestrator orchestrator = ProjectSuite.ORCHESTRATOR;
- private static WsClient wsClient;
-
- @BeforeClass
- public static void setUp() {
- wsClient = newAdminWsClient(ORCHESTRATOR);
- }
+ @Rule
+ public Tester tester = new Tester(orchestrator);
@Before
- public void cleanUp() {
- ORCHESTRATOR.resetData();
+ public void setUp() throws Exception {
+ tester.wsClient().users().skipOnboardingTutorial();
}
- private Navigation nav = Navigation.create(ORCHESTRATOR);
-
@Test
public void change_key_when_no_modules() {
createProject("sample");
@@ -64,7 +56,7 @@ public class ProjectKeyUpdatePageTest {
ProjectKeyPage page = openPage("sample");
page.assertSimpleUpdate().trySimpleUpdate("another");
- assertThat(url()).endsWith("/project/key?id=another");
+ Selenide.Wait().until(driver -> driver.getCurrentUrl().endsWith("/project/key?id=another"));
}
@Test
@@ -75,8 +67,8 @@ public class ProjectKeyUpdatePageTest {
ProjectKeyPage page = openPage("sample");
page.assertSimpleUpdate().trySimpleUpdate("another");
- $(".alert.alert-danger").shouldBe(visible);
- assertThat(url()).endsWith("/project/key?id=sample");
+ $(".process-spinner").shouldBe(visible);
+ Selenide.Wait().until(driver -> driver.getCurrentUrl().endsWith("/project/key?id=sample"));
}
@Test
@@ -86,7 +78,7 @@ public class ProjectKeyUpdatePageTest {
ProjectKeyPage page = openPage("sample");
page.openFineGrainedUpdate().tryFineGrainedUpdate("sample", "another");
- assertThat(url()).endsWith("/project/key?id=another");
+ Selenide.Wait().until(driver -> driver.getCurrentUrl().endsWith("/project/key?id=another"));
}
@Test
@@ -97,7 +89,7 @@ public class ProjectKeyUpdatePageTest {
ProjectKeyPage page = openPage("sample");
page.openFineGrainedUpdate().tryFineGrainedUpdate("sample", "another");
- $(".alert.alert-danger").shouldBe(visible);
+ $(".process-spinner").shouldBe(visible);
assertThat(url()).endsWith("/project/key?id=sample");
}
@@ -110,7 +102,7 @@ public class ProjectKeyUpdatePageTest {
$("#update-key-confirmation-form").shouldNotBe(visible);
- nav.openProjectKey("another");
+ tester.openBrowser().openProjectKey("another");
assertThat(url()).endsWith("/project/key?id=another");
}
@@ -122,7 +114,7 @@ public class ProjectKeyUpdatePageTest {
ProjectKeyPage page = openPage("sample");
page.openFineGrainedUpdate().tryFineGrainedUpdate("sample:module_a:module_a1", "another");
- $(".alert.alert-danger").shouldBe(visible);
+ $(".process-spinner").shouldBe(visible);
}
@Test
@@ -136,7 +128,9 @@ public class ProjectKeyUpdatePageTest {
page.assertBulkChangeSimulationResult("sample", "another")
.assertBulkChangeSimulationResult("sample:module_a:module_a1", "another:module_a:module_a1");
- page.confirmBulkUpdate().assertSuccessfulBulkUpdate();
+ page
+ .confirmBulkUpdate()
+ .assertSuccessfulBulkUpdate();
}
@Test
@@ -165,18 +159,20 @@ public class ProjectKeyUpdatePageTest {
}
private ProjectKeyPage openPage(String projectKey) {
- nav.logIn().submitCredentials("admin", "admin");
- return nav.openProjectKey(projectKey);
+ return tester.openBrowser()
+ .logIn()
+ .submitCredentials("admin", "admin")
+ .openProjectKey(projectKey);
}
- private static void createProject(String projectKey) {
- wsClient.wsConnector().call(new PostRequest("api/projects/create")
+ private void createProject(String projectKey) {
+ tester.wsClient().wsConnector().call(new PostRequest("api/projects/create")
.setParam("key", projectKey)
.setParam("name", projectKey));
}
- private static void analyzeProject(String path, String projectKey) {
- ORCHESTRATOR.executeBuild(SonarScanner.create(projectDir(path))
+ private void analyzeProject(String path, String projectKey) {
+ orchestrator.executeBuild(SonarScanner.create(projectDir(path))
.setProjectKey(projectKey));
}
}
diff --git a/tests/src/test/java/org/sonarqube/tests/project/ProjectSuite.java b/tests/src/test/java/org/sonarqube/tests/project/ProjectSuite.java
index 58dd29c9289..65121e03c67 100644
--- a/tests/src/test/java/org/sonarqube/tests/project/ProjectSuite.java
+++ b/tests/src/test/java/org/sonarqube/tests/project/ProjectSuite.java
@@ -35,6 +35,7 @@ import static util.ItUtils.xooPlugin;
ProjectDeletionTest.class,
ProjectFilterTest.class,
ProjectKeyUpdateTest.class,
+ ProjectKeyUpdatePageTest.class,
ProjectLeakPageTest.class,
ProjectLinksTest.class,
ProjectListTest.class,
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 92fac69dda2..2e2c5a4551d 100644
--- a/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectAdministrationTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/projectAdministration/ProjectAdministrationTest.java
@@ -44,6 +44,9 @@ import static com.codeborne.selenide.Selenide.$;
import static org.assertj.core.api.Assertions.assertThat;
import static util.ItUtils.projectDir;
+/**
+ * TODO to be split and moved to project package
+ */
public class ProjectAdministrationTest {
@ClassRule