keycloak-uncached
Changes
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/AbstractAccountPage.java 6(+5 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/LoginPage.java 6(+4 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/AbstractI18NTest.java 50(+50 -0)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/AccountPageTest.java 37(+5 -32)
Details
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/AbstractAccountPage.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/AbstractAccountPage.java
index 042eec3..976f211 100755
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/AbstractAccountPage.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/AbstractAccountPage.java
@@ -17,7 +17,9 @@
package org.keycloak.testsuite.pages;
+import org.jboss.arquillian.drone.api.annotation.Drone;
import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
@@ -44,6 +46,8 @@ public abstract class AbstractAccountPage extends AbstractPage {
}
public void openLanguage(String language){
- localeDropdown.findElement(By.linkText(language)).click();
+ WebElement langLink = localeDropdown.findElement(By.xpath("//a[text()='" +language +"']"));
+ String url = langLink.getAttribute("href");
+ driver.navigate().to(url);
}
}
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/LoginPage.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/LoginPage.java
index fcbdb2c..78913d6 100755
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/LoginPage.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/LoginPage.java
@@ -30,7 +30,7 @@ public class LoginPage extends AbstractPage {
@ArquillianResource
protected OAuthClient oauth;
-
+
@FindBy(id = "username")
private WebElement usernameInput;
@@ -184,7 +184,9 @@ public class LoginPage extends AbstractPage {
}
public void openLanguage(String language){
- localeDropdown.findElement(By.linkText(language)).click();
+ WebElement langLink = localeDropdown.findElement(By.xpath("//a[text()='" +language +"']"));
+ String url = langLink.getAttribute("href");
+ driver.navigate().to(url);
}
}
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/AbstractI18NTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/AbstractI18NTest.java
new file mode 100644
index 0000000..d29d3ac
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/AbstractI18NTest.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2016 Red Hat Inc. and/or its affiliates and other contributors
+ * as indicated by the @author tags. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package org.keycloak.testsuite.i18n;
+
+import org.junit.After;
+import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.testsuite.TestRealmKeycloakTest;
+import org.keycloak.testsuite.util.RealmBuilder;
+import org.keycloak.testsuite.util.UserBuilder;
+
+/**
+ * @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
+ */
+public abstract class AbstractI18NTest extends TestRealmKeycloakTest {
+
+ @Override
+ public void configureTestRealm(RealmRepresentation testRealm) {
+ UserBuilder user = UserBuilder.create()
+ .username("login-test")
+ .enabled(true)
+ .email("login@test.com")
+ .role("account", "manage-account")
+ .password("password");
+ RealmBuilder.edit(testRealm).user(user);
+ }
+
+ /**
+ * Remove cookies at the end so that the next test will start out
+ * using the default locale.
+ */
+ @After
+ public void deleteCookies() {
+ driver.manage().deleteAllCookies();
+ }
+}