Author: vrockai
Date: 2009-06-09 08:22:04 -0400 (Tue, 09 Jun 2009)
New Revision: 13443
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/DashboardsTestCase.java
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/PortletDefinitionsTestCase.java
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/PortletInstancesTestCase.java
Log:
[selenium] - more input validation tests
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/DashboardsTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/DashboardsTestCase.java 2009-06-09
11:26:29 UTC (rev 13442)
+++
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/DashboardsTestCase.java 2009-06-09
12:22:04 UTC (rev 13443)
@@ -76,7 +76,16 @@
selenium.waitForPageToLoad(PAGE_LOAD);
Assert.assertTrue(selenium.isTextPresent(propName));
}
+
+ @Test(enabled = true)
+ public void testXssPropAdd() {
+ selenium.type(INPUT_PROP_NAME, XSS_STR1);
+ selenium.click(SUBMIT_ADD_PROP);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ Assert.assertTrue(selenium.isTextPresent("is an invalid property name"));
+ }
+
/**
* Testing of property update. Simple adding of "SelenValueProp" property
* and setting it the value "updatedValue". The value is then assrted to be
@@ -100,8 +109,29 @@
selenium.waitForPageToLoad(PAGE_LOAD);
Assert.assertEquals(selenium.getValue(MessageFormat.format(T_PROPS_INPUT_VALUE, r -
1)), value, "Updated value not found.");
+ Assert.assertTrue(selenium.isTextPresent("is an invalid property value"));
}
+
+ @Test(enabled = true)
+ public void testXssPropUpdate() {
+ final String propName = "XssStrProp";
+
+
+ Assert.assertFalse(selenium.isTextPresent(propName));
+ selenium.type(INPUT_PROP_NAME, propName);
+ selenium.click(SUBMIT_ADD_PROP);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ Assert.assertTrue(selenium.isTextPresent(propName));
+ int r = findTableRow(TABLE_PROPS, propName, 1);
+
+ selenium.type(MessageFormat.format(T_PROPS_INPUT_VALUE, r - 1), XSS_STR1);
+ selenium.click(SUBMIT_UPDATE_VALUE);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+
+ }
+
/**
* Testing property deletion. Property named "SelenDeleteProp" is added and
* deleted. Final assertion is about non-appearance of that property in
@@ -114,11 +144,14 @@
Assert.assertFalse(selenium.isTextPresent(propName));
selenium.type(INPUT_PROP_NAME, propName);
selenium.click(SUBMIT_ADD_PROP);
+ System.out.println("WATCH OUT!");
+ selenium.setSpeed("6000");
selenium.waitForPageToLoad(PAGE_LOAD);
Assert.assertTrue(selenium.isTextPresent(propName));
int r = findTableRow(TABLE_PROPS, propName, 0);
-
+
+ System.out.println(MessageFormat.format(T_PROPS_LINK_DEL, r - 1));
selenium.click(MessageFormat.format(T_PROPS_LINK_DEL, r - 1));
selenium.waitForPageToLoad(PAGE_LOAD);
@@ -146,6 +179,15 @@
selenium.click(T_PO_SUB_UPDATE);
selenium.waitForPageToLoad(PAGE_LOAD);
}
+
+ @Test(enabled = true)
+ public void testXssPortalError() {
+ selenium.type(T_PO_INP_PAGEADD, XSS_STR1);
+ selenium.click(T_PO_SUB_UPDATE);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ Assert.assertTrue(selenium.isTextPresent("is an invalid property path"));
+ }
/**
* Testing of page error handling. in
@@ -169,6 +211,15 @@
selenium.click(T_PA_SUB_UPDATE);
selenium.waitForPageToLoad(PAGE_LOAD);
}
+
+ @Test(enabled = true)
+ public void testXssPageError() {
+ selenium.type(T_PA_INP_PAGEADD, XSS_STR1);
+ selenium.click(T_PA_SUB_UPDATE);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ Assert.assertTrue(selenium.isTextPresent("is an invalid property path"));
+ }
/**
* Testing of dashboard theme. The layout, theme and renderset are changed,
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/PortletDefinitionsTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/PortletDefinitionsTestCase.java 2009-06-09
11:26:29 UTC (rev 13442)
+++
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/PortletDefinitionsTestCase.java 2009-06-09
12:22:04 UTC (rev 13443)
@@ -94,6 +94,20 @@
Assert.assertTrue(selenium.isTextPresent("str|nge|n|me"+" portlet
details"));
}
+ @Test(enabled = true)
+ public void testXssCreateInstance(){
+
+ int r = findTableRow(TABLE_PORTLET, "Administration Portlet", 0);
+
+ selenium.click(MessageFormat.format(T_LINK_CREATE,r-1));
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ selenium.type(INPUT_INSTANCE_NAME, XSS_STR1);
+ selenium.click(SUBMIT_CREATE_INST);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ Assert.assertTrue(selenium.isTextPresent("is an invalid instance name"));
+ }
+
/**
* Tests preferences screen of portlet definition. It clicks on preferences link for
"Current Users Portlet" definition and asserts that the string
"guestNumber"
* is appearing on the screen.
Modified:
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/PortletInstancesTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/PortletInstancesTestCase.java 2009-06-09
11:26:29 UTC (rev 13442)
+++
branches/JBoss_Portal_Branch_2_7/testsuite/ui-tests/src/org/jboss/portal/test/selenium/portal/PortletInstancesTestCase.java 2009-06-09
12:22:04 UTC (rev 13443)
@@ -91,7 +91,21 @@
clickAndWait(SUBMIT_MODIFY_NAME);
Assert.assertTrue(findTableRow(TABLE_DISPNAMES, name, 1) >= 0);
}
+
+ @Test(enabled = true)
+ public void testXssAddName() {
+ int r = traversePortlets(NAME_COUNTPORT, 0);
+ clickAndWait(MessageFormat.format(LNK_INSTANCE_BUTTON, r));
+ safeSelect(SELECT_LANGUAGE, "English");
+
+
+ selenium.type(INPUT_NAME, XSS_STR1);
+ clickAndWait(SUBMIT_MODIFY_NAME);
+
+ Assert.assertTrue(selenium.isTextPresent("is an invalid display name"));
+ }
+
/**
* Tests deleting a name for portlet instance.A new name "Aduminu" in
* "Japanese" language is added for CurrentUsersPortletInstance similar way
@@ -544,7 +558,41 @@
selenium.waitForPageToLoad(PAGE_LOAD);
}
+
+ @Test(enabled = true)
+ public void testXssPreferences() {
+ int r = traversePortlets(NAME_COUNTPORT, 0);
+ clickAndWait(MessageFormat.format(LNK_PREF_BUTTON, r));
+ // selenium.click(LINK_CURUSER_PREFERENCES);
+
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ selenium.click(SUBMIT_PREF_CANCEL);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ r = traversePortlets(NAME_COUNTPORT, 0);
+ clickAndWait(MessageFormat.format(LNK_PREF_BUTTON, r));
+
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ Assert.assertTrue(findTableRow(TABLE_PREF_KEY, "guestNumber", 0) >= 0);
+ selenium.click(LINK_PREF_GUESTNUM);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ selenium.type(INPUT_PREF_APPEND, "xssString");
+ selenium.click(INPUT_PREF_UPDATE);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+
+ selenium.type(INPUT_PREF_APPEND, XSS_STR1);
+ selenium.click(INPUT_PREF_UPDATE);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ Assert.assertTrue(selenium.isTextPresent("is an invalid instance name"));
+
+ selenium.type(INPUT_PREF_NEWVAL, XSS_STR1);
+ selenium.click(SUBMIT_PREF_UPDATE);
+ selenium.waitForPageToLoad(PAGE_LOAD);
+ Assert.assertTrue(selenium.isTextPresent("is an invalid instance name"));
+ }
+
/**
* Gets pages. acquiring link names from paginator
*