aboutsummaryrefslogtreecommitdiffstats
path: root/it/it-tests
diff options
context:
space:
mode:
authorStas Vilchik <vilchiks@gmail.com>2016-09-01 17:30:34 +0200
committerGitHub <noreply@github.com>2016-09-01 17:30:34 +0200
commitd2da7f30d512284c943b82abc135483b59b85536 (patch)
tree71a76b276c94a8025ae8b9e8d8be5387b356a1eb /it/it-tests
parent11de4cfe580382a23ac664c5b4464d426b742a3e (diff)
downloadsonarqube-d2da7f30d512284c943b82abc135483b59b85536.tar.gz
sonarqube-d2da7f30d512284c943b82abc135483b59b85536.zip
SONAR-5856 Rewrite Settings page (#1163)
Diffstat (limited to 'it/it-tests')
-rw-r--r--it/it-tests/src/test/java/it/Category1Suite.java2
-rw-r--r--it/it-tests/src/test/java/it/componentDashboard/DashboardTest.java3
-rw-r--r--it/it-tests/src/test/java/it/measureHistory/DifferentialPeriodsTest.java8
-rw-r--r--it/it-tests/src/test/java/it/projectAdministration/ProjectAdministrationTest.java65
-rw-r--r--it/it-tests/src/test/java/it/settings/PropertySetsTest.java67
-rw-r--r--it/it-tests/src/test/java/it/settings/SettingsTestRestartingOrchestrator.java49
-rw-r--r--it/it-tests/src/test/java/it/settings/SubCategoriesTest.java72
-rw-r--r--it/it-tests/src/test/java/pageobjects/LoginPage.java4
-rw-r--r--it/it-tests/src/test/java/pageobjects/Navigation.java11
-rw-r--r--it/it-tests/src/test/java/pageobjects/settings/PropertySetInput.java48
-rw-r--r--it/it-tests/src/test/java/pageobjects/settings/SettingsPage.java84
-rw-r--r--it/it-tests/src/test/resources/componentDashboard/DashboardTest/global_dashboard/global-admin-dashboards.html89
-rw-r--r--it/it-tests/src/test/resources/measureHistory/DifferentialPeriodsTest/define-leak-period-on-project.html49
-rw-r--r--it/it-tests/src/test/resources/projectAdministration/ProjectAdministrationTest/module-settings/display-module-settings.html49
-rw-r--r--it/it-tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-settings/only-on-project-settings.html64
-rw-r--r--it/it-tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-settings/override-global-settings.html64
-rw-r--r--it/it-tests/src/test/resources/serverSystem/ServerSystemTest/missing_ip.html17
-rw-r--r--it/it-tests/src/test/resources/serverSystem/ServerSystemTest/organisation_must_not_accept_special_chars.html17
-rw-r--r--it/it-tests/src/test/resources/serverSystem/ServerSystemTest/valid_id.html22
-rw-r--r--it/it-tests/src/test/resources/settings/PropertySetsTest/auto-generated/create.html84
-rw-r--r--it/it-tests/src/test/resources/settings/PropertySetsTest/auto-generated/update.html69
-rw-r--r--it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/all_types.html139
-rw-r--r--it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/create.html89
-rw-r--r--it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/delete.html119
-rw-r--r--it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/reference.html94
-rw-r--r--it/it-tests/src/test/resources/settings/SettingsTest/encrypt-text.html9
-rw-r--r--it/it-tests/src/test/resources/settings/SettingsTest/general-settings.html59
-rw-r--r--it/it-tests/src/test/resources/settings/SettingsTest/generate-secret-key.html9
-rw-r--r--it/it-tests/src/test/resources/settings/SettingsTest/global-extension-property.html55
-rw-r--r--it/it-tests/src/test/resources/settings/SettingsTest/hidden-extension-property.html55
-rw-r--r--it/it-tests/src/test/resources/settings/SettingsTest/hide-passwords.html54
-rw-r--r--it/it-tests/src/test/resources/settings/SettingsTest/property_relocation.html54
-rw-r--r--it/it-tests/src/test/resources/settings/SettingsTest/validate-property-type.html79
-rw-r--r--it/it-tests/src/test/resources/settings/subcategories/global-subcategories-no-default.html60
-rw-r--r--it/it-tests/src/test/resources/settings/subcategories/global-subcategories.html156
-rw-r--r--it/it-tests/src/test/resources/settings/subcategories/project-subcategories-no-default.html60
-rw-r--r--it/it-tests/src/test/resources/settings/subcategories/project-subcategories.html150
-rw-r--r--it/it-tests/src/test/resources/updateCenter/installed-plugins.html7
-rw-r--r--it/it-tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_after_indirect_login.html9
39 files changed, 253 insertions, 1941 deletions
diff --git a/it/it-tests/src/test/java/it/Category1Suite.java b/it/it-tests/src/test/java/it/Category1Suite.java
index 18f2c01a352..8f1a4cbe3a0 100644
--- a/it/it-tests/src/test/java/it/Category1Suite.java
+++ b/it/it-tests/src/test/java/it/Category1Suite.java
@@ -49,7 +49,6 @@ import it.qualityGate.QualityGateTest;
import it.qualityGate.QualityGateUiTest;
import it.settings.PropertySetsTest;
import it.settings.SettingsTest;
-import it.settings.SubCategoriesTest;
import it.sourceCode.EncodingTest;
import it.sourceCode.HighlightingTest;
import it.sourceCode.ProjectCodeTest;
@@ -71,7 +70,6 @@ import static util.ItUtils.xooPlugin;
BackgroundTasksTest.class,
// settings
PropertySetsTest.class,
- SubCategoriesTest.class,
SettingsTest.class,
// i18n
I18nTest.class,
diff --git a/it/it-tests/src/test/java/it/componentDashboard/DashboardTest.java b/it/it-tests/src/test/java/it/componentDashboard/DashboardTest.java
index 4ef6c3000e9..2f903b05fb6 100644
--- a/it/it-tests/src/test/java/it/componentDashboard/DashboardTest.java
+++ b/it/it-tests/src/test/java/it/componentDashboard/DashboardTest.java
@@ -70,9 +70,6 @@ public class DashboardTest {
// SONAR-2073
"/componentDashboard/DashboardTest/global_dashboard/filter-widget-anonymous.html",
- // SONAR-3460
- "/componentDashboard/DashboardTest/global_dashboard/global-admin-dashboards.html",
-
// SONAR-3461
"/componentDashboard/DashboardTest/global_dashboard/default-dashboards.html",
diff --git a/it/it-tests/src/test/java/it/measureHistory/DifferentialPeriodsTest.java b/it/it-tests/src/test/java/it/measureHistory/DifferentialPeriodsTest.java
index 0cd55995418..00a02366502 100644
--- a/it/it-tests/src/test/java/it/measureHistory/DifferentialPeriodsTest.java
+++ b/it/it-tests/src/test/java/it/measureHistory/DifferentialPeriodsTest.java
@@ -21,7 +21,6 @@ package it.measureHistory;
import com.sonar.orchestrator.Orchestrator;
import com.sonar.orchestrator.locator.FileLocation;
-import com.sonar.orchestrator.selenium.Selenese;
import it.Category1Suite;
import java.util.Date;
import java.util.List;
@@ -32,8 +31,8 @@ import org.junit.Test;
import org.sonar.wsclient.services.Measure;
import org.sonar.wsclient.services.Resource;
import org.sonar.wsclient.services.ResourceQuery;
+import pageobjects.Navigation;
import util.ItUtils;
-import util.selenium.SeleneseTest;
import static org.apache.commons.lang.time.DateUtils.addDays;
import static org.assertj.core.api.Assertions.assertThat;
@@ -133,9 +132,8 @@ public class DifferentialPeriodsTest {
assertThat(measures.get(0).getVariation1()).isEqualTo(17);
// Check on ui that it's possible to define leak period on project
- new SeleneseTest(Selenese.builder().setHtmlTestsInClasspath("define-leak-period-on-project",
- "/measureHistory/DifferentialPeriodsTest/define-leak-period-on-project.html"
- ).build()).runOn(orchestrator);
+ Navigation.get(orchestrator).openHomepage().logIn().asAdmin().openSettings("sample")
+ .assertSettingDisplayed("sonar.timemachine.period1");
}
/**
diff --git a/it/it-tests/src/test/java/it/projectAdministration/ProjectAdministrationTest.java b/it/it-tests/src/test/java/it/projectAdministration/ProjectAdministrationTest.java
index 50a3f12b3b4..5026725cbc8 100644
--- a/it/it-tests/src/test/java/it/projectAdministration/ProjectAdministrationTest.java
+++ b/it/it-tests/src/test/java/it/projectAdministration/ProjectAdministrationTest.java
@@ -23,6 +23,7 @@ import com.sonar.orchestrator.Orchestrator;
import com.sonar.orchestrator.build.SonarScanner;
import com.sonar.orchestrator.selenium.Selenese;
import it.Category1Suite;
+import java.io.UnsupportedEncodingException;
import java.sql.SQLException;
import java.util.Calendar;
import java.util.GregorianCalendar;
@@ -34,22 +35,27 @@ import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.sonar.wsclient.SonarClient;
import org.sonar.wsclient.base.HttpException;
-import org.sonar.wsclient.services.PropertyQuery;
import org.sonar.wsclient.services.ResourceQuery;
import org.sonar.wsclient.user.UserParameters;
+import pageobjects.Navigation;
+import pageobjects.settings.SettingsPage;
import util.selenium.SeleneseTest;
import static org.assertj.core.api.Assertions.assertThat;
import static util.ItUtils.projectDir;
public class ProjectAdministrationTest {
-
private static final String DELETE_WS_ENDPOINT = "api/projects/bulk_delete";
+
@ClassRule
public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
+
@Rule
public ExpectedException expectedException = ExpectedException.none();
+ @Rule
+ public Navigation nav = Navigation.get(orchestrator);
+
private static final String PROJECT_KEY = "sample";
private static final String FILE_KEY = "sample:src/main/xoo/sample/Sample.xoo";
@@ -116,7 +122,7 @@ public class ProjectAdministrationTest {
new SeleneseTest(
Selenese.builder().setHtmlTestsInClasspath("project-deletion", "/projectAdministration/ProjectAdministrationTest/project-deletion/project-deletion.html").build())
- .runOn(orchestrator);
+ .runOn(orchestrator);
} finally {
wsClient.userClient().deactivate(projectAdminUser);
}
@@ -156,40 +162,37 @@ public class ProjectAdministrationTest {
assertThat(count("events where category='Version'")).as("Different number of events").isEqualTo(1);
}
- /**
- * SONAR-3425
- */
@Test
- public void project_settings() {
- scanSampleWithDate("2012-01-01");
-
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("project-settings",
- // SONAR-3425
- "/projectAdministration/ProjectAdministrationTest/project-settings/override-global-settings.html",
-
- "/projectAdministration/ProjectAdministrationTest/project-settings/only-on-project-settings.html").build();
- new SeleneseTest(selenese).runOn(orchestrator);
-
- // GET /api/properties/sonar.exclusions?resource=sample
- assertThat(orchestrator.getServer().getAdminWsClient().find(PropertyQuery.createForResource("sonar.exclusions", "sample")).getValue())
- .isEqualTo("my-exclusions");
-
- // GET /api/properties?resource=sample
- // Note that this WS is used by SonarLint
- assertThat(orchestrator.getServer().getAdminWsClient().findAll(PropertyQuery.createForResource(null, "sample"))).isNotEmpty();
+ public void display_project_settings() throws UnsupportedEncodingException {
+ scanSample(null, null);
+
+ SettingsPage page = nav.logIn().asAdmin().openSettings("sample")
+ .assertMenuContains("Analysis Scope")
+ .assertMenuContains("Category 1")
+ .assertMenuContains("DEV")
+ .assertMenuContains("project-only")
+ .assertMenuContains("Xoo")
+ .assertSettingDisplayed("sonar.dbcleaner.daysBeforeDeletingClosedIssues");
+
+ page.openCategory("project-only")
+ .assertSettingDisplayed("prop_only_on_project");
+
+ page.openCategory("General")
+ .assertStringSettingValue("sonar.dbcleaner.daysBeforeDeletingClosedIssues", "30")
+ .assertStringSettingValue("sonar.timemachine.period1", "previous_version")
+ .assertBooleanSettingValue("sonar.dbcleaner.cleanDirectory", true)
+ .setStringValue("sonar.dbcleaner.daysBeforeDeletingClosedIssues", "1")
+ .assertStringSettingValue("sonar.dbcleaner.daysBeforeDeletingClosedIssues", "1");
}
- /**
- * SONAR-4060
- */
@Test
- public void display_module_settings() {
+ public void display_module_settings() throws UnsupportedEncodingException {
orchestrator.executeBuild(SonarScanner.create(projectDir("shared/xoo-multi-modules-sample")));
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("module-settings",
- // SONAR-3425
- "/projectAdministration/ProjectAdministrationTest/module-settings/display-module-settings.html").build();
- new SeleneseTest(selenese).runOn(orchestrator);
+ nav.logIn().asAdmin()
+ .openSettings("com.sonarsource.it.samples:multi-modules-sample:module_a")
+ .assertMenuContains("Analysis Scope")
+ .assertSettingDisplayed("sonar.coverage.exclusions");
}
private void scanSampleWithDate(String date) {
diff --git a/it/it-tests/src/test/java/it/settings/PropertySetsTest.java b/it/it-tests/src/test/java/it/settings/PropertySetsTest.java
index fb4858b6ff4..0dca1cf94b5 100644
--- a/it/it-tests/src/test/java/it/settings/PropertySetsTest.java
+++ b/it/it-tests/src/test/java/it/settings/PropertySetsTest.java
@@ -20,20 +20,22 @@
package it.settings;
import com.sonar.orchestrator.Orchestrator;
-import com.sonar.orchestrator.selenium.Selenese;
import it.Category1Suite;
+import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;
import org.junit.After;
import org.junit.BeforeClass;
import org.junit.ClassRule;
+import org.junit.Rule;
import org.junit.Test;
import org.sonarqube.ws.Settings;
import org.sonarqube.ws.client.setting.ResetRequest;
import org.sonarqube.ws.client.setting.SetRequest;
import org.sonarqube.ws.client.setting.SettingsService;
import org.sonarqube.ws.client.setting.ValuesRequest;
-import util.selenium.SeleneseTest;
+import pageobjects.Navigation;
+import pageobjects.settings.SettingsPage;
import static com.google.common.collect.Lists.newArrayList;
import static java.util.Arrays.asList;
@@ -47,6 +49,9 @@ public class PropertySetsTest {
@ClassRule
public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
+ @Rule
+ public Navigation nav = Navigation.get(orchestrator);
+
static SettingsService SETTINGS;
@BeforeClass
@@ -60,37 +65,37 @@ public class PropertySetsTest {
}
@Test
- public void support_property_sets() {
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("property-sets",
- "/settings/PropertySetsTest/property-sets/create.html",
- "/settings/PropertySetsTest/property-sets/delete.html",
- "/settings/PropertySetsTest/property-sets/reference.html",
- "/settings/PropertySetsTest/property-sets/all_types.html").build();
- // Use the old runner because it fails with the new Selenium runner
- orchestrator.executeSelenese(selenese);
-
- // SSF-25 Check that the password has well be setted as now it does not appears in the html source code
- assertPropertySet("sonar.demo",
- asList(entry("password", "abcde"),
- entry("boolean", "true"),
- entry("float", "42.0"),
- entry("license", "abc"),
- entry("list", "AAA"),
- entry("metric", "overall_branch_coverage"),
- entry("regexp", ".*"),
- entry("text", "text")));
+ public void support_property_sets() throws UnsupportedEncodingException {
+ SettingsPage page = nav.logIn().asAdmin().openSettings(null).openCategory("DEV")
+ .assertSettingDisplayed("sonar.test.jira.servers");
+
+ page.getPropertySetInput("sonar.test.jira.servers")
+ .setFieldValue("key", "jira1")
+ .setFieldValue("url", "http://jira")
+ .setFieldValue("port", "12345")
+ .save();
+
+ assertPropertySet("sonar.test.jira.servers", asList(
+ entry("key", "jira1"),
+ entry("url", "http://jira"),
+ entry("port", "12345")));
}
@Test
- public void support_property_sets_with_auto_generated_keys() {
- new SeleneseTest(
- Selenese.builder().setHtmlTestsInClasspath("create-auto-generated",
- "/settings/PropertySetsTest/auto-generated/create.html").build()).runOn(orchestrator);
- assertPropertySet("sonar.autogenerated", asList(entry("value", "FIRST")), asList(entry("value", "SECOND")), asList(entry("value", "THIRD")));
-
- new SeleneseTest(Selenese.builder().setHtmlTestsInClasspath("update-auto-generated",
- "/settings/PropertySetsTest/auto-generated/update.html").build()).runOn(orchestrator);
- assertPropertySet("sonar.autogenerated", asList(entry("value", "FIRST")), asList(entry("value", "THIRD")));
+ public void support_property_sets_with_auto_generated_keys() throws UnsupportedEncodingException {
+ SettingsPage page = nav.logIn().asAdmin().openSettings(null).openCategory("DEV")
+ .assertSettingDisplayed("sonar.autogenerated");
+
+ page.getPropertySetInput("sonar.autogenerated")
+ .setFieldValue(0, "value", "FIRST")
+ .setFieldValue(1, "value", "SECOND")
+ .setFieldValue(2, "value", "THIRD")
+ .save();
+
+ assertPropertySet("sonar.autogenerated",
+ asList(entry("value", "FIRST")),
+ asList(entry("value", "SECOND")),
+ asList(entry("value", "THIRD")));
}
@Test
@@ -124,7 +129,7 @@ public class PropertySetsTest {
assertThat(setting.getFieldValues().getFieldValuesList()).hasSize(fieldsValues.length);
int index = 0;
for (Settings.FieldValues.Value fieldsValue : setting.getFieldValues().getFieldValuesList()) {
- assertThat(fieldsValue.getValue()).containsOnly(fieldsValues[index].toArray(new Map.Entry[] {}));
+ assertThat(fieldsValue.getValue()).containsOnly(fieldsValues[index].toArray(new Map.Entry[]{}));
index++;
}
}
diff --git a/it/it-tests/src/test/java/it/settings/SettingsTestRestartingOrchestrator.java b/it/it-tests/src/test/java/it/settings/SettingsTestRestartingOrchestrator.java
index 055c7991026..67b2eefa62f 100644
--- a/it/it-tests/src/test/java/it/settings/SettingsTestRestartingOrchestrator.java
+++ b/it/it-tests/src/test/java/it/settings/SettingsTestRestartingOrchestrator.java
@@ -22,11 +22,13 @@ package it.settings;
import com.sonar.orchestrator.Orchestrator;
import com.sonar.orchestrator.build.SonarScanner;
import com.sonar.orchestrator.selenium.Selenese;
+import java.io.UnsupportedEncodingException;
import java.net.URL;
import org.junit.After;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
+import pageobjects.Navigation;
import util.selenium.SeleneseTest;
import static util.ItUtils.pluginArtifact;
@@ -51,7 +53,7 @@ public class SettingsTestRestartingOrchestrator {
}
@Test
- public void test_settings() {
+ public void test_settings() throws UnsupportedEncodingException {
URL secretKeyUrl = getClass().getResource("/settings/SettingsTest/sonar-secret.txt");
orchestrator = Orchestrator.builderEnv()
.addPlugin(pluginArtifact("settings-plugin"))
@@ -60,33 +62,28 @@ public class SettingsTestRestartingOrchestrator {
.build();
orchestrator.start();
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_settings",
- "/settings/SettingsTest/general-settings.html",
-
- // SONAR-2869 the annotation @Properties can be used on extensions and not only on plugin entry points
- "/settings/SettingsTest/hidden-extension-property.html",
- "/settings/SettingsTest/global-extension-property.html",
+ Navigation.get(orchestrator).openHomepage().logIn().asAdmin().openSettings(null)
+ .assertMenuContains("General")
+ .assertSettingDisplayed("sonar.dbcleaner.cleanDirectory")
+ .assertSettingNotDisplayed("settings.extension.hidden")
+ .assertSettingNotDisplayed("settings.extension.global");
- // SONAR-3344 - licenses
- "/settings/SettingsTest/ignore-corrupted-license.html",
- "/settings/SettingsTest/display-license.html",
- "/settings/SettingsTest/display-untyped-license.html",
-
- // SONAR-2084 - encryption
+ Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("test_settings",
+ // test encryption
"/settings/SettingsTest/generate-secret-key.html",
- "/settings/SettingsTest/encrypt-text.html",
-
- // SONAR-1378 - property types
- "/settings/SettingsTest/validate-property-type.html",
-
- // SONAR-3127 - hide passwords
- "/settings/SettingsTest/hide-passwords.html"
- ).build();
+ "/settings/SettingsTest/encrypt-text.html"
+
+ // test licenses
+ // TODO enable when license page will be rewritten
+ // "/settings/SettingsTest/ignore-corrupted-license.html",
+ // "/settings/SettingsTest/display-license.html",
+ // "/settings/SettingsTest/display-untyped-license.html"
+ ).build();
new SeleneseTest(selenese).runOn(orchestrator);
}
@Test
- public void property_relocation() {
+ public void property_relocation() throws UnsupportedEncodingException {
orchestrator = Orchestrator.builderEnv()
.addPlugin(pluginArtifact("property-relocation-plugin"))
.addPlugin(xooPlugin())
@@ -101,10 +98,10 @@ public class SettingsTestRestartingOrchestrator {
// should not fail
orchestrator.executeBuilds(withDeprecatedKey, withNewKey);
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("property_relocation",
- "/settings/SettingsTest/property_relocation.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
+ Navigation.get(orchestrator).openHomepage().logIn().asAdmin().openSettings(null)
+ .assertMenuContains("General")
+ .assertSettingDisplayed("sonar.newKey")
+ .assertSettingNotDisplayed("sonar.deprecatedKey");
}
}
diff --git a/it/it-tests/src/test/java/it/settings/SubCategoriesTest.java b/it/it-tests/src/test/java/it/settings/SubCategoriesTest.java
deleted file mode 100644
index 5bca8b88d5d..00000000000
--- a/it/it-tests/src/test/java/it/settings/SubCategoriesTest.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2016 SonarSource SA
- * mailto:contact 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.
- */
-package it.settings;
-
-import com.sonar.orchestrator.Orchestrator;
-import com.sonar.orchestrator.build.SonarScanner;
-import com.sonar.orchestrator.selenium.Selenese;
-import it.Category1Suite;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.sonar.wsclient.services.PropertyQuery;
-import util.selenium.SeleneseTest;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static util.ItUtils.projectDir;
-
-public class SubCategoriesTest {
-
- @ClassRule
- public static Orchestrator orchestrator = Category1Suite.ORCHESTRATOR;
-
- /**
- * SONAR-3159
- */
- @Test
- public void should_support_global_subcategories() {
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("subcategories",
- "/settings/subcategories/global-subcategories.html",
- // SONAR-4495
- "/settings/subcategories/global-subcategories-no-default.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- assertThat(getProperty("prop3", null)).isEqualTo("myValue");
- }
-
- /**
- * SONAR-3159
- */
- @Test
- public void should_support_project_subcategories() {
- orchestrator.executeBuild(SonarScanner.create(projectDir("shared/xoo-sample")));
-
- Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("subcategories",
- "/settings/subcategories/project-subcategories.html",
- // SONAR-4495
- "/settings/subcategories/project-subcategories-no-default.html"
- ).build();
- new SeleneseTest(selenese).runOn(orchestrator);
- assertThat(getProperty("prop3", "sample")).isEqualTo("myValue2");
- }
-
- static String getProperty(String key, String resourceKeyOrId) {
- return orchestrator.getServer().getAdminWsClient().find(new PropertyQuery().setKey(key).setResourceKeyOrId(resourceKeyOrId)).getValue();
- }
-}
diff --git a/it/it-tests/src/test/java/pageobjects/LoginPage.java b/it/it-tests/src/test/java/pageobjects/LoginPage.java
index 2aea164f0cb..98e95b01df8 100644
--- a/it/it-tests/src/test/java/pageobjects/LoginPage.java
+++ b/it/it-tests/src/test/java/pageobjects/LoginPage.java
@@ -36,6 +36,10 @@ public class LoginPage {
return submitCredentials(login, password, Navigation.class);
}
+ public Navigation asAdmin() {
+ return submitCredentials("admin", "admin");
+ }
+
public LoginPage submitWrongCredentials(String login, String password) {
$("#login").val(login);
$("#password").val(password);
diff --git a/it/it-tests/src/test/java/pageobjects/Navigation.java b/it/it-tests/src/test/java/pageobjects/Navigation.java
index ecd9cc6bc67..28a99e4b3f8 100644
--- a/it/it-tests/src/test/java/pageobjects/Navigation.java
+++ b/it/it-tests/src/test/java/pageobjects/Navigation.java
@@ -24,8 +24,12 @@ import com.codeborne.selenide.Selenide;
import com.codeborne.selenide.SelenideElement;
import com.codeborne.selenide.WebDriverRunner;
import com.sonar.orchestrator.Orchestrator;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import javax.annotation.Nullable;
import org.junit.rules.ExternalResource;
import org.openqa.selenium.By;
+import pageobjects.settings.SettingsPage;
import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.page;
@@ -84,6 +88,13 @@ public class Navigation extends ExternalResource {
return open("/background_tasks", BackgroundTasksPage.class);
}
+ public SettingsPage openSettings(@Nullable String projectKey) throws UnsupportedEncodingException {
+ String url = projectKey != null ?
+ "/project/settings?id=" + URLEncoder.encode(projectKey, "UTF-8") :
+ "/settings";
+ return open(url, SettingsPage.class);
+ }
+
public void open(String relativeUrl) {
Selenide.open(relativeUrl);
}
diff --git a/it/it-tests/src/test/java/pageobjects/settings/PropertySetInput.java b/it/it-tests/src/test/java/pageobjects/settings/PropertySetInput.java
new file mode 100644
index 00000000000..9da8501fc02
--- /dev/null
+++ b/it/it-tests/src/test/java/pageobjects/settings/PropertySetInput.java
@@ -0,0 +1,48 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact 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.
+ */
+package pageobjects.settings;
+
+import com.codeborne.selenide.SelenideElement;
+
+import static com.codeborne.selenide.Condition.exist;
+
+public class PropertySetInput {
+
+ private final SelenideElement elt;
+
+ public PropertySetInput(SelenideElement elt) {
+ this.elt = elt;
+ }
+
+ public PropertySetInput setFieldValue(int index, String fieldKey, String value) {
+ elt.findAll("input[name$=\"[" + fieldKey + "]\"]").get(index).val(value);
+ return this;
+ }
+
+ public PropertySetInput setFieldValue(String fieldKey, String value) {
+ return setFieldValue(0, fieldKey, value);
+ }
+
+ public PropertySetInput save() {
+ elt.find(".js-save-changes").click();
+ elt.find(".js-save-changes").shouldNot(exist);
+ return this;
+ }
+}
diff --git a/it/it-tests/src/test/java/pageobjects/settings/SettingsPage.java b/it/it-tests/src/test/java/pageobjects/settings/SettingsPage.java
new file mode 100644
index 00000000000..24676e896e5
--- /dev/null
+++ b/it/it-tests/src/test/java/pageobjects/settings/SettingsPage.java
@@ -0,0 +1,84 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact 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.
+ */
+package pageobjects.settings;
+
+import com.codeborne.selenide.SelenideElement;
+import org.openqa.selenium.By;
+
+import static com.codeborne.selenide.Condition.cssClass;
+import static com.codeborne.selenide.Condition.exactValue;
+import static com.codeborne.selenide.Condition.exist;
+import static com.codeborne.selenide.Condition.visible;
+import static com.codeborne.selenide.Selenide.$;
+
+public class SettingsPage {
+
+ public SettingsPage() {
+ $("#settings-page").shouldBe(visible);
+ }
+
+ public SettingsPage assertMenuContains(String categoryName) {
+ $(".settings-menu").$(By.linkText(categoryName)).shouldBe(visible);
+ return this;
+ }
+
+ public SettingsPage assertSettingDisplayed(String settingKey) {
+ $(".settings-definition[data-key='" + settingKey + "']").shouldBe(visible);
+ return this;
+ }
+
+ public SettingsPage assertSettingNotDisplayed(String settingKey) {
+ $(".settings-definition[data-key='" + settingKey + "']").shouldNotBe(visible);
+ return this;
+ }
+
+ public SettingsPage openCategory(String categoryName) {
+ $(".settings-menu").$(By.linkText(categoryName)).click();
+ return this;
+ }
+
+ public SettingsPage assertStringSettingValue(String settingKey, String value) {
+ $("input[name=\"settings[" + settingKey + "]\"]").shouldHave(exactValue(value));
+ return this;
+ }
+
+ public SettingsPage assertBooleanSettingValue(String settingKey, boolean value) {
+ SelenideElement toggle = $("button[name=\"settings[" + settingKey + "]\"]");
+ if (value) {
+ toggle.shouldHave(cssClass("boolean-toggle-on"));
+ } else {
+ toggle.shouldNotHave(cssClass("boolean-toggle-on"));
+ }
+ return this;
+ }
+
+ public SettingsPage setStringValue(String settingKey, String value) {
+ SelenideElement setting = $(".settings-definition[data-key=\"" + settingKey + "\"]");
+ setting.find("input").val(value);
+ setting.find(".js-save-changes").click();
+ setting.find(".js-save-changes").shouldNot(exist);
+ return this;
+ }
+
+ public PropertySetInput getPropertySetInput(String settingKey) {
+ SelenideElement setting = $(".settings-definition[data-key=\"" + settingKey + "\"]");
+ return new PropertySetInput(setting);
+ }
+}
diff --git a/it/it-tests/src/test/resources/componentDashboard/DashboardTest/global_dashboard/global-admin-dashboards.html b/it/it-tests/src/test/resources/componentDashboard/DashboardTest/global_dashboard/global-admin-dashboards.html
deleted file mode 100644
index 67911a11d8c..00000000000
--- a/it/it-tests/src/test/resources/componentDashboard/DashboardTest/global_dashboard/global-admin-dashboards.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>global-admin-dashboards</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">global-admin-dashboards</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/login</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>link=Home</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Home</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Configure widgets</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Back to dashboard</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/dashboards</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/settings/index</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>link=Configuration</td>
- <td></td>
- </tr>
- <tr>
- <td>click</td>
- <td>link=Configuration</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Default Dashboards</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/measureHistory/DifferentialPeriodsTest/define-leak-period-on-project.html b/it/it-tests/src/test/resources/measureHistory/DifferentialPeriodsTest/define-leak-period-on-project.html
deleted file mode 100644
index 0bba5f6e3b3..00000000000
--- a/it/it-tests/src/test/resources/measureHistory/DifferentialPeriodsTest/define-leak-period-on-project.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>display-added-files</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">should_display_added_files_in_differential_drilldown</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/logout</td>
- <td></td>
-</tr>
-<tr>
- <td>open</td>
- <td>/project/settings?id=sample&amp;category=general&amp;subcategory=differentialviews</td>
- <td></td>
-</tr>
-<tr>
- <td>type</td>
- <td>id=login</td>
- <td>admin</td>
-</tr>
-<tr>
- <td>type</td>
- <td>id=password</td>
- <td>admin</td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>name=commit</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>properties</td>
- <td>*Leak Period*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/projectAdministration/ProjectAdministrationTest/module-settings/display-module-settings.html b/it/it-tests/src/test/resources/projectAdministration/ProjectAdministrationTest/module-settings/display-module-settings.html
deleted file mode 100644
index 6d301d77dbd..00000000000
--- a/it/it-tests/src/test/resources/projectAdministration/ProjectAdministrationTest/module-settings/display-module-settings.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>override-global-settings</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">override-global-settings</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/logout</td>
- <td></td>
-</tr>
-<tr>
- <td>open</td>
- <td>/project/settings/com.sonarsource.it.samples%3Amulti-modules-sample%3Amodule_a</td>
- <td></td>
-</tr>
-<tr>
- <td>type</td>
- <td>id=login</td>
- <td>admin</td>
-</tr>
-<tr>
- <td>type</td>
- <td>id=password</td>
- <td>admin</td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>name=commit</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>plugins</td>
- <td>*Settings*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-settings/only-on-project-settings.html b/it/it-tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-settings/only-on-project-settings.html
deleted file mode 100644
index 9197fa9c348..00000000000
--- a/it/it-tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-settings/only-on-project-settings.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>override-global-settings</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">override-global-settings</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/logout</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/project/settings/sample?category=project-only</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>name=commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_prop_only_on_project</td>
- <td>foo</td>
- </tr>
- <tr>
- <td>click</td>
- <td>id=submit_settings</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>id=input_prop_only_on_project</td>
- <td>foo</td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-settings/override-global-settings.html b/it/it-tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-settings/override-global-settings.html
deleted file mode 100644
index a73b2ca1475..00000000000
--- a/it/it-tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-settings/override-global-settings.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>override-global-settings</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">override-global-settings</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/logout</td>
- <td></td>
-</tr>
-<tr>
- <td>open</td>
- <td>/project/settings/sample?category=exclusions&amp;subcategory=files</td>
- <td></td>
-</tr>
-<tr>
- <td>type</td>
- <td>id=login</td>
- <td>admin</td>
-</tr>
-<tr>
- <td>type</td>
- <td>id=password</td>
- <td>admin</td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>name=commit</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
-</tr>
-<tr>
- <td>type</td>
- <td>id=input_sonar.exclusions</td>
- <td>my-exclusions</td>
-</tr>
-<tr>
- <td>click</td>
- <td>id=submit_settings</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForValue</td>
- <td>id=input_sonar.exclusions</td>
- <td>my-exclusions</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/serverSystem/ServerSystemTest/missing_ip.html b/it/it-tests/src/test/resources/serverSystem/ServerSystemTest/missing_ip.html
index 1a9725f07a8..82e481ae7b9 100644
--- a/it/it-tests/src/test/resources/serverSystem/ServerSystemTest/missing_ip.html
+++ b/it/it-tests/src/test/resources/serverSystem/ServerSystemTest/missing_ip.html
@@ -60,22 +60,7 @@
</tr>
<tr>
<td>open</td>
- <td>/settings/index</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Licenses</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Server ID</td>
- <td></td>
- </tr>
- <tr>
- <td>selectFrame</td>
- <td>settings_iframe</td>
+ <td>/server_id_configuration</td>
<td></td>
</tr>
<tr>
diff --git a/it/it-tests/src/test/resources/serverSystem/ServerSystemTest/organisation_must_not_accept_special_chars.html b/it/it-tests/src/test/resources/serverSystem/ServerSystemTest/organisation_must_not_accept_special_chars.html
index 29823121244..d9b98cf4ed7 100644
--- a/it/it-tests/src/test/resources/serverSystem/ServerSystemTest/organisation_must_not_accept_special_chars.html
+++ b/it/it-tests/src/test/resources/serverSystem/ServerSystemTest/organisation_must_not_accept_special_chars.html
@@ -35,22 +35,7 @@
</tr>
<tr>
<td>open</td>
- <td>/settings/index</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Licenses</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Server ID</td>
- <td></td>
- </tr>
- <tr>
- <td>selectFrame</td>
- <td>settings_iframe</td>
+ <td>/server_id_configuration</td>
<td></td>
</tr>
<tr>
diff --git a/it/it-tests/src/test/resources/serverSystem/ServerSystemTest/valid_id.html b/it/it-tests/src/test/resources/serverSystem/ServerSystemTest/valid_id.html
index 4f86397d642..dabdb002dff 100644
--- a/it/it-tests/src/test/resources/serverSystem/ServerSystemTest/valid_id.html
+++ b/it/it-tests/src/test/resources/serverSystem/ServerSystemTest/valid_id.html
@@ -40,27 +40,7 @@
</tr>
<tr>
<td>open</td>
- <td>/settings/index</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Licenses</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Server ID</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>settings_iframe</td>
- <td></td>
- </tr>
- <tr>
- <td>selectFrame</td>
- <td>settings_iframe</td>
+ <td>/server_id_configuration</td>
<td></td>
</tr>
<tr>
diff --git a/it/it-tests/src/test/resources/settings/PropertySetsTest/auto-generated/create.html b/it/it-tests/src/test/resources/settings/PropertySetsTest/auto-generated/create.html
deleted file mode 100644
index a28e6426fdf..00000000000
--- a/it/it-tests/src/test/resources/settings/PropertySetsTest/auto-generated/create.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>create</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/settings?category=DEV</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>1</td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_value</td>
- <td>FIRST</td>
- </tr>
- <tr>
- <td>click</td>
- <td>css=button.add_value</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>xpath=(//input[@id='input_value'])[2]</td>
- <td>SECOND</td>
- </tr>
- <tr>
- <td>click</td>
- <td>css=button.add_value</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>xpath=(//input[@id='input_value'])[3]</td>
- <td>THIRD</td>
- </tr>
- <tr>
- <td>click</td>
- <td>id=submit_settings</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>2</td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/PropertySetsTest/auto-generated/update.html b/it/it-tests/src/test/resources/settings/PropertySetsTest/auto-generated/update.html
deleted file mode 100644
index 2db17093913..00000000000
--- a/it/it-tests/src/test/resources/settings/PropertySetsTest/auto-generated/update.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>update</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/settings?category=DEV</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>1</td>
- </tr>
- <tr>
- <td>click</td>
- <td>link=Delete</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForVisible</td>
- <td>id=submit_settings</td>
- <td></td>
- </tr>
- <tr>
- <td>click</td>
- <td>id=submit_settings</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>2</td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/all_types.html b/it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/all_types.html
deleted file mode 100644
index 4dfffa1d384..00000000000
--- a/it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/all_types.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>all_types</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/settings?category=DEV</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>1</td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_text</td>
- <td>text</td>
- </tr>
- <tr>
- <td>select</td>
- <td>id=input_boolean</td>
- <td>label=True</td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_float</td>
- <td>42.0</td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_license</td>
- <td>abc</td>
- </tr>
- <tr>
- <td>select</td>
- <td>id=input_metric</td>
- <td>label=Overall Condition Coverage</td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_password</td>
- <td>abcde</td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_regexp</td>
- <td>.*</td>
- </tr>
- <tr>
- <td>select</td>
- <td>id=input_list</td>
- <td>label=AAA</td>
- </tr>
- <tr>
- <td>click</td>
- <td>id=submit_settings</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>2</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>id=input_text</td>
- <td>text</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>id=input_boolean</td>
- <td>true</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>id=input_float</td>
- <td>42.0</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>id=input_license</td>
- <td>abc</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>id=input_metric</td>
- <td>overall_branch_coverage</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>id=input_password</td>
- <td>{{*******************}}</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>id=input_regexp</td>
- <td>exact:.*</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>id=input_list</td>
- <td>AAA</td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/create.html b/it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/create.html
deleted file mode 100644
index d85e447c5c4..00000000000
--- a/it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/create.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>create</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/settings?category=DEV</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>1</td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_key</td>
- <td>jira1</td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_url</td>
- <td>http://jira</td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_port</td>
- <td>12345</td>
- </tr>
- <tr>
- <td>click</td>
- <td>id=submit_settings</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>2</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>id=input_key</td>
- <td>jira1</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>id=input_url</td>
- <td>exact:http://jira</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>id=input_port</td>
- <td>12345</td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/delete.html b/it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/delete.html
deleted file mode 100644
index aa0e9cacc6d..00000000000
--- a/it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/delete.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>delete</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
-</tr>
-<tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
-</tr>
-<tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
-</tr>
-<tr>
- <td>open</td>
- <td>/settings?category=DEV</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>1</td>
-</tr>
-<tr>
- <td>type</td>
- <td>id=input_key</td>
- <td>jira1</td>
-</tr>
-<tr>
- <td>type</td>
- <td>id=input_url</td>
- <td>http://jira1</td>
-</tr>
-<tr>
- <td>click</td>
- <td>css=#block_sonar\.test\.jira\.servers .add_value</td>
- <td></td>
-</tr>
-<tr>
- <td>type</td>
- <td>xpath=(//input[@id='input_key'])[2]</td>
- <td>jira2</td>
-</tr>
-<tr>
- <td>type</td>
- <td>xpath=(//input[@id='input_url'])[2]</td>
- <td>http://jira2</td>
-</tr>
-<tr>
- <td>click</td>
- <td>id=submit_settings</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>2</td>
-</tr>
-<tr>
- <td>assertValue</td>
- <td>xpath=(//input[@id='input_key'])[1]</td>
- <td>jira1</td>
-</tr>
-<tr>
- <td>assertValue</td>
- <td>xpath=(//input[@id='input_key'])[2]</td>
- <td>jira2</td>
-</tr>
-<tr>
- <td>click</td>
- <td>xpath=(//a[contains(text(),'Delete')])[3]</td>
- <td></td>
-</tr>
-<tr>
- <td>click</td>
- <td>id=submit_settings</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>3</td>
-</tr>
-<tr>
- <td>assertValue</td>
- <td>xpath=(//input[@id='input_key'])[1]</td>
- <td>jira1</td>
-</tr>
-<tr>
- <td>waitForNotText</td>
- <td>xpath=(//input[@id='input_key'])</td>
- <td>*jira2*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/reference.html b/it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/reference.html
deleted file mode 100644
index c212340711f..00000000000
--- a/it/it-tests/src/test/resources/settings/PropertySetsTest/property-sets/reference.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>reference</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/settings?category=DEV</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>1</td>
- </tr>
- <tr>
- <td>type</td>
- <td>xpath=(//input[@id='input_key'])[1]</td>
- <td>jira1</td>
- </tr>
- <tr>
- <td>click</td>
- <td>css=#block_sonar\.test\.jira\.servers .add_value</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>xpath=(//input[@id='input_key'])[2]</td>
- <td>jira2</td>
- </tr>
- <tr>
- <td>click</td>
- <td>id=submit_settings</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>2</td>
- </tr>
- <tr>
- <td>assertSelectOptions</td>
- <td>id=input_sonar.test.jira</td>
- <td>Default,jira1,jira2</td>
- </tr>
- <tr>
- <td>click</td>
- <td>xpath=(//a[contains(text(),'Delete')])[2]</td>
- <td></td>
- </tr>
- <tr>
- <td>click</td>
- <td>id=submit_settings</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>3</td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/SettingsTest/encrypt-text.html b/it/it-tests/src/test/resources/settings/SettingsTest/encrypt-text.html
index fe174478d54..d1258d789ac 100644
--- a/it/it-tests/src/test/resources/settings/SettingsTest/encrypt-text.html
+++ b/it/it-tests/src/test/resources/settings/SettingsTest/encrypt-text.html
@@ -15,7 +15,7 @@
</tr>
<tr>
<td>open</td>
- <td>/settings?category=security&subcategory=encryption</td>
+ <td>/encryption_configuration</td>
<td></td>
</tr>
<tr>
@@ -35,12 +35,7 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>selectFrame</td>
- <td>settings_iframe</td>
+ <td>css=#submit_encrypt</td>
<td></td>
</tr>
<tr>
diff --git a/it/it-tests/src/test/resources/settings/SettingsTest/general-settings.html b/it/it-tests/src/test/resources/settings/SettingsTest/general-settings.html
deleted file mode 100644
index 89061e138ba..00000000000
--- a/it/it-tests/src/test/resources/settings/SettingsTest/general-settings.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>settings_on_core_plugins</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">settings_on_core_plugins</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/logout</td>
- <td></td>
-</tr>
-<tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
-</tr>
-<tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
-</tr>
-<tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
-</tr>
-<tr>
- <td>open</td>
- <td>/settings/index</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>plugins</td>
- <td>*General*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/SettingsTest/generate-secret-key.html b/it/it-tests/src/test/resources/settings/SettingsTest/generate-secret-key.html
index c667bf3ca0b..dafe8ccfe82 100644
--- a/it/it-tests/src/test/resources/settings/SettingsTest/generate-secret-key.html
+++ b/it/it-tests/src/test/resources/settings/SettingsTest/generate-secret-key.html
@@ -15,7 +15,7 @@
</tr>
<tr>
<td>open</td>
- <td>/settings?category=security&subcategory=encryption</td>
+ <td>/encryption_configuration</td>
<td></td>
</tr>
<tr>
@@ -35,12 +35,7 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>selectFrame</td>
- <td>settings_iframe</td>
+ <td>css=#submit_encrypt</td>
<td></td>
</tr>
<tr>
diff --git a/it/it-tests/src/test/resources/settings/SettingsTest/global-extension-property.html b/it/it-tests/src/test/resources/settings/SettingsTest/global-extension-property.html
deleted file mode 100644
index ad3d97682b3..00000000000
--- a/it/it-tests/src/test/resources/settings/SettingsTest/global-extension-property.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>global-extension-property</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">global-extension-property</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/settings?category=Settings</td>
- <td></td>
- </tr>
- <tr>
- <td>assertNotText</td>
- <td>plugins</td>
- <td>glob:*Hidden*</td>
- </tr>
-
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/SettingsTest/hidden-extension-property.html b/it/it-tests/src/test/resources/settings/SettingsTest/hidden-extension-property.html
deleted file mode 100644
index 7aa9bd9cba1..00000000000
--- a/it/it-tests/src/test/resources/settings/SettingsTest/hidden-extension-property.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>hidden-extension-property</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <thead>
- <tr>
- <td rowspan="1" colspan="3">hidden-extension-property</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/settings?category=Settings</td>
- <td></td>
- </tr>
- <tr>
- <td>assertNotText</td>
- <td>plugins</td>
- <td>glob:*Hidden*</td>
- </tr>
-
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/SettingsTest/hide-passwords.html b/it/it-tests/src/test/resources/settings/SettingsTest/hide-passwords.html
deleted file mode 100644
index 531e11e8bd4..00000000000
--- a/it/it-tests/src/test/resources/settings/SettingsTest/hide-passwords.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>hide-passwords</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/logout</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/settings?category=Settings</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>name=commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForText</td>
- <td>block_password</td>
- <td>*Default*</td>
- </tr>
- <tr>
- <td>assertNotText</td>
- <td>block_password</td>
- <td>*Default*sonar*</td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/SettingsTest/property_relocation.html b/it/it-tests/src/test/resources/settings/SettingsTest/property_relocation.html
deleted file mode 100644
index 37986cd560d..00000000000
--- a/it/it-tests/src/test/resources/settings/SettingsTest/property_relocation.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>property-relocation</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/logout</td>
- <td></td>
-</tr>
-<tr>
- <td>open</td>
- <td>/settings/index?category=general</td>
- <td></td>
-</tr>
-<tr>
- <td>type</td>
- <td>id=login</td>
- <td>admin</td>
-</tr>
-<tr>
- <td>type</td>
- <td>id=password</td>
- <td>admin</td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>name=commit</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
-</tr>
-<tr>
- <td>waitForText</td>
- <td>properties</td>
- <td>*sonar.newKey*</td>
-</tr>
-<tr>
- <td>assertNotText</td>
- <td>properties</td>
- <td>*sonar.deprecatedKey*</td>
-</tr>
-</tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/SettingsTest/validate-property-type.html b/it/it-tests/src/test/resources/settings/SettingsTest/validate-property-type.html
deleted file mode 100644
index 96024f79b91..00000000000
--- a/it/it-tests/src/test/resources/settings/SettingsTest/validate-property-type.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>validate-property-type</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/logout</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/settings?category=Settings</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>name=commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_float</td>
- <td>abc</td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_integer</td>
- <td>123</td>
- </tr>
- <tr>
- <td>click</td>
- <td>id=submit_settings</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForText</td>
- <td>properties</td>
- <td>*Not a floating point number*</td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>input_integer</td>
- <td>123</td>
- </tr>
- <tr>
- <td>open</td>
- <td>/settings?category=Settings</td>
- <td></td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>input_float</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/subcategories/global-subcategories-no-default.html b/it/it-tests/src/test/resources/settings/subcategories/global-subcategories-no-default.html
deleted file mode 100644
index a4b69712397..00000000000
--- a/it/it-tests/src/test/resources/settings/subcategories/global-subcategories-no-default.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>global-subcategories</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/settings?category=Category 2</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>1</td>
- </tr>
- <!-- First subcategory should be selected by default -->
- <tr>
- <td>assertElementPresent</td>
- <td>id=input_prop2_1</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop2_2</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/subcategories/global-subcategories.html b/it/it-tests/src/test/resources/settings/subcategories/global-subcategories.html
deleted file mode 100644
index 3f578222762..00000000000
--- a/it/it-tests/src/test/resources/settings/subcategories/global-subcategories.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>global-subcategories</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/settings?category=Category 1</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>1</td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop1</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop2</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop3</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementPresent</td>
- <td>id=input_prop4</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Sub category 1</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementPresent</td>
- <td>id=input_prop1</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementPresent</td>
- <td>id=input_prop2</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop3</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop4</td>
- <td></td>
- </tr>
- <!-- Verify index attribute is taken into account -->
- <tr>
- <td>assertElementPresent</td>
- <td>xpath=//.[@id='input_prop2']/following::input[@id='input_prop1']</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Sub category 2</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_prop3</td>
- <td>myValue</td>
- </tr>
- <tr>
- <td>click</td>
- <td>id=submit_settings</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>2</td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop1</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop2</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementPresent</td>
- <td>id=input_prop3</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop4</td>
- <td></td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>id=input_prop3</td>
- <td>myValue</td>
- </tr>
- <!-- SONAR-4473 -->
- <tr>
- <td>clickAndWait</td>
- <td>link=Sub category 1</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementPresent</td>
- <td>id=input_prop1</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/subcategories/project-subcategories-no-default.html b/it/it-tests/src/test/resources/settings/subcategories/project-subcategories-no-default.html
deleted file mode 100644
index f0efe3fcf35..00000000000
--- a/it/it-tests/src/test/resources/settings/subcategories/project-subcategories-no-default.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>create</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/project/settings/sample?category=Category 2</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>1</td>
- </tr>
- <!-- First subcategory should be selected by default -->
- <tr>
- <td>assertElementPresent</td>
- <td>id=input_prop2_1</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop2_2</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/settings/subcategories/project-subcategories.html b/it/it-tests/src/test/resources/settings/subcategories/project-subcategories.html
deleted file mode 100644
index 1d6b7efc0c7..00000000000
--- a/it/it-tests/src/test/resources/settings/subcategories/project-subcategories.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head profile="http://selenium-ide.openqa.org/profiles/test-case">
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>create</title>
-</head>
-<body>
-<table cellpadding="1" cellspacing="1" border="1">
- <tbody>
- <tr>
- <td>open</td>
- <td>/sessions/new</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>login</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>type</td>
- <td>password</td>
- <td>admin</td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>commit</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForElementPresent</td>
- <td>css=.js-user-authenticated</td>
- <td></td>
- </tr>
- <tr>
- <td>open</td>
- <td>/project/settings/sample?category=Category 1</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>1</td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop1</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop2</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop3</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementPresent</td>
- <td>id=input_prop4</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Sub category 1</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementPresent</td>
- <td>id=input_prop1</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementPresent</td>
- <td>id=input_prop2</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop3</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop4</td>
- <td></td>
- </tr>
- <tr>
- <td>clickAndWait</td>
- <td>link=Sub category 2</td>
- <td></td>
- </tr>
- <tr>
- <td>type</td>
- <td>id=input_prop3</td>
- <td>myValue2</td>
- </tr>
- <tr>
- <td>click</td>
- <td>id=submit_settings</td>
- <td></td>
- </tr>
- <tr>
- <td>waitForValue</td>
- <td>name=page_version</td>
- <td>2</td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop1</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop2</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementPresent</td>
- <td>id=input_prop3</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementNotPresent</td>
- <td>id=input_prop4</td>
- <td></td>
- </tr>
- <tr>
- <td>assertValue</td>
- <td>id=input_prop3</td>
- <td>myValue2</td>
- </tr>
- <!-- SONAR-4473 -->
- <tr>
- <td>clickAndWait</td>
- <td>link=Sub category 1</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementPresent</td>
- <td>id=input_prop1</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-</body>
-</html>
diff --git a/it/it-tests/src/test/resources/updateCenter/installed-plugins.html b/it/it-tests/src/test/resources/updateCenter/installed-plugins.html
index 05c21066451..01c518c4f9f 100644
--- a/it/it-tests/src/test/resources/updateCenter/installed-plugins.html
+++ b/it/it-tests/src/test/resources/updateCenter/installed-plugins.html
@@ -15,7 +15,7 @@
</tr>
<tr>
<td>open</td>
- <td>/settings</td>
+ <td>/updatecenter</td>
<td></td>
</tr>
<tr>
@@ -39,11 +39,6 @@
<td></td>
</tr>
<tr>
- <td>open</td>
- <td>/updatecenter</td>
- <td></td>
- </tr>
- <tr>
<td>waitForText</td>
<td>content</td>
<td>*Fake*</td>
diff --git a/it/it-tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_after_indirect_login.html b/it/it-tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_after_indirect_login.html
index ef3618524db..9683c351923 100644
--- a/it/it-tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_after_indirect_login.html
+++ b/it/it-tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_after_indirect_login.html
@@ -14,7 +14,7 @@
</tr>
<tr>
<td>open</td>
- <td>/settings/index</td>
+ <td>/settings</td>
<td></td>
</tr>
<tr>
@@ -54,12 +54,7 @@
</tr>
<tr>
<td>assertLocation</td>
- <td>*/settings/index</td>
- <td></td>
- </tr>
- <tr>
- <td>assertElementPresent</td>
- <td>plugins</td>
+ <td>*/settings</td>
<td></td>
</tr>
</tbody>