keycloak-memoizeit
Changes
testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/page/settings/user/RoleMappingsPage.java 71(+71 -0)
testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/page/settings/user/UserPage.java 2(+1 -1)
testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/role/AddNewRoleTest.java 2(+1 -1)
testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/user/AddNewUserTest.java 2(+1 -1)
Details
diff --git a/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/page/settings/user/RoleMappingsPage.java b/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/page/settings/user/RoleMappingsPage.java
new file mode 100644
index 0000000..3b92314
--- /dev/null
+++ b/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/page/settings/user/RoleMappingsPage.java
@@ -0,0 +1,71 @@
+package org.keycloak.testsuite.ui.page.settings.user;
+
+import org.keycloak.testsuite.ui.page.AbstractPage;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.FindBy;
+import org.openqa.selenium.support.ui.Select;
+
+import static org.keycloak.testsuite.ui.util.SeleniumUtils.waitGuiForElement;
+
+/**
+ * Created by fkiss.
+ */
+public class RoleMappingsPage extends AbstractPage {
+
+ @FindBy(id = "available")
+ private Select availableRolesSelect;
+
+ @FindBy(id = "assigned")
+ private Select assignedRolesSelect;
+
+ @FindBy(id = "realm-composite")
+ private Select effectiveRolesSelect;
+
+ @FindBy(id = "available-client")
+ private Select availableClientRolesSelect;
+
+ @FindBy(id = "assigned-client")
+ private Select assignedClientRolesSelect;
+
+ @FindBy(css = "button[ng-click*='addRealm']")
+ private WebElement addSelected;
+
+ @FindBy(css = "button[ng-click*='addRealm']")
+ private WebElement addSelectedButton;
+
+ @FindBy(css = "button[ng-click*='deleteRealm']")
+ private WebElement removeSelectedButton;
+
+ @FindBy(id = "clients")
+ private Select clientRolesSelect;
+
+ public void addAvailableRole(String role){
+ waitGuiForElement(By.id("available"));
+ availableRolesSelect.selectByVisibleText(role);
+ addSelected.click();
+ }
+
+ public void removeAssignedRole(String client){
+ waitGuiForElement(By.id("assigned"));
+ assignedRolesSelect.selectByVisibleText(client);
+ removeSelectedButton.click();
+ }
+
+ public void selectClientRole(String client){
+ waitGuiForElement(By.id("clients"));
+ clientRolesSelect.selectByVisibleText(client);
+ }
+
+ public void addAvailableClientRole(String role){
+ waitGuiForElement(By.id("available-client"));
+ availableRolesSelect.selectByVisibleText(role);
+ addSelected.click();
+ }
+
+ public void removeAssignedClientRole(String client){
+ waitGuiForElement(By.id("assigned-client"));
+ assignedClientRolesSelect.selectByVisibleText(client);
+ removeSelectedButton.click();
+ }
+}
diff --git a/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/role/AddNewRoleTest.java b/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/role/AddNewRoleTest.java
index 7bcd681..03066e6 100644
--- a/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/role/AddNewRoleTest.java
+++ b/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/role/AddNewRoleTest.java
@@ -17,7 +17,7 @@ import org.junit.Before;
import org.junit.Ignore;
import org.keycloak.testsuite.ui.AbstractKeyCloakTest;
import org.keycloak.testsuite.ui.fragment.FlashMessage;
-import org.keycloak.testsuite.ui.page.settings.UserPage;
+import org.keycloak.testsuite.ui.page.settings.user.UserPage;
import static org.openqa.selenium.By.id;
import org.openqa.selenium.support.ui.Select;
diff --git a/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/user/AddNewUserTest.java b/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/user/AddNewUserTest.java
index c59cd30..f65cc15 100644
--- a/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/user/AddNewUserTest.java
+++ b/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/user/AddNewUserTest.java
@@ -22,7 +22,7 @@ import org.jboss.arquillian.graphene.findby.FindByJQuery;
import org.junit.Test;
import org.keycloak.testsuite.ui.fragment.FlashMessage;
import org.keycloak.testsuite.ui.model.User;
-import org.keycloak.testsuite.ui.page.settings.UserPage;
+import org.keycloak.testsuite.ui.page.settings.user.UserPage;
import static org.junit.Assert.*;
diff --git a/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/user/RegisterNewUserTest.java b/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/user/RegisterNewUserTest.java
index 834ba25..981c531 100644
--- a/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/user/RegisterNewUserTest.java
+++ b/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/user/RegisterNewUserTest.java
@@ -25,7 +25,7 @@ import org.junit.Test;
import org.keycloak.testsuite.ui.fragment.FlashMessage;
import org.keycloak.testsuite.ui.model.User;
import org.keycloak.testsuite.ui.page.RegisterPage;
-import org.keycloak.testsuite.ui.page.settings.UserPage;
+import org.keycloak.testsuite.ui.page.settings.user.UserPage;
import static org.junit.Assert.*;
import org.junit.Before;
diff --git a/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/user/RoleMappingsTest.java b/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/user/RoleMappingsTest.java
new file mode 100644
index 0000000..4c727b5
--- /dev/null
+++ b/testsuite/integration-arquillian/src/test/java/org/keycloak/testsuite/ui/test/user/RoleMappingsTest.java
@@ -0,0 +1,70 @@
+package org.keycloak.testsuite.ui.test.user;
+
+import org.jboss.arquillian.graphene.findby.FindByJQuery;
+import org.jboss.arquillian.graphene.page.Page;
+import org.junit.Before;
+import org.junit.Test;
+import org.keycloak.testsuite.ui.AbstractKeyCloakTest;
+import org.keycloak.testsuite.ui.fragment.FlashMessage;
+import org.keycloak.testsuite.ui.model.User;
+import org.keycloak.testsuite.ui.page.settings.user.RoleMappingsPage;
+import org.keycloak.testsuite.ui.page.settings.user.UserPage;
+
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.openqa.selenium.By.linkText;
+
+/**
+ * Created by fkiss.
+ */
+public class RoleMappingsTest extends AbstractKeyCloakTest<RoleMappingsPage> {
+
+ @Page
+ private UserPage userPage;
+
+ @FindByJQuery(".alert")
+ private FlashMessage flashMessage;
+
+ @Before
+ public void beforeAddNewUserTest() {
+ navigation.users();
+ }
+
+ @Test
+ public void addUserAndAssignRole() {
+ String testUsername = "tester1";
+ User testUser = new User(testUsername, "pass");
+ userPage.addUser(testUser);
+ flashMessage.waitUntilPresent();
+ assertTrue(flashMessage.getText(), flashMessage.isSuccess());
+ navigation.users();
+ userPage.findUser(testUsername);
+ driver.findElement(linkText(testUsername)).click();
+ navigation.roleMappings();
+
+ page.addAvailableRole("create-realm");
+ assertTrue(flashMessage.getText(), flashMessage.isSuccess());
+ navigation.users();
+ userPage.deleteUser(testUsername);
+ }
+
+ @Test
+ public void addAndRemoveUserAndAssignRole() {
+ String testUsername = "tester2";
+ User testUser = new User(testUsername, "pass");
+ userPage.addUser(testUser);
+ flashMessage.waitUntilPresent();
+ assertTrue(flashMessage.getText(), flashMessage.isSuccess());
+ navigation.users();
+ userPage.findUser(testUsername);
+ driver.findElement(linkText(testUsername)).click();
+ navigation.roleMappings();
+
+ page.addAvailableRole("create-realm");
+ assertTrue(flashMessage.getText(), flashMessage.isSuccess());
+ page.removeAssignedRole("create-realm");
+ assertTrue(flashMessage.getText(), flashMessage.isSuccess());
+ navigation.users();
+ userPage.deleteUser(testUsername);
+ }
+}