Author: mposolda(a)redhat.com
Date: 2009-06-22 09:36:15 -0400 (Mon, 22 Jun 2009)
New Revision: 13477
Added:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/SSOSeleniumTestCase.java
Removed:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/UserRolesHelperTestCase.java
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/CASSeleniumTestCase.java
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/JOSSOSeleniumTestCase.java
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/TomcatSSOValveDisabledTestCase.java
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/TomcatSSOValveTestCase.java
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/TomcatSSOValveWithJMXConsoleTestCase.java
Log:
sso tests refactored.
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/CASSeleniumTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/CASSeleniumTestCase.java 2009-06-22
13:24:53 UTC (rev 13476)
+++
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/CASSeleniumTestCase.java 2009-06-22
13:36:15 UTC (rev 13477)
@@ -10,7 +10,7 @@
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
@Test(groups = { "sso_tests" }, enabled = true, description = "CAS
selenium test case.")
-public class CASSeleniumTestCase extends UserRolesHelperTestCase {
+public class CASSeleniumTestCase extends SSOSeleniumTestCase {
/** prefix for locator properties */
public String casePfx = "sso.cas.";
@@ -128,7 +128,7 @@
public void loginAsAdminAndCreateNewRoleAndUser() {
loginToPortalAsAdmin();
createRole(PORTAL_CYRIL_ROLE, PORTAL_CYRIL_ROLE);
- createUser(PORTAL_CYRIL_USERNAME, PORTAL_CYRIL_PASSWORD, PORTAL_CYRIL_MAIL);
+ createUser(PORTAL_CYRIL_USERNAME, PORTAL_CYRIL_PASSWORD, PORTAL_CYRIL_MAIL,
PORTAL_CYRIL_ROLE);
Assert.assertTrue(selenium.isTextPresent(PORTAL_LOGGED_IN_AS_MESSAGE +
PORTAL_ADMIN_USERNAME));
logoutIfPossible();
Assert.assertTrue(selenium.isTextPresent(CAS_LOGOUT_SUCCESSFULL));
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/JOSSOSeleniumTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/JOSSOSeleniumTestCase.java 2009-06-22
13:24:53 UTC (rev 13476)
+++
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/JOSSOSeleniumTestCase.java 2009-06-22
13:36:15 UTC (rev 13477)
@@ -1,8 +1,9 @@
package org.jboss.portal.test.selenium.sso;
-import java.text.MessageFormat;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertTrue;
-import org.jboss.portal.test.selenium.JBossPortalSeleniumTestCase;
+import org.jboss.portal.test.selenium.cms.CMSFileTestCase;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -13,7 +14,7 @@
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
@Test(groups = { "sso_tests" }, enabled = true, description = "JOSSO
selenium test case.")
-public class JOSSOSeleniumTestCase extends UserRolesHelperTestCase {
+public class JOSSOSeleniumTestCase extends SSOSeleniumTestCase {
/** prefix for locator properties */
public String casePfx = "sso.josso.";
@@ -30,6 +31,7 @@
private final String ADR_PORTAL =
getLoc(casePfx+"adr.portal","/portal");
private final String ADR_PORTAL_ADMIN =
getLoc(casePfx+"adr.portal.admin","/portal/auth/portal/admin");
private final String ADR_PORTAL_DEFAULT =
getLoc(casePfx+"adr.portal.default","/portal/auth/portal/default");
+ private final String ADR_PORTAL_SESSION_TEST =
getLoc(casePfx+"adr.portal.test.session","/portal/auth/portal/default/Test/Session+test");
private final String LINK_LOGIN = getLoc(casePfx+"lnk.login",
"link=Login");
private final String LINK_ADMIN = getLoc(casePfx+"lnk.admin",
"link=Admin");
@@ -48,8 +50,18 @@
private final String JOSSO_INVALID_AUTH = getMess(casePfx +
"josso.invalid.auth", "Invalid Authentication Information");
private final String PORTAL_LOGGED_IN_AS_MESSAGE = getMess(casePfx +
"logged.in.mess", "Logged in as: ");
- private final String PORTAL_FORBIDDEN_MESS = getMess(casePfx +
"forbidden.mess", "HTTP Status 403 -");
+ private final String PORTAL_FORBIDDEN_MESS = getMess(casePfx +
"forbidden.mess", "HTTP Status 403 -");
+ private final String PORTAL_SESSION_TEST_NO_SESSION =
getMess("samples.ses.no", "No session");
+ private final String PORTAL_SESSION_TEST_ID = getMess("samples.ses.id",
"Session id");
+ public final String TBL_CMS_FILE = getLoc("cms.file.tbl.cms.file",
"//div[@id='center']/div/div/div[3]/table");
+
+ private final long SESSION_TIMEOUT = 60000;
+ private final long SESSION_TIMEOUT_WAITING = SESSION_TIMEOUT + 30000; // It's
session timeout and some additional time to wait for session timeout
+ private final String SES_SUB_PSCOPE = getLoc("samples.ses.sub.pscope",
"portlet");
+ private final String SES_INP_VAL = getLoc("samples.ses.inp.val",
"value");
+ private final String SES_INP_NAM = getLoc("samples.ses.inp.nam",
"name");
+
@BeforeMethod(groups = { "log" })
private void logoutBeforeTest() {
logoutIfPossible();
@@ -130,7 +142,7 @@
public void loginAsAdminAndCreateNewRoleAndUser() {
loginToPortalAsAdmin();
createRole(PORTAL_JOSEPH_ROLE, PORTAL_JOSEPH_ROLE);
- createUser(PORTAL_JOSEPH_USERNAME, PORTAL_JOSEPH_PASSWORD, PORTAL_JOSEPH_MAIL);
+ createUser(PORTAL_JOSEPH_USERNAME, PORTAL_JOSEPH_PASSWORD, PORTAL_JOSEPH_MAIL,
PORTAL_JOSEPH_ROLE);
Assert.assertTrue(selenium.isTextPresent(PORTAL_LOGGED_IN_AS_MESSAGE +
PORTAL_ADMIN_USERNAME));
logout();
Assert.assertFalse(selenium.isElementPresent(JOSSO_IMAGE));
@@ -171,6 +183,102 @@
}
/**
+ * This test loggs admin and then wait for 90 seconds. The session invalidates because
portal is configured to Session timeout
+ * for only one minute.
+ * The user should be directly logged in even if session invalidates, because of JOSSO
cookie (JOSSO_SESSIONID).
+ */
+ @Test(enabled = true)
+ public void loginAfterSessionTimeout() {
+ loginToPortalAsAdmin();
+ // Go to session test and put some attribute to portlet scope
+ openAndWait(ADR_PORTAL_SESSION_TEST);
+ Assert.assertTrue(selenium.isTextPresent(PORTAL_SESSION_TEST_NO_SESSION));
+ selenium.type(SES_INP_NAM, "scope1");
+ selenium.type(SES_INP_VAL, "scopeval1");
+ selenium.click(SES_SUB_PSCOPE);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ Assert.assertTrue(selenium.isTextPresent(PORTAL_SESSION_TEST_ID));
+
+ // waiting 90 seconds until session timeout occurs
+ waitFor(SESSION_TIMEOUT_WAITING);
+ // Session is invalidated but user is automatically logged in without need of coming to
JOSSO console
+ openAndWait(ADR_PORTAL_SESSION_TEST);
+ Assert.assertTrue(selenium.isTextPresent(PORTAL_SESSION_TEST_NO_SESSION));
+ Assert.assertTrue(selenium.isTextPresent(PORTAL_LOGGED_IN_AS_MESSAGE +
PORTAL_ADMIN_USERNAME));
+ }
+
+ /**
+ * Simple file creation. File named "newFile" is created in the root directory
of CMS module with main action selector.
+ * This test is used for testing CMS file creation while portal is configured for
integration with JOSSO
+ *
+ */
+ @Test(enabled = true, description = "Simple file creation.")
+ public void testCreateFile() {
+ loginToPortalAsAdmin();
+ selenium.click("link=Admin");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.click("link=CMS");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.select("//div[@id='center']/div/div/div[1]/div/select",
"label=Create File");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.waitForPopUp("_top", PAGE_LOAD);
+ selenium.type("filename", "newFile");
+ selenium.type("description", "newFile description");
+ selenium.type("title", "newFile title");
+ //elenium.select("language", "label=Czech");
+ selenium.click("save");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.click("link=Home");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ Assert.assertEquals("newFile", selenium.getText("link=newFile"));
+ }
+
+ /**
+ * File creation and copying to default directory. File named "file2copy" is
created in the root directory. Then the file is copied into the default directory.
+ * It's tested that creation and copying of file is good with JOSSO integration.
+ */
+ @Test(enabled = true, description = "File creation and copying to default
directory.")
+ public void testCopyFile() {
+ loginToPortalAsAdmin();
+ selenium.click("link=Admin");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.click("link=CMS");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.select("//div[@id='center']/div/div/div[1]/div/select",
"label=Create File");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.waitForPopUp("_top", PAGE_LOAD);
+ selenium.type("filename", "file2copy");
+ selenium.type("description", "file2copy description");
+ selenium.type("title", "file2copy title");
+ selenium.click("save");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ Assert.assertEquals("text/plain",
selenium.getText("link=text/plain"));
+ selenium.click("link=Home");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ Assert.assertEquals("file2copy",
selenium.getText("link=file2copy"));
+
+ int row = findTableRow(TBL_CMS_FILE, "file2copy", 0) + 1;
+
+ selenium.select("//div[@id='center']/div/div/div[3]/table/tbody/tr["
+ row + "]/td[2]/form/select", "label=Copy");
+ selenium.click("//div[@id='center']/div/div/div[3]/table/tbody/tr[" +
row + "]/td[2]/form/select/option[3]");
+ selenium.click("//div[@id='center']/div/div/div[3]/table/tbody/tr[" +
row + "]/td[2]/form/input");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.click("link=default");
+ selenium.click("submit");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.click("link=default");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ Assert.assertTrue(selenium.isElementPresent("link=file2copy"));
+
+ selenium.click("link=Home");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ Assert.assertTrue(selenium.isElementPresent("link=file2copy"));
+ }
+
+ /**
* Loggs into portal as admin with usage of JOSSO.
*/
private void loginToPortalAsAdmin() {
Added:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/SSOSeleniumTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/SSOSeleniumTestCase.java
(rev 0)
+++
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/SSOSeleniumTestCase.java 2009-06-22
13:36:15 UTC (rev 13477)
@@ -0,0 +1,182 @@
+package org.jboss.portal.test.selenium.sso;
+
+import java.text.MessageFormat;
+
+import org.jboss.portal.test.selenium.JBossPortalSeleniumTestCase;
+import org.testng.Assert;
+
+class SSOSeleniumTestCase extends JBossPortalSeleniumTestCase {
+
+ /** prefix for locator properties */
+ public String casePfx = "iden.man.";
+
+ private final String TBL_ROLELIST = getLoc(casePfx + "tbl.rolelist",
"//table[contains(@id,'roles-form:userlist')]");
+
+ private final String LNK_T_ROLLIST_DEL = getLoc(casePfx + "lnk.t.rollist.del",
"//a[contains(@id,''roles-form:userlist:{0}:delete-role-link'')]");
+
+ private final String SUB_CONF_CREATE_USER = getLoc(casePfx +
"sub.conf.create.user",
"//input[contains(@id,'confirm-form:admin')]");
+ private final String SUB_DELETE_ROLE = getLoc(casePfx + "sub.delete.role",
"//input[contains(@id,'delete-role-form:confirm')]");
+ private final String SUB_ROLE_CREATE = getLoc(casePfx + "sub.role.create",
"//input[contains(@id,'create-role-form:submit')]");
+ private final String INP_ROLEDISNAME = getLoc(casePfx + "inp.roledisname",
"//input[contains(@id,'create-role-form:roledisplayname')]");
+ private final String INP_ROLENAME = getLoc(casePfx + "inp.rolename",
"//input[contains(@id,'create-role-form:rolename')]");
+ private final String TBL_USERLIST = getLoc(casePfx + "tbl.userlist",
"//table[contains(@id,'search-user-form1:userlist')]");
+ private final String LNK_ROLE_CREATE = getLoc(casePfx + "lnk.role.create",
"//a[contains(@id, 'create-role-form:create-role-link')]");
+ private final String SUB_DEL_USER = getLoc(casePfx + "sub.del.user",
"//input[contains(@id,'delete-user-form:submit')]");
+
+ private final String SUB_USER_ROLE = getLoc(casePfx + "sub.user.role",
"//input[contains(@id,'register-role-form:submit')]");
+ private final String SUB_CREATE_USER = getLoc(casePfx + "sub.create.user",
"//input[contains(@id,'register-form:submit')]");
+ private final String INP_PASSWORD_CHK = getLoc(casePfx + "inp.password.chk",
"//input[contains(@id,'register-form:passwordCheck')]");
+ private final String INP_PASSWORD = getLoc(casePfx + "inp.password",
"//input[contains(@id,'register-form:password')]");
+ private final String INP_USEREMAIL = getLoc(casePfx + "inp.useremail",
"//input[contains(@id,'register-form:email')]");
+ private final String INP_USERNAME = getLoc(casePfx + "inp.username",
"//input[contains(@id,'register-form:username')]");
+ private final String SUB_SEARCH_USER = getLoc(casePfx + "sub.search.user",
"//input[contains(@id,'search-user-form:search') and
@type='submit']");
+ private final String INP_SEARCH_USER = getLoc(casePfx + "inp.search.user",
"//input[contains(@id,'search-user-form:searchString')]");
+ private final String LNK_SEARCH_USER = getLoc(casePfx + "lnk.search.user",
"//a[contains(@id,'user-form:search-user-link')]");
+ private final String LNK_USERTAB = getLoc(casePfx + "lnk.usertab",
"//a[contains(@id,'role-temp-form:manage-users')]");
+ private final String LNK_USERMAIN = getLoc(casePfx + "lnk.usermain",
"//a[contains(@id,'user-temp-form1:user-adm-link')]");
+ private final String LNK_T_USRLIST_DEL = getLoc(casePfx + "lnk.t.usrlist.del",
"//a[contains(@id,''search-user-form1:userlist:{0}:delete-user-link'')]");
+ private final String LNK_ROLETAB = getLoc(casePfx + "lnk.roletab",
"//a[contains(@id,'user-temp-form:role-mgm-link')]");
+
+ private final String LNK_ROLEMAIN = getLoc(casePfx + "lnk.rolemain",
"//a[contains(@id, 'role-temp-form1:role-admin-link')]");
+ private final String LNK_USERMANG_MAIN = getLoc(casePfx + "lnk.usermang.main",
"//a[contains(@id,'user-temp-form1:assign-role-link')]");
+ private final String LNK_USERMANG_MAIN2 = getLoc(casePfx +
"lnk.usermang.main2",
"//a[contains(@id,'user-temp-form1:user-mgm-link')]");
+ private final String LNK_CREATE_USER = getLoc(casePfx + "lnk.create.user",
"//a[contains(@id,':user-form:create-user-link')]");
+
+ //private final String CHK_ROLE = getLoc(casePfx + "chk.role",
"//input[contains(@name,''assign-roles-form:roles'') and
@value=''{0}'']");
+ private final String CHK_REGISTER_ROLE = getLoc(casePfx + "chk.reg.role",
"//input[contains(@name,''register-role-form:roles'') and
@value=''{0}'']");
+
+ private final long SEARCH_TIMEOUT = 10000;
+
+ protected void createRole(String roleName, String roleDisplayName) {
+ selenium.open("/portal/");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.click("link=Admin");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.click("link=Members");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ clickIfVisible(LNK_ROLETAB);
+ clickIfVisible(LNK_ROLEMAIN);
+
+ Assert.assertTrue(selenium.isElementPresent(LNK_ROLE_CREATE), "Button for role
creating has wrong id or doesn't exist.");
+ //Assert.assertEquals(selenium.getText(LNK_ROLE_CREATE), "Create role",
"Button for role creating has wrong label.");
+ selenium.click(LNK_ROLE_CREATE);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ Assert.assertTrue(selenium.isTextPresent("Role"), "Label for role name
not present or incorrect.");
+ selenium.type(INP_ROLENAME, roleName);
+ Assert.assertTrue(selenium.isTextPresent("Display name"), "Label for
display role name not present or incorrect.");
+ selenium.type(INP_ROLEDISNAME, roleDisplayName);
+ selenium.click(SUB_ROLE_CREATE);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ Assert.assertTrue(selenium.isTextPresent(roleName), "Name of newly created role is
missing.");
+ Assert.assertTrue(selenium.isTextPresent(roleDisplayName), "Display name of newly
created role is missing.");
+ }
+
+ protected void deleteRole(String roleName) {
+ selenium.open("/portal/");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.click("link=Admin");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.click("link=Members");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ clickIfVisible(LNK_ROLETAB);
+ clickIfVisible(LNK_ROLEMAIN);
+
+ Assert.assertTrue(selenium.isTextPresent(roleName), "Role name is missing");
+
+ int r = findTableRow(TBL_ROLELIST, roleName, 0);
+ selenium.click(MessageFormat.format(LNK_T_ROLLIST_DEL, r - 1));
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ Assert.assertTrue(selenium.isTextPresent("Warning! You are about to delete the
role '" + roleName + "'"),
+ "Confirmation text for role deletion missing missing.");
+ selenium.click(SUB_DELETE_ROLE);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ }
+
+ protected void createUser(String userName, String userPass, String userMail, String
roleToRegister) {
+ selenium.open("/portal/auth/portal/default");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ selenium.click("link=Admin");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ selenium.click("link=Members");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ clickIfVisible(LNK_USERTAB);
+ clickIfVisible(LNK_USERMAIN);
+ selenium.click(LNK_CREATE_USER);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ Assert.assertTrue(selenium.isTextPresent("Username *"), "Label for
username input is wrong or missing.");
+ selenium.type(INP_USERNAME, userName);
+ Assert.assertTrue(selenium.isTextPresent("E-Mail *"), "Label for e-mail
input is wrong or missing.");
+ selenium.type(INP_USEREMAIL, userMail);
+ Assert.assertTrue(selenium.isTextPresent("Password *"), "Label for
password input is wrong or missing.");
+ selenium.type(INP_PASSWORD, userPass);
+ Assert.assertTrue(selenium.isTextPresent("Confirm Password *"), "Label
for password confirm input is wrong or missing.");
+ selenium.type(INP_PASSWORD_CHK, userPass);
+
+ selenium.click(SUB_CREATE_USER);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ Assert.assertFalse(selenium.isTextPresent("This username is already taken.
tempUser"), "User already exists.");
+ Assert.assertTrue(selenium.isTextPresent(roleToRegister), "Role " +
roleToRegister + " is not present.");
+ // register Cyril (or Joseph) role
+ String checkRole = MessageFormat.format(CHK_REGISTER_ROLE , roleToRegister);
+ selenium.click(checkRole);
+ // deregister User role
+ checkRole = MessageFormat.format(CHK_REGISTER_ROLE , "User");
+ selenium.click(checkRole);
+ clickAndWait(SUB_USER_ROLE);
+
+ Assert.assertTrue(selenium.isTextPresent("Confirmation"), "Confirmation
screen is missing or corrupted.");
+ selenium.click(SUB_CONF_CREATE_USER);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ Assert.assertTrue(selenium.isTextPresent("User created"), "User was not
created (\"User created\" text missing).");
+
+ }
+
+ protected void deleteUser(String username, String email) {
+ selenium.open("/portal/");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.click("link=Admin");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.click("link=Members");
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ clickIfVisible(LNK_USERTAB);
+ // user home page
+ clickIfVisible(LNK_USERMAIN);
+ clickIfVisible(LNK_USERMANG_MAIN);
+ clickIfVisible(LNK_USERMANG_MAIN2);
+
+ selenium.click(LNK_SEARCH_USER);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ selenium.type(INP_SEARCH_USER, username);
+ selenium.click(SUB_SEARCH_USER);
+ // selenium.waitForPageToLoad(PAGE_LOAD);
+ waitFor(SEARCH_TIMEOUT);
+ Assert.assertTrue(selenium.isTextPresent(username), "Username was not
found.");
+ Assert.assertTrue(selenium.isTextPresent(email), "User e-mail adress was not
found.");
+
+ selenium.click(butDelUsr_id(username));
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.click(SUB_DEL_USER);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ Assert.assertTrue(selenium.isTextPresent("User deleted"), "user was not
deleted (\"User deleted\" text missing).");
+ }
+
+ private String butDelUsr_id(String userName) {
+ String table = TBL_USERLIST;
+ int r = findTableRow(table, userName, 0);
+ return MessageFormat.format(LNK_T_USRLIST_DEL, r - 1);
+ }
+}
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/TomcatSSOValveDisabledTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/TomcatSSOValveDisabledTestCase.java 2009-06-22
13:24:53 UTC (rev 13476)
+++
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/TomcatSSOValveDisabledTestCase.java 2009-06-22
13:36:15 UTC (rev 13477)
@@ -110,7 +110,7 @@
// Going to example app. User is still logged in even if not logged in the portal.
openAndWait(ADR_JMX_CONSOLE);
Assert.assertTrue(selenium.isElementPresent(JMX_IMAGE));
- Assert.assertEquals(JMX_AGENT_VIEW, selenium.getText(JMX_TITLE_ELEMENT));
+ Assert.assertTrue(selenium.getText(JMX_TITLE_ELEMENT).contains(JMX_AGENT_VIEW));
}
}
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/TomcatSSOValveTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/TomcatSSOValveTestCase.java 2009-06-22
13:24:53 UTC (rev 13476)
+++
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/TomcatSSOValveTestCase.java 2009-06-22
13:36:15 UTC (rev 13477)
@@ -57,7 +57,7 @@
// TODO: this probably doesn't work in IE. So disable test while working with IE.
openAndWait("http://" + user + ":" + password +
"@localhost:8080" + ADR_JMX_CONSOLE);
Assert.assertTrue(selenium.isElementPresent(JMX_IMAGE));
- Assert.assertEquals(JMX_AGENT_VIEW, selenium.getText(JMX_TITLE_ELEMENT));
+ Assert.assertTrue(selenium.getText(JMX_TITLE_ELEMENT).contains(JMX_AGENT_VIEW));
}
/**
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/TomcatSSOValveWithJMXConsoleTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/TomcatSSOValveWithJMXConsoleTestCase.java 2009-06-22
13:24:53 UTC (rev 13476)
+++
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/TomcatSSOValveWithJMXConsoleTestCase.java 2009-06-22
13:36:15 UTC (rev 13477)
@@ -33,15 +33,14 @@
login(PORTAL_ADMIN_USERNAME, PORTAL_ADMIN_PASSWORD);
openAndWait("http://localhost:8080" + ADR_JMX_CONSOLE);
- Assert.assertTrue(selenium.isElementPresent(JMX_IMAGE));
- Assert.assertEquals(JMX_AGENT_VIEW, selenium.getText(JMX_TITLE_ELEMENT));
+ Assert.assertTrue(selenium.isElementPresent(JMX_IMAGE));
+ Assert.assertTrue(selenium.getText(JMX_TITLE_ELEMENT).contains(JMX_AGENT_VIEW));
// logout from portal and login as user
logout();
login(PORTAL_USER_USERNAME, PORTAL_USER_PASSWORD);
openAndWait("http://localhost:8080" + ADR_JMX_CONSOLE);
// user is not authorized to see JMX console
- Assert.assertTrue(selenium.isTextPresent(PORTAL_FORBIDDEN_MESS));
- Assert.assertFalse(JMX_AGENT_VIEW.equals(selenium.getText(JMX_TITLE_ELEMENT)));
+ Assert.assertTrue(selenium.isTextPresent(PORTAL_FORBIDDEN_MESS));
}
/**
Deleted:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/UserRolesHelperTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/UserRolesHelperTestCase.java 2009-06-22
13:24:53 UTC (rev 13476)
+++
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/sso/UserRolesHelperTestCase.java 2009-06-22
13:36:15 UTC (rev 13477)
@@ -1,178 +0,0 @@
-package org.jboss.portal.test.selenium.sso;
-
-import java.text.MessageFormat;
-
-import org.jboss.portal.test.selenium.JBossPortalSeleniumTestCase;
-import org.testng.Assert;
-
-class UserRolesHelperTestCase extends JBossPortalSeleniumTestCase {
-
- /** prefix for locator properties */
- public String casePfx = "iden.man.";
-
- private final String TBL_ROLELIST = getLoc(casePfx + "tbl.rolelist",
"//table[contains(@id,'roles-form:userlist')]");
-
- private final String LNK_T_ROLLIST_DEL = getLoc(casePfx + "lnk.t.rollist.del",
"//a[contains(@id,''roles-form:userlist:{0}:delete-role-link'')]");
-
- private final String SUB_CONF_CREATE_USER = getLoc(casePfx +
"sub.conf.create.user",
"//input[contains(@id,'confirm-form:admin')]");
- private final String SUB_DELETE_ROLE = getLoc(casePfx + "sub.delete.role",
"//input[contains(@id,'delete-role-form:confirm')]");
- private final String SUB_ROLE_CREATE = getLoc(casePfx + "sub.role.create",
"//input[contains(@id,'create-role-form:submit')]");
- private final String INP_ROLEDISNAME = getLoc(casePfx + "inp.roledisname",
"//input[contains(@id,'create-role-form:roledisplayname')]");
- private final String INP_ROLENAME = getLoc(casePfx + "inp.rolename",
"//input[contains(@id,'create-role-form:rolename')]");
- private final String TBL_USERLIST = getLoc(casePfx + "tbl.userlist",
"//table[contains(@id,'search-user-form1:userlist')]");
- private final String LNK_ROLE_CREATE = getLoc(casePfx + "lnk.role.create",
"//a[contains(@id, 'create-role-form:create-role-link')]");
- private final String SUB_DEL_USER = getLoc(casePfx + "sub.del.user",
"//input[contains(@id,'delete-user-form:submit')]");
-
- private final String SUB_USER_ROLE = getLoc(casePfx + "sub.user.role",
"//input[contains(@id,'register-role-form:submit')]");
- private final String SUB_CREATE_USER = getLoc(casePfx + "sub.create.user",
"//input[contains(@id,'register-form:submit')]");
- private final String INP_PASSWORD_CHK = getLoc(casePfx + "inp.password.chk",
"//input[contains(@id,'register-form:passwordCheck')]");
- private final String INP_PASSWORD = getLoc(casePfx + "inp.password",
"//input[contains(@id,'register-form:password')]");
- private final String INP_USEREMAIL = getLoc(casePfx + "inp.useremail",
"//input[contains(@id,'register-form:email')]");
- private final String INP_USERNAME = getLoc(casePfx + "inp.username",
"//input[contains(@id,'register-form:username')]");
- private final String SUB_SEARCH_USER = getLoc(casePfx + "sub.search.user",
"//input[contains(@id,'search-user-form:search') and
@type='submit']");
- private final String INP_SEARCH_USER = getLoc(casePfx + "inp.search.user",
"//input[contains(@id,'search-user-form:searchString')]");
- private final String LNK_SEARCH_USER = getLoc(casePfx + "lnk.search.user",
"//a[contains(@id,'user-form:search-user-link')]");
- private final String LNK_USERTAB = getLoc(casePfx + "lnk.usertab",
"//a[contains(@id,'role-temp-form:manage-users')]");
- private final String LNK_USERMAIN = getLoc(casePfx + "lnk.usermain",
"//a[contains(@id,'user-temp-form1:user-adm-link')]");
- private final String LNK_T_USRLIST_DEL = getLoc(casePfx + "lnk.t.usrlist.del",
"//a[contains(@id,''search-user-form1:userlist:{0}:delete-user-link'')]");
- private final String LNK_ROLETAB = getLoc(casePfx + "lnk.roletab",
"//a[contains(@id,'user-temp-form:role-mgm-link')]");
-
- private final String LNK_ROLEMAIN = getLoc(casePfx + "lnk.rolemain",
"//a[contains(@id, 'role-temp-form1:role-admin-link')]");
- private final String LNK_USERMANG_MAIN = getLoc(casePfx + "lnk.usermang.main",
"//a[contains(@id,'user-temp-form1:assign-role-link')]");
- private final String LNK_USERMANG_MAIN2 = getLoc(casePfx +
"lnk.usermang.main2",
"//a[contains(@id,'user-temp-form1:user-mgm-link')]");
- private final String LNK_CREATE_USER = getLoc(casePfx + "lnk.create.user",
"//a[contains(@id,':user-form:create-user-link')]");
-
- private final String CHK_ROLE = getLoc(casePfx + "chk.role",
"//input[contains(@name,''assign-roles-form:roles'') and
@value=''{0}'']");
- private final long SEARCH_TIMEOUT = 10000;
-
- protected void createRole(String roleName, String roleDisplayName) {
- selenium.open("/portal/");
- selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Admin");
- selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Members");
- selenium.waitForPageToLoad(PAGE_LOAD);
-
- clickIfVisible(LNK_ROLETAB);
- clickIfVisible(LNK_ROLEMAIN);
-
- Assert.assertTrue(selenium.isElementPresent(LNK_ROLE_CREATE), "Button for role
creating has wrong id or doesn't exist.");
- Assert.assertEquals(selenium.getText(LNK_ROLE_CREATE), "Create role",
"Button for role creating has wrong label.");
- selenium.click(LNK_ROLE_CREATE);
- selenium.waitForPageToLoad(PAGE_LOAD);
-
- Assert.assertTrue(selenium.isTextPresent("Role"), "Label for role name
not present or incorrect.");
- selenium.type(INP_ROLENAME, roleName);
- Assert.assertTrue(selenium.isTextPresent("Display name"), "Label for
display role name not present or incorrect.");
- selenium.type(INP_ROLEDISNAME, roleDisplayName);
- selenium.click(SUB_ROLE_CREATE);
- selenium.waitForPageToLoad(PAGE_LOAD);
-
- Assert.assertTrue(selenium.isTextPresent(roleName), "Name of newly created role is
missing.");
- Assert.assertTrue(selenium.isTextPresent(roleDisplayName), "Display name of newly
created role is missing.");
- }
-
- protected void deleteRole(String roleName) {
- selenium.open("/portal/");
- selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Admin");
- selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Members");
- selenium.waitForPageToLoad(PAGE_LOAD);
-
- clickIfVisible(LNK_ROLETAB);
- clickIfVisible(LNK_ROLEMAIN);
-
- Assert.assertTrue(selenium.isTextPresent(roleName), "Role name is missing");
-
- int r = findTableRow(TBL_ROLELIST, roleName, 0);
- selenium.click(MessageFormat.format(LNK_T_ROLLIST_DEL, r - 1));
- selenium.waitForPageToLoad(PAGE_LOAD);
-
- selenium.waitForPageToLoad(PAGE_LOAD);
- Assert.assertTrue(selenium.isTextPresent("Warning! You are about to delete the
role '" + roleName + "'"),
- "Confirmation text for role deletion missing missing.");
- selenium.click(SUB_DELETE_ROLE);
- selenium.waitForPageToLoad(PAGE_LOAD);
-
- }
-
- protected void createUser(String userName, String userPass, String userMail) {
- selenium.open("/portal/auth/portal/default");
- selenium.waitForPageToLoad(PAGE_LOAD);
-
- selenium.click("link=Admin");
- selenium.waitForPageToLoad(PAGE_LOAD);
-
- selenium.click("link=Members");
- selenium.waitForPageToLoad(PAGE_LOAD);
-
- clickIfVisible(LNK_USERTAB);
- clickIfVisible(LNK_USERMAIN);
- selenium.click(LNK_CREATE_USER);
- selenium.waitForPageToLoad(PAGE_LOAD);
-
- Assert.assertTrue(selenium.isTextPresent("Username *"), "Label for
username input is wrong or missing.");
- selenium.type(INP_USERNAME, userName);
- Assert.assertTrue(selenium.isTextPresent("E-Mail *"), "Label for e-mail
input is wrong or missing.");
- selenium.type(INP_USEREMAIL, userMail);
- Assert.assertTrue(selenium.isTextPresent("Password *"), "Label for
password input is wrong or missing.");
- selenium.type(INP_PASSWORD, userPass);
- Assert.assertTrue(selenium.isTextPresent("Confirm Password *"), "Label
for password confirm input is wrong or missing.");
- selenium.type(INP_PASSWORD_CHK, userPass);
-
- selenium.click(SUB_CREATE_USER);
- selenium.waitForPageToLoad(PAGE_LOAD);
-
- Assert.assertFalse(selenium.isTextPresent("This username is already taken.
tempUser"), "User already exists.");
-
- // TODO: refactor this
- // Assert.assertTrue(selenium.isTextPresent("Joseph"), "Role Joseph is
not present.");
- selenium.click("_jbpnsIdentityAdminPortletWindowsnpbj:j_id28:register-role-form:roles:2");
- selenium.click("_jbpnsIdentityAdminPortletWindowsnpbj:j_id28:register-role-form:roles:1");
- clickAndWait(SUB_USER_ROLE);
-
- Assert.assertTrue(selenium.isTextPresent("Confirmation"), "Confirmation
screen is missing or corrupted.");
- selenium.click(SUB_CONF_CREATE_USER);
- selenium.waitForPageToLoad(PAGE_LOAD);
- Assert.assertTrue(selenium.isTextPresent("User created"), "User was not
created (\"User created\" text missing).");
-
- }
-
- protected void deleteUser(String username, String email) {
- selenium.open("/portal/");
- selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Admin");
- selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click("link=Members");
- selenium.waitForPageToLoad(PAGE_LOAD);
-
- clickIfVisible(LNK_USERTAB);
- // user home page
- clickIfVisible(LNK_USERMAIN);
- clickIfVisible(LNK_USERMANG_MAIN);
- clickIfVisible(LNK_USERMANG_MAIN2);
-
- selenium.click(LNK_SEARCH_USER);
- selenium.waitForPageToLoad(PAGE_LOAD);
-
- selenium.type(INP_SEARCH_USER, username);
- selenium.click(SUB_SEARCH_USER);
- // selenium.waitForPageToLoad(PAGE_LOAD);
- waitFor(SEARCH_TIMEOUT);
- Assert.assertTrue(selenium.isTextPresent(username), "Username was not
found.");
- Assert.assertTrue(selenium.isTextPresent(email), "User e-mail adress was not
found.");
-
- selenium.click(butDelUsr_id(username));
- selenium.waitForPageToLoad(PAGE_LOAD);
- selenium.click(SUB_DEL_USER);
- selenium.waitForPageToLoad(PAGE_LOAD);
- Assert.assertTrue(selenium.isTextPresent("User deleted"), "user was not
deleted (\"User deleted\" text missing).");
- }
-
- private String butDelUsr_id(String userName) {
- String table = TBL_USERLIST;
- int r = findTableRow(table, userName, 0);
- return MessageFormat.format(LNK_T_USRLIST_DEL, r - 1);
- }
-}