diff --git a/testsuite/integration-arquillian/tests/other/console/pom.xml b/testsuite/integration-arquillian/tests/other/console/pom.xml index d9232e8c0c..2459c6d98d 100644 --- a/testsuite/integration-arquillian/tests/other/console/pom.xml +++ b/testsuite/integration-arquillian/tests/other/console/pom.xml @@ -36,6 +36,26 @@ + + + org.codehaus.mojo + properties-maven-plugin + 1.0.0 + + + process-resources + + read-project-properties + + + + ${testsuite.constants} + + + + + + @@ -48,10 +68,11 @@ copy-resources - ${auth.server.home}/themes + ${keycloak.theme.dir} src/main/resources/themes + true diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/account/messages/messages_cs.properties b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/account/messages/messages_cs.properties new file mode 100644 index 0000000000..f2fd7e02cd --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/account/messages/messages_cs.properties @@ -0,0 +1,5 @@ +#encoding: utf-8 +doSave=Uložit +doCancel=Zrušit +editAccountHtmlTitle=Upravit účet +locale_cs=Čeština diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/account/messages/messages_en.properties b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/account/messages/messages_en.properties new file mode 100644 index 0000000000..cc26e68227 --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/account/messages/messages_en.properties @@ -0,0 +1,2 @@ +#encoding: utf-8 +locale_cs=Čeština diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/account/theme.properties b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/account/theme.properties new file mode 100644 index 0000000000..7bdb8fe5ec --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/account/theme.properties @@ -0,0 +1,2 @@ +parent=${theme-default-name} +locales=en,cs diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/admin/messages/admin-messages_cs.properties b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/admin/messages/admin-messages_cs.properties new file mode 100644 index 0000000000..9a9ef0e171 --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/admin/messages/admin-messages_cs.properties @@ -0,0 +1,7 @@ +#encoding: utf-8 +enabled=Povolit +save=Uložit +cancel=Zrušit +onText=ZAP +offText=VYP +realm-settings=Nastavení Realmu diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/admin/messages/messages_cs.properties b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/admin/messages/messages_cs.properties new file mode 100644 index 0000000000..e03207609e --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/admin/messages/messages_cs.properties @@ -0,0 +1,2 @@ +#encoding: utf-8 +invalidPasswordMinLengthMessage=Neplatné heslo: musí mít alespoň {0} znaků. diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/admin/theme.properties b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/admin/theme.properties new file mode 100644 index 0000000000..7bdb8fe5ec --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/admin/theme.properties @@ -0,0 +1,2 @@ +parent=${theme-default-name} +locales=en,cs diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/email/theme.properties b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/email/theme.properties new file mode 100644 index 0000000000..7bdb8fe5ec --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/email/theme.properties @@ -0,0 +1,2 @@ +parent=${theme-default-name} +locales=en,cs diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/login/messages/messages_cs.properties b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/login/messages/messages_cs.properties new file mode 100644 index 0000000000..3c43a7bd92 --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/login/messages/messages_cs.properties @@ -0,0 +1,11 @@ +#encoding: utf-8 +doLogIn=Přihlásit +doRegister=Registrovat se +doCancel=Zrušit +doSubmit=Odeslat +doForgotPassword=Zapomněli jste heslo? +locale_cs=Čeština +username=Uživatelské jméno +usernameOrEmail=Uživatelské jméno nebo email +email=Email +password=Heslo diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/login/messages/messages_en.properties b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/login/messages/messages_en.properties new file mode 100644 index 0000000000..cc26e68227 --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/login/messages/messages_en.properties @@ -0,0 +1,2 @@ +#encoding: utf-8 +locale_cs=Čeština diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/login/theme.properties b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/login/theme.properties new file mode 100644 index 0000000000..7bdb8fe5ec --- /dev/null +++ b/testsuite/integration-arquillian/tests/other/console/src/main/resources/themes/internat-test/login/theme.properties @@ -0,0 +1,2 @@ +parent=${theme-default-name} +locales=en,cs diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/InternationalizationTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/InternationalizationTest.java index 090288b453..97cb3086bc 100644 --- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/InternationalizationTest.java +++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/InternationalizationTest.java @@ -4,6 +4,7 @@ import org.jboss.arquillian.graphene.page.Page; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.keycloak.representations.idm.RealmRepresentation; import org.keycloak.testsuite.auth.page.AuthRealm; import org.keycloak.testsuite.console.page.fragment.Dropdown; import org.keycloak.testsuite.console.page.realm.ThemeSettings; @@ -17,6 +18,13 @@ import static org.keycloak.testsuite.util.URLAssert.*; * @author Vaclav Muzikar */ public class InternationalizationTest extends AbstractRealmTest { + private static final String THEME_NAME = "internat-test"; + private static final String LOCALE_CS_NAME = "Čeština"; + + private static final String LABEL_CS_PASSWORD = "Heslo"; + private static final String LABEL_CS_REALM_SETTINGS = "Nastavení Realmu"; + private static final String LABEL_CS_EDIT_ACCOUNT = "Upravit účet"; + @Page private ThemeSettings themeSettingsPage; @@ -25,6 +33,13 @@ public class InternationalizationTest extends AbstractRealmTest { @Before public void beforeInternationalizationTest() { + RealmRepresentation realmRepresentation = testRealmResource().toRepresentation(); + realmRepresentation.setAccountTheme(THEME_NAME); + realmRepresentation.setAdminTheme(THEME_NAME); + realmRepresentation.setEmailTheme(THEME_NAME); + realmRepresentation.setLoginTheme(THEME_NAME); + testRealmResource().update(realmRepresentation); + realmSettingsPage.navigateTo(); tabs().themes(); themeSettingsPage.setInternatEnabled(true); @@ -47,14 +62,14 @@ public class InternationalizationTest extends AbstractRealmTest { public void loginInternationalization() { testRealmAdminConsolePage.navigateTo(); - localeDropdown.selectByText("Español"); - assertLocale(".//label[@for='password']", "Contraseña"); // Password + localeDropdown.selectByText(LOCALE_CS_NAME); + assertLocale(".//label[@for='password']", LABEL_CS_PASSWORD); loginToTestRealmConsoleAs(testUser); - assertConsoleLocale("Temas"); + assertConsoleLocale(LABEL_CS_REALM_SETTINGS); testRealmAccountPage.navigateTo(); - assertAccountLocale("Cuenta"); + assertAccountLocale(LABEL_CS_EDIT_ACCOUNT); } /** @@ -65,24 +80,24 @@ public class InternationalizationTest extends AbstractRealmTest { testRealmAccountPage.navigateTo(); loginPage.form().login(testUser); - localeDropdown.selectByText("Français"); + localeDropdown.selectByText(LOCALE_CS_NAME); testRealmAccountPage.navigateTo(); - assertAccountLocale("Compte"); + assertAccountLocale(LABEL_CS_EDIT_ACCOUNT); deleteAllCookiesForTestRealm(); loginToTestRealmConsoleAs(testUser); - assertConsoleLocale("Thèmes"); + assertConsoleLocale(LABEL_CS_REALM_SETTINGS); } private void assertConsoleLocale(String expected) { assertCurrentUrlEquals(realmSettingsPage); - assertLocale(".//a[contains(@href,'/theme-settings')]", expected); // Themes + assertLocale(".//div[@class='nav-category'][1]/ul/li[1]//a", expected); // Realm Settings } private void assertAccountLocale(String expected) { assertCurrentUrlEquals(testRealmAccountPage); - assertLocale(".//div[contains(@class,'bs-sidebar')]/ul/li", expected); // Account + assertLocale(".//div[contains(@class,'content-area')]/div[@class='row']/div/h2", expected); // Edit Account } private void assertLocale(String xpathSelector, String expected) { diff --git a/testsuite/integration-arquillian/tests/other/pom.xml b/testsuite/integration-arquillian/tests/other/pom.xml index bb238bf620..6b0f83c7f1 100644 --- a/testsuite/integration-arquillian/tests/other/pom.xml +++ b/testsuite/integration-arquillian/tests/other/pom.xml @@ -59,7 +59,7 @@ integration-arquillian-tests-base ${project.version} test-jar - arquillian.xml,keycloak-add-user.json,kerberos/* + arquillian.xml,keycloak-add-user.json,test-constants.properties,kerberos/* diff --git a/testsuite/integration-arquillian/tests/pom.xml b/testsuite/integration-arquillian/tests/pom.xml index 6c250598a4..4bdc8238a2 100755 --- a/testsuite/integration-arquillian/tests/pom.xml +++ b/testsuite/integration-arquillian/tests/pom.xml @@ -74,7 +74,7 @@ true true - test-constants.properties + ${project.build.directory}/dependency/test-constants.properties