Author: vrockai
Date: 2009-06-12 12:24:04 -0400 (Fri, 12 Jun 2009)
New Revision: 13451
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/DashboardTestCase.java
Log:
[selenium] - dashboard input validation
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/DashboardTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/DashboardTestCase.java 2009-06-12
15:33:59 UTC (rev 13450)
+++
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/DashboardTestCase.java 2009-06-12
16:24:04 UTC (rev 13451)
@@ -14,8 +14,9 @@
@Test(groups = {"cms_dashboard"}, enabled = true, description = "Dashboard
issues test case.")
public class DashboardTestCase extends JBossPortalSeleniumTestCase {
- /** prefix for locator properties = dash. */
+ /** prefix for locator properties = dash. */
public String casePfx = "dash.";
+ private final String DIV_PORTET_EDITOR_TITLE = getLoc(casePfx +
"div.portlet.editor.title", "portlet-editor-title");
private final String HAND_R1 = getLoc(casePfx + "hand.r1",
"//html/body/div[2]/div/div/div[2]/div[2]/div/div/div[2]/div/div");
private final String HAND_L1 = getLoc(casePfx + "hand.l1",
"//html/body/div[2]/div/div/div[2]/div/div/div/div/div/div/table/tbody/tr/td[2]/div");
private final String SPAN_R1 = getLoc(casePfx + "span.r1",
"//html/body/div[2]/div/div/div[2]/div[2]/div/div/div/div/div/table/tbody/tr/td[2]/div/div/span");
@@ -29,7 +30,9 @@
private final String SUB_LAYOUT_UPDATE = getLoc(casePfx +
"sub.layout.update",
"//input[contains(@name,'dashboardLayoutForm:j_id12')]");
private final String SUB_PAGE_RENAME = getLoc(casePfx + "sub.page.rename",
"//form[contains(@id,'renameForm')]/input[@type='submit']");
private final String INP_PAGE_RENAME = getLoc(casePfx + "inp.page.rename",
"//input[contains(@id,'renameForm:newName')]");
+ private final String INP_WINDOW_NAME = getLoc(casePfx + "inp.window.name",
"//input[contains(@id,'windowForm:windowName')]");
private final String LINK_WEATHER_PORTLET = getLoc(casePfx +
"link.weather.portlet", "link=*WeatherPortlet*");
+ private final String LINK_PORTL3 = getLoc(casePfx + "link.portl2",
"link=*WSRP admin portlet*");
private final String LINK_PORTL2 = getLoc(casePfx + "link.portl2",
"link=*Who's online portlet*");
private final String LINK_PORTL1 = getLoc(casePfx + "link.portl1",
"link=*Welcome portlet*");
private final String OPT_PORTL2 = getLoc(casePfx + "opt.portl2",
"IdentityUserPortletWindow");
@@ -94,7 +97,6 @@
@Test(enabled = true)
public void testCreatePage() {
selenium.click(LNK_DASHBOARD);
- // selenium.setSpeed("5000");
selenium.waitForPageToLoad(PAGE_LOAD);
waitFor(AJAX_LOAD);
@@ -246,7 +248,7 @@
selectIfNotSelected(SEL_PAGE, "DashTestPage");
selenium.click(LINK_PORTL2);
selenium.waitForPageToLoad(PAGE_LOAD);
- waitForElement("portlet-editor-title");
+ waitForElement(DIV_PORTET_EDITOR_TITLE);
selenium.click(SUB_ADDCENTER);
selenium.waitForPageToLoad(PAGE_LOAD);
@@ -420,7 +422,76 @@
Assert.assertTrue(selenium.isTextPresent("Band Culinaria"));
Assert.assertTrue(selenium.isTextPresent("Gadgets powered by
Google"));
}
+
+ @Test(enabled = true)
+ public void testXssCreatePage() {
+ selenium.click(LNK_DASHBOARD);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ waitFor(AJAX_LOAD);
+ selenium.click(LNK_CONFIGURE_DASHBOARD);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ selenium.type(INP_PAGENAME, XSS_STR1);
+ clickAndWait(SUB_CREATEPAGE);
+
+ Assert.assertTrue(selenium.isTextPresent("is an invalid page
name"),"Message \""+"is an invalid page name"+"\"
not found.");
+ }
+
+ @Test(enabled = true)
+ public void testXssRenamePage() {
+ selenium.click(LNK_DASHBOARD);
+ waitFor(AJAX_LOAD);
+
+ selenium.click(LNK_CONFIGURE_DASHBOARD);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ final String pageName = "DashXSSToRenamePage";
+
+ selenium.type(INP_PAGENAME, pageName);
+
+ clickAndWait(SUB_CREATEPAGE);
+
+ selenium.click(LNK_DASHBOARD);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ waitFor(AJAX_LOAD);
+ Assert.assertTrue(selenium.isElementPresent("link=" + pageName));
+ selenium.click("link=" + pageName);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ Assert.assertTrue(selenium.isTextPresent(MSG_POWER));
+
+ // then rename it
+ selenium.click(LNK_CONFIGURE_DASHBOARD);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ selectIfNotSelected(SEL_PAGE, pageName);
+
+ selenium.type(INP_PAGE_RENAME, XSS_STR1);
+ selenium.click(SUB_PAGE_RENAME);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ Assert.assertTrue(selenium.isTextPresent("is an invalid portal object
name"),"Message: \""+"is an invalid portal object
name"+"\" not found");
+ }
+
+ @Test(enabled = true, dependsOnMethods = {"testCreatePage"})
+ public void testXssWindowName() {
+ selenium.click(LNK_DASHBOARD);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ selenium.click(LNK_CONFIGURE_DASHBOARD);
+ waitFor(AJAX_LOAD);
+
+ selectIfNotSelected(SEL_PAGE, "DashTestPage");
+ selenium.click(LINK_PORTL3);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ waitForElement(DIV_PORTET_EDITOR_TITLE);
+ selenium.type(INP_WINDOW_NAME, XSS_STR1);
+ selenium.click(SUB_ADDCENTER);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ Assert.assertTrue(selenium.isTextPresent("is an invalid window name"));
+ }
+
//
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=143023
//
https://jira.jboss.org/jira/browse/JBPORTAL-2177
/**