gatein SVN: r1414 - portal/trunk/docs/reference-guide/en/modules/configuration.
by do-not-reply@jboss.org
Author: smumford
Date: 2010-01-22 01:57:52 -0500 (Fri, 22 Jan 2010)
New Revision: 1414
Modified:
portal/trunk/docs/reference-guide/en/modules/configuration/Data_Injector_Configuration.xml
portal/trunk/docs/reference-guide/en/modules/configuration/Database_Configuration.xml
portal/trunk/docs/reference-guide/en/modules/configuration/IDM_Configuration.xml
portal/trunk/docs/reference-guide/en/modules/configuration/Skin_Configuration.xml
Log:
continuing edits
Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Data_Injector_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Data_Injector_Configuration.xml 2010-01-22 03:14:28 UTC (rev 1413)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Data_Injector_Configuration.xml 2010-01-22 06:57:52 UTC (rev 1414)
@@ -8,7 +8,8 @@
<section id="sect-Reference_Guide-Data_Injector_Configuration-Data_Injector">
<title>Data Injector</title>
<para>
- <emphasis>Data-injector</emphasis> is an utility to initialize enterprise data for Portal. It is packed as a .jar. <!--
+ <emphasis>Data-injector</emphasis> is a utility to initialize enterprise data for &PRODUCT;. It is packed as a .jar.
+<!--
and deployed under $TOMCATHOME/lib. It is started
automatically when Tomcat starts.
-->
@@ -18,13 +19,11 @@
<section id="sect-Reference_Guide-Data_Injector_Configuration-OrganizationInitializer">
<title>OrganizationInitializer</title>
<para>
- <emphasis>OrganizationInitializer</emphasis> is the service that allows creating a large organization with many groups and users. It also creates portal navigation and page(s) for each group, each user.
+ <emphasis>OrganizationInitializer</emphasis> is the service that allows creating a large organization with many groups and users. It also creates portal navigation and page(s) for each group and each user.
</para>
- </section>
-
- <section id="sect-Reference_Guide-Data_Injector_Configuration-Service_configuration_file">
+ <formalpara >
<title>Service configuration file</title>
-
+ <para>
<programlisting role="XML"><configuration>
<component>
<key>org.exoplatform.portal.initializer.organization.OrganizationInitializer</key>
@@ -90,83 +89,125 @@
</component>
</configuration>
</programlisting>
+ </para>
+ </formalpara>
</section>
- <section id="sect-Reference_Guide-Data_Injector_Configuration-Parameters_for_Group">
- <title>Parameters for Group</title>
- <itemizedlist>
+ <section id="sect-Reference_Guide-Data_Injector_Configuration-Group_Parameters">
+ <title>Group Parameters</title>
+ <variablelist>
+ <varlistentry>
+ <term>Name</term>
<listitem>
<para>
- <emphasis>name</emphasis> : The name of group.
+ The name of the group.
</para>
</listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>ParentId</term>
<listitem>
<para>
- <emphasis>parentId</emphasis> : The id of parent group. If the parent id is null, it means that the group is at the first level. If parent groups do not exist, it will be created automatically.
+ The ID of the parent group. If the parent ID is null the group is at the first level. If parent groups do not exist, this ID will be created automatically.
</para>
</listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Description</term>
<listitem>
<para>
- <emphasis>description</emphasis> : The description of group.
+ A description of the group.
</para>
</listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Label</term>
<listitem>
<para>
- <emphasis>label</emphasis> : The label of group.
+ A label for the group.
</para>
</listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>From and to</term>
<listitem>
<para>
- <emphasis>from and to</emphasis> : This group can be cloned to may copies and each copy is marked a number from!images/number.png!images/ to!images/ number.png!.
+ This group can be cloned to may copies and each copy is marked with a number.
</para>
</listitem>
- </itemizedlist>
+ </varlistentry>
+ </variablelist>
</section>
- <section id="sect-Reference_Guide-Data_Injector_Configuration-Parameters_for_User">
- <title>Parameters for User</title>
- <itemizedlist>
+ <section id="sect-Reference_Guide-Data_Injector_Configuration-User_Parameters">
+ <title>User Parameters</title>
+ <variablelist>
+ <varlistentry>
+ <term>UserName</term>
<listitem>
<para>
- <emphasis>userName</emphasis> : The ID of user.
+ The user's ID.
</para>
</listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Password</term>
<listitem>
<para>
- <emphasis>password</emphasis> : The password of user.
+ The user's password.
</para>
</listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>FirstName</term>
<listitem>
<para>
- <emphasis>firstName</emphasis> : The first name of user.
+
</para>
</listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>LastName</term>
<listitem>
<para>
- <emphasis>lastName</emphasis> : The last name of user.
+ last name.
</para>
</listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Email</term>
<listitem>
<para>
- <emphasis>email</emphasis> : The email of user.
+ The user's email address.
</para>
</listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Groups</term>
+
<listitem>
<para>
- <emphasis>groups</emphasis> : The list of groups that user join with membership type
+ A list of the groups that user belongs to.
</para>
</listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>From and to</term>
<listitem>
<para>
- <emphasis>from and to</emphasis> : This user can be cloned to may copies and each copy is marked a number from!images/number.png!images/ to!images/ number.png!. With this configuration we can create a range of users and put them to various groups and other range to other groups.
+ Users can be cloned and each copy is assigned a number. This allows the creation of a range of users that can be put into various groups based on the range value.
</para>
</listitem>
- </itemizedlist>
+ </varlistentry>
+ </variablelist>
+ </section>
+ <section>
+ <title>Automatic Navigation Creation</title>
<para>
- The " <emphasis>auto.create.group.page.navigation</emphasis> " Parameter Value is true or false. If TRUE it automatically create portal navigation and page for each group. If FALSE it does not create portal navigation and page for each group.
+ The " <literal>auto.create.group.page.navigation</literal>" parameter value is <parameter>true</parameter> or <parameter>false</parameter>. If this value is set to <parameter>true</parameter> it automatically creates portal navigations and pages for each group. If <parameter>false</parameter> it does not.
</para>
<para>
- The " <emphasis>auto.create.user.page.navigation</emphasis> " Parameter Value is number of pages that automatically created for each user.
+ The "<literal>auto.create.user.page.navigation</literal>" parameter value is the number of pages that are automatically created for each user.
</para>
</section>
Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Database_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Database_Configuration.xml 2010-01-22 03:14:28 UTC (rev 1413)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Database_Configuration.xml 2010-01-22 06:57:52 UTC (rev 1414)
@@ -84,10 +84,10 @@
</configuration>
</programlisting>
<para>
- The first component configuration is for the Hibernate service. You can enter any additional properties in a hibernate.properties file, but GateIn will override hibernate.properties with values read in from this configuration file.
+ The first component configuration is for the Hibernate service. You can enter any additional properties in a <literal>hibernate.properties</literal> file, but &PRODUCT; will override <literal>hibernate.properties</literal> with values read in from this configuration file.
</para>
<para>
- The second component configuration is for the JCR datasource. The InitialContextInitializer component will load the factory class, use the factory object to create a datasource, and bind that datasource in the JNDI tree with the value of the "bind-name" parameter. If you want to change the bind-name, for example "jdbcexo" to "myjdbc", you also need to change JCR repository configuration in order that the service picks up the right datasource.
+ The second component configuration is for the JCR datasource. The <literal>InitialContextInitializer</literal> component will load the factory class, use the factory object to create a datasource, and bind that datasource in the JNDI tree with the value of the "bind-name" parameter. If you want to change the bind-name, for example "<parameter>jdbcexo</parameter>" to "<parameter>myjdbc</parameter>", you also need to change JCR repository configuration in order that the service picks up the right datasource.
</para>
<para>
Make sure you update the database connection properties and dialect for both of these component configurations.
@@ -97,7 +97,7 @@
<section id="sect-Reference_Guide-Database_Configuration-JCR_database_configuration">
<title>JCR database configuration</title>
<para>
- There are two JCR configuration files that must be changed to support a different database. In both files, <emphasis role="bold">edit the dialect (and the data source name if necessary)</emphasis> .
+ There are two JCR configuration files that must be changed to support a different database. In both files, <emphasis>edit the dialect (and the data source name if necessary)</emphasis> .
</para>
<para>
The first file is <filename>02portal.war:/WEB-INF/conf/jcr/jcr-configuration.xml</filename> :
Modified: portal/trunk/docs/reference-guide/en/modules/configuration/IDM_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/IDM_Configuration.xml 2010-01-22 03:14:28 UTC (rev 1413)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/IDM_Configuration.xml 2010-01-22 06:57:52 UTC (rev 1414)
@@ -236,7 +236,7 @@
</para>
</listitem>
</itemizedlist> -->
-<!-- MARK -->
+
<para>
A sample <emphasis role="bold">JBoss Identity IDM</emphasis> configuration file is shown below. To understand all the options present in it please refer to the JBoss Identity IDM Reference Guide
</para>
Modified: portal/trunk/docs/reference-guide/en/modules/configuration/Skin_Configuration.xml
===================================================================
--- portal/trunk/docs/reference-guide/en/modules/configuration/Skin_Configuration.xml 2010-01-22 03:14:28 UTC (rev 1413)
+++ portal/trunk/docs/reference-guide/en/modules/configuration/Skin_Configuration.xml 2010-01-22 06:57:52 UTC (rev 1414)
@@ -8,7 +8,7 @@
<section id="sect-Reference_Guide-Skin_Configuration-Overview">
<title>Overview</title>
<para>
- GateIn provides support for skinning the entire portal User Interface (UI) including your own portlets. Skins are designed to help you pack and reuse common graphic resources.
+ &PRODUCT; provides support for skinning the entire portal User Interface (UI) including your own portlets. Skins are designed to help you pack and reuse common graphic resources.
</para>
</section>
@@ -23,16 +23,23 @@
</imageobject>
</mediaobject>
<para>
- When you switch, the whole portal will be repainted and new styles will be applied to the UI.
+ When you switch, the whole portal will be repainted and the new styles will be applied to the UI.
</para>
</section>
<section id="sect-Reference_Guide-Skin_Configuration-Skins_in_Page_Markups">
<title>Skins in Page Markups</title>
<para>
- An GateIn skin contains css styles for GateIn portal's components but also shares components that may be reused in portlets. When GateIn generates a portal page markup, it inserts stylesheet links in the page's <literal>head</literal> tag.
+ A &PRODUCT; skin contains css styles for the portal's components but also shares components that may be reused in portlets. When &PRODUCT; generates a portal page markup, it inserts stylesheet links in the page's <literal>head</literal> tag.
</para>
-
+ <para>
+ In the snipped code below you can see two types of links:
+ </para>
+ <programlistingco>
+ <areaspec>
+ <area coords="3" id="area-Reference_Guide-Skin_Configuration-Coreskin" />
+ <area coords="4" id="area-Reference_Guide-Skin_Configuration-Stylesheets" />
+ </areaspec>
<programlisting><head>
...
<link id="CoreSkin" rel="stylesheet" type="text/css" href="/eXoResources/skin/Stylesheet.css" />
@@ -43,49 +50,55 @@
...
</head>
</programlisting>
- <para>
- In the snipped code above, you can see two types of links :
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Portal skin stylesheet (<literal>id="CoreSkin"</literal>).
- </para>
- </listitem>
- <listitem>
- <para>
- Portlets skin stylesheets (all others) : each portlet within the page may contribute its own styles.
- </para>
- </listitem>
- </itemizedlist>
+
+ <calloutlist>
+ <callout arearefs="area-Reference_Guide-Skin_Configuration-Coreskin">
+ <para>
+ Portal skin stylesheet (<literal>id="CoreSkin"</literal>).
+ </para>
+ </callout>
+ <callout arearefs="area-Reference_Guide-Skin_Configuration-Stylesheets">
+ <para>
+ Portlets skin stylesheets (<emphasis role="bold">all others</emphasis>). Each portlet within the page may contribute its own style(s).
+ </para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
</section>
<section id="sect-Reference_Guide-Skin_Configuration-Types_of_Styles">
<title>Types of Styles</title>
- <orderedlist numeration="arabic">
- <listitem>
- <para>
- portal skin is typically made of 3 types of styles:
- </para>
- </listitem>
- <listitem>
- <para>
- Portlet themes : decorations for portlet windows.
- </para>
- </listitem>
- <listitem>
- <para>
- Portal styles : default styles for html tags (ex div,th,td...) + the portal UI including the sidebar and portal admin screens.
- </para>
- </listitem>
- <listitem>
- <para>
- Shared styles : GateIn WebUI components styles are reused among different GateIn portlets.
- </para>
- </listitem>
- </orderedlist>
+ <para>
+ The portal skin is typically made of 3 types of styles:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Portlet themes</term>
+ <listitem>
+ <para>
+ Decorations for portlet windows.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Portal styles</term>
+ <listitem>
+ <para>
+ Default styles for html tags (ex div,th,td...) and the portal UI (including the sidebar and portal admin screens).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Shared styles</term>
+ <listitem>
+ <para>
+ &PRODUCT; WebUI components styles are reused among different portlets.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
<para>
- This is revealed easily by the main portal skin stylesheets. For example <emphasis role="bold">/eXoVistaSkin/skin/Stylesheet.css</emphasis>
+ The main portal skin stylesheet (<filename>/eXoVistaSkin/skin/Stylesheet.css</filename>)is shown below as an example:
</para>
<programlisting>@import url(/eXoResources/skin/PortletThemes/Stylesheet.css) ;
@@ -97,14 +110,14 @@
<section id="sect-Reference_Guide-Skin_Configuration-Portlet_Styles">
<title>Portlet Styles</title>
<para>
- Portlets often require additionnal styles that may not be defined by the portal skin. GateIn allows portlets to define additional stylesheets for each portlet and will append the corresponding <literal>link</literal> tags to the <literal>head</literal>.
+ Portlets often require additionnal styles that may not be defined by the portal skin. &PRODUCT; allows portlets to define additional stylesheets for each portlet and will append the corresponding <literal>link</literal> tags to the <literal>head</literal>.
</para>
<para>
- The link ID will be of the form {portletAppName}{}<literal>$$<literal>PortletName</literal>. For example: <literal>ContentPortlet</literal> in <literal>content.war</literal>, will give <parameter>id="content</parameter>ContentPortlet"</literal>
+ The link ID will be of the form <parameter>{portletAppName}{}$$PortletName</parameter>. For example: <literal>ContentPortlet</literal> in <literal>content.war</literal>, will give <parameter>id="content<literal>ContentPortlet"</literal></parameter>
</para>
- <para>
- TODO: give some rules to follow in order to avoid overriding portal styles
- </para>
+
+<!-- #################### TODO: give some rules to follow in order to avoid overriding portal styles #####################-->
+
</section>
<section id="sect-Reference_Guide-Skin_Configuration-How_to_Configure_a_Portal_Skin">
14 years, 11 months
gatein SVN: r1413 - in portal/trunk/testsuite/ui-tests/sniff-tests: src/suite/org/exoplatform/portal/selenium and 1 other directories.
by do-not-reply@jboss.org
Author: dbaeli
Date: 2010-01-21 22:14:28 -0500 (Thu, 21 Jan 2010)
New Revision: 1413
Modified:
portal/trunk/testsuite/ui-tests/sniff-tests/Readme.txt
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/TestSuite_SNF_PRL.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_02.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_03.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_04.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_05.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_06.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_07.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_08.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_09.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_10.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_11.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_13.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_15.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_18.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_19.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_20.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_21.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_27_1.html
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_All.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_02.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_03.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_04.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_05.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_06.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_07.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_08.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_09.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_10.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_11.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_13.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_15.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_18.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_19.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_20.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_21.java
portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_27_1.java
Log:
GTNPORTAL-509: Selenium Sniff test
* Update for first tests (comments and data with test id to identify the running test)
* Tests from 11 to 20 updated
* Test_All run tests from 02 to 20 (4 Failures and 2 Errors on GateIn Beta04)
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/Readme.txt
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/Readme.txt 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/Readme.txt 2010-01-22 03:14:28 UTC (rev 1413)
@@ -19,3 +19,11 @@
** One Test per Selenium test
** One Test_all.java test which is a all in one (because currently the tests execution order is important) -- should not be the case
+****************************
+Running the tests in Eclipse
+****************************
+* Install SeleniumRC from http://seleniumhq.org/download/
+** Probably http://release.seleniumhq.org/selenium-remote-control/1.0.1/selenium-remo...
+* Start a Selenium Server
+** java -jar selenium-server.jar -interactive
+* In Eclipse run you tests like classical JUnit tests
\ No newline at end of file
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/TestSuite_SNF_PRL.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/TestSuite_SNF_PRL.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/TestSuite_SNF_PRL.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -1,42 +1,46 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
- <title>Test Suite</title>
-</head>
-<body>
-<table id="suiteTable" cellpadding="1" cellspacing="1" border="1" class="selenium"><tbody>
-<tr><td><b>Test Suite</b></td></tr>
-<tr><td><a href="Test_SNF_PRL_02.html">SNF_PRL_02</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_03.html">SNF_PRL_03</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_04.html">SNF_PRL_04</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_05.html">SNF_PRL_05</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_06.html">SNF_PRL_06</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_07.html">SNF_PRL_07</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_08.html">SNF_PRL_08</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_09.html">SNF_PRL_09</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_10.html">SNF_PRL_10</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_11.html">SNF_PRL_11</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_13.html">SNF_PRL_13</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_15.html">SNF_PRL_15</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_18.html">SNF_PRL_18</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_19.html">SNF_PRL_19</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_20.html">SNF_PRL_20</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_21.html">SNF_PRL_21</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_22.html">SNF_PRL_22</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_23.html">SNF_PRL_23</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_24.html">SNF_PRL_24</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_25.html">SNF_PRL_25</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_27_1.html">SNF_PRL_27_1</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_27_2.html">SNF_PRL_27_2</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_28.html">SNF_PRL_28</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_29.html">SNF_PRL_29</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_30.html">SNF_PRL_30</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_31.html">SNF_PRL_31</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_32.html">SNF_PRL_32</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_34.html">SNF_PRL_34</a></td></tr>
-<tr><td><a href="Test_SNF_PRL_35.html">SNF_PRL_35</a></td></tr>
-</tbody></table>
-</body>
-</html>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
+ <title>Test Suite</title>
+</head>
+<body>
+<table id="suiteTable" cellpadding="1" cellspacing="1" border="1" class="selenium"><tbody>
+<tr><td><b>Test Suite</b></td></tr>
+<tr><td><a href="Test_SNF_PRL_02.html">SNF_PRL_02</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_03.html">SNF_PRL_03</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_04.html">SNF_PRL_04</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_05.html">SNF_PRL_05</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_06.html">SNF_PRL_06</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_07.html">SNF_PRL_07</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_08.html">SNF_PRL_08</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_09.html">SNF_PRL_09</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_10.html">SNF_PRL_10</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_11.html">SNF_PRL_11</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_13.html">SNF_PRL_13</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_14.html">SNF_PRL_14</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_15.html">SNF_PRL_15</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_16.html">SNF_PRL_16</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_17.html">SNF_PRL_17</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_18.html">SNF_PRL_18</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_19.html">SNF_PRL_19</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_20.html">SNF_PRL_20</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_21.html">SNF_PRL_21</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_22.html">SNF_PRL_22</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_23.html">SNF_PRL_23</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_24.html">SNF_PRL_24</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_25.html">SNF_PRL_25</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_27_1.html">SNF_PRL_27_1</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_27_2.html">SNF_PRL_27_2</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_28.html">SNF_PRL_28</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_29.html">SNF_PRL_29</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_30.html">SNF_PRL_30</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_31.html">SNF_PRL_31</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_32.html">SNF_PRL_32</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_34.html">SNF_PRL_34</a></td></tr>
+<tr><td><a href="Test_SNF_PRL_35.html">SNF_PRL_35</a></td></tr>
+
+</tbody></table>
+</body>
+</html>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_02.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_02.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_02.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -17,6 +17,16 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>-New Account-</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Register new account</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAndWait</td>
<td>link=Register</td>
<td></td>
@@ -24,32 +34,32 @@
<tr>
<td>type</td>
<td>User Name:</td>
- <td>abc123</td>
+ <td>test_user_02</td>
</tr>
<tr>
<td>type</td>
<td>Password:</td>
- <td>121212</td>
+ <td>test_pwd_02</td>
</tr>
<tr>
<td>type</td>
<td>Confirm Password:</td>
- <td>121212</td>
+ <td>test_pwd_02</td>
</tr>
<tr>
<td>type</td>
<td>First Name:</td>
- <td>Aha</td>
+ <td>test_name_first_02</td>
</tr>
<tr>
<td>type</td>
<td>Last Name:</td>
- <td>Nguyen</td>
+ <td>test_name_last_02</td>
</tr>
<tr>
<td>type</td>
<td>Email Address:</td>
- <td>th4nhc0n9z(a)yahoo.com</td>
+ <td>test_user_02(a)yahoo.com</td>
</tr>
<tr>
<td>clickAt</td>
@@ -63,9 +73,89 @@
</tr>
<tr>
<td>echo</td>
- <td>!!! missing assert to check user exists !!!</td>
+ <td>--Verification</td>
<td></td>
</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Sign in</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>username</td>
+ <td>test_user_02</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>password</td>
+ <td>test_pwd_02</td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>//div[@id='UIPortalLoginFormAction']//a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>test_name_first_02 test_name_last_02</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Sign out</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Delete new user</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Sign in</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>username</td>
+ <td>root</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>password</td>
+ <td>gtn</td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>//div[@id='UIPortalLoginFormAction']//a</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Users and groups management</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>link=Users and groups management</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>//div[@class='UIListUsers']//tbody/tr[5]//img[@class='DeleteUserIcon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForConfirmation</td>
+ <td>Are you sure you want to delete test_user_02 user?</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Sign out</td>
+ <td></td>
+</tr>
</tbody></table>
</body>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_03.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_03.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_03.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -4,12 +4,12 @@
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="" />
-<title>ChangeLanguagePublic</title>
+<title>SNF_PRL_03</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
-<tr><td rowspan="1" colspan="3">ChangeLanguagePublic</td></tr>
+<tr><td rowspan="1" colspan="3">SNF_PRL_03</td></tr>
</thead><tbody>
<tr>
<td>open</td>
@@ -17,6 +17,11 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>-Change Language-</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>//a[@class='Language']</td>
<td>1,1</td>
@@ -61,6 +66,11 @@
<td>link=Áp dụng</td>
<td></td>
</tr>
+<tr>
+ <td>verifyElementPresent</td>
+ <td>link=Sign in</td>
+ <td></td>
+</tr>
</tbody></table>
</body>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_04.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_04.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_04.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -4,12 +4,12 @@
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="http://localhost:8080" />
-<title>SignInOut</title>
+<title>SNF_PRL_04</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
-<tr><td rowspan="1" colspan="3">SignInOut</td></tr>
+<tr><td rowspan="1" colspan="3">SNF_PRL_04</td></tr>
</thead><tbody>
<tr>
<td>open</td>
@@ -17,6 +17,11 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>-SignInOut-</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
<td>link=Sign in</td>
<td></td>
@@ -52,7 +57,7 @@
<td></td>
</tr>
<tr>
- <td>waitForElementPresent</td>
+ <td>verifyElementPresent</td>
<td>link=Sign in</td>
<td></td>
</tr>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_05.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_05.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_05.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -17,7 +17,12 @@
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>echo</td>
+ <td>-RememberMyLogin-</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
<td>link=Sign in</td>
<td></td>
</tr>
@@ -32,7 +37,7 @@
<td>gtn</td>
</tr>
<tr>
- <td>click</td>
+ <td>clickAt</td>
<td>rememberme</td>
<td></td>
</tr>
@@ -47,7 +52,7 @@
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>clickAt</td>
<td>link=Sign out</td>
<td></td>
</tr>
@@ -57,6 +62,11 @@
<td>1,1</td>
</tr>
<tr>
+ <td>echo</td>
+ <td>##"Sign out" resets "rememberme"</td>
+ <td></td>
+</tr>
+<tr>
<td>verifyChecked</td>
<td>rememberme</td>
<td></td>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_06.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_06.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_06.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -17,6 +17,11 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>-UserManagement-</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
<td>link=Sign in</td>
<td></td>
@@ -77,6 +82,11 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Edit fields</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>//div[@id='UIListUsersGird']//tbody/tr[3]//td[5]//div//img</td>
<td></td>
@@ -89,7 +99,7 @@
<tr>
<td>type</td>
<td>firstName</td>
- <td>exo2</td>
+ <td>test_user_06</td>
</tr>
<tr>
<td>clickAt</td>
@@ -124,22 +134,17 @@
<tr>
<td>type</td>
<td>user.name.given</td>
- <td>test</td>
+ <td>test_name_given_06</td>
</tr>
<tr>
<td>type</td>
- <td>user.name.given</td>
- <td>test05</td>
-</tr>
-<tr>
- <td>type</td>
<td>user.name.family</td>
- <td>test05family</td>
+ <td>test_name_family_06</td>
</tr>
<tr>
<td>type</td>
<td>user.name.nickName</td>
- <td>testnick</td>
+ <td>test_name_nick_06</td>
</tr>
<tr>
<td>clickAt</td>
@@ -167,8 +172,13 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Verify changes</td>
+ <td></td>
+</tr>
+<tr>
<td>verifyTextPresent</td>
- <td>exo2</td>
+ <td>test_user_06</td>
<td></td>
</tr>
<tr>
@@ -177,7 +187,7 @@
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>clickAt</td>
<td>link=Sign out</td>
<td></td>
</tr>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_07.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_07.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_07.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -17,6 +17,11 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>-GroupManagement-</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
<td>link=Sign in</td>
<td></td>
@@ -37,12 +42,17 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Select "Users and groups management" in menu</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>link=Group</td>
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>clickAt</td>
<td>link=Group</td>
<td></td>
</tr>
@@ -66,14 +76,22 @@
<td>//div[@id='UIOrganizationPortlet']/div[2]/div[2]/div[1]/div[2]/div[1]/div[2]/div/div/div/div[3]/div/a</td>
<td></td>
</tr>
-<!--Select "Organization" group from group tree-->
<tr>
+ <td>echo</td>
+ <td>--Select "Organization" group from group tree</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>//div[@id='UIOrganizationPortlet']//div[3]//div[@class='ExpandIcon']/a</td>
<td></td>
</tr>
-<!--Select "Management group" from group tree-->
<tr>
+ <td>echo</td>
+ <td>--Select "Management group" from group tree</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForTextPresent</td>
<td>Management</td>
<td></td>
@@ -83,8 +101,12 @@
<td>//div[@id='UIOrganizationPortlet']//div[3]//div[@class='ExpandIcon']/a</td>
<td></td>
</tr>
-<!--Click Add new group icon-->
<tr>
+ <td>echo</td>
+ <td>--Click Add new group icon</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>//div[@id='UIOrganizationPortlet']//div[@class='TitleBar']/a[@class='TreeActionIcon AddGroupIcon']</td>
<td></td>
@@ -97,31 +119,39 @@
<tr>
<td>type</td>
<td>groupName</td>
- <td>testgroup</td>
+ <td>test_group_name_07</td>
</tr>
<tr>
<td>type</td>
<td>label</td>
- <td>testgroup label</td>
+ <td>test_group_label_07</td>
</tr>
<tr>
<td>type</td>
<td>description</td>
- <td>testgroup description</td>
+ <td>test_group_description_07</td>
</tr>
-<!--Click "Save" to complete adding new group-->
<tr>
+ <td>echo</td>
+ <td>--Click "Save" to complete adding new group</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>//form[@id='UIGroupForm']//div[@class='ActionButton LightBlueStyle']</td>
<td></td>
</tr>
<tr>
<td>waitForTextPresent</td>
- <td>testgroup label</td>
+ <td>test_group_label_07</td>
<td></td>
</tr>
-<!--Click "Select User" icon-->
<tr>
+ <td>echo</td>
+ <td>--Click "Select User" icon</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>//form[@id='UIGroupMembershipForm']//div[@class='HorizontalLayout']//table[@class='UIFormGrid']//td[@class='FieldComponent']/a</td>
<td></td>
@@ -132,27 +162,31 @@
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>clickAt</td>
<td>demo</td>
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>clickAt</td>
<td>john</td>
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>clickAt</td>
<td>mary</td>
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>clickAt</td>
<td>root</td>
<td></td>
</tr>
-<!--Click "Add" button-->
<tr>
+ <td>echo</td>
+ <td>--Click "Add" button</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>//form[@id='UIUserSelector']//div[@class='UIAction']//a[@class='ActionButton LightBlueStyle']</td>
<td></td>
@@ -188,7 +222,7 @@
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>clickAt</td>
<td>link=Sign out</td>
<td></td>
</tr>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_08.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_08.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_08.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -17,6 +17,11 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>-MembershipManagement-</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
<td>link=Sign in</td>
<td></td>
@@ -37,6 +42,11 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Select "Users and groups management" in menu</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>link=Group</td>
<td></td>
@@ -56,21 +66,30 @@
<td>link=Users and groups management</td>
<td></td>
</tr>
-<!--Choose "Memebership Management" tab-->
<tr>
+ <td>echo</td>
+ <td>--Choose "Memebership Management" tab</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>//div[@id='UIOrganizationPortlet']//div[@class='ManagementIconContainer']/a[@class='MembershipButton']</td>
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Create new membership</td>
+ <td></td>
+</tr>
+<tr>
<td>type</td>
<td>name</td>
- <td>demomembership</td>
+ <td>test_name_08</td>
</tr>
<tr>
<td>type</td>
<td>description</td>
- <td>demo scripts</td>
+ <td>test_description_08</td>
</tr>
<tr>
<td>clickAt</td>
@@ -79,18 +98,28 @@
</tr>
<tr>
<td>waitForTextPresent</td>
- <td>demomembership</td>
+ <td>test_name_08</td>
<td></td>
</tr>
<tr>
+ <td>verifyTextPresent</td>
+ <td>test_name_08</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Edit membership</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
- <td>//table[@class='UIGrid']//tbody/tr[3]/td[5]//img</td>
+ <td>//table[@class='UIGrid']//tbody/tr[2]/td[5]//img[@class='EditMembershipIcon']</td>
<td>1,1</td>
</tr>
<tr>
<td>type</td>
<td>description</td>
- <td>demo scripts add more text</td>
+ <td>test_description_edit_08</td>
</tr>
<tr>
<td>clickAt</td>
@@ -99,10 +128,30 @@
</tr>
<tr>
<td>waitForTextPresent</td>
- <td>demo scripts add more text</td>
+ <td>test_description_edit_08</td>
<td></td>
</tr>
<tr>
+ <td>verifyTextPresent</td>
+ <td>test_description_edit_08</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Delete membership</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>//table[@class='UIGrid']//tbody/tr[2]/td[5]//img[@class='DeleteMembershipIcon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForConfirmation</td>
+ <td>Are you sure you want to delete this membership?</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAndWait</td>
<td>link=classic</td>
<td></td>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_09.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_09.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_09.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -17,7 +17,12 @@
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>echo</td>
+ <td>-AutoImport-</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
<td>link=Sign in</td>
<td></td>
</tr>
@@ -37,6 +42,11 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Select "Application Registry"</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>link=Application Registry</td>
<td>1,1</td>
@@ -47,8 +57,13 @@
<td></td>
</tr>
<tr>
- <td>chooseOkOnNextConfirmation</td>
+ <td>echo</td>
+ <td>--Auto Import</td>
<td></td>
+</tr>
+<tr>
+ <td>verifyTextNotPresent</td>
+ <td>WSRP Admin Portlet</td>
<td></td>
</tr>
<tr>
@@ -62,8 +77,8 @@
<td></td>
</tr>
<tr>
- <td>echo</td>
- <td>!! missing assert !!</td>
+ <td>verifyTextPresent</td>
+ <td>WSRP Admin Portlet</td>
<td></td>
</tr>
<tr>
@@ -72,7 +87,7 @@
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>clickAt</td>
<td>link=Sign out</td>
<td></td>
</tr>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_10.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_10.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_10.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -17,6 +17,11 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>-CategoryManagement-</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
<td>link=Sign in</td>
<td></td>
@@ -37,11 +42,21 @@
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Select "Application Registry"</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>link=Application Registry</td>
<td>1,1</td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Add Category</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>//div[@id='UIApplicationOrganizer']//div[@class='UIControlbar']/div[1]</td>
<td>1,1</td>
@@ -54,19 +69,24 @@
<tr>
<td>type</td>
<td>name</td>
- <td>category_test</td>
+ <td>test_name_category_10</td>
</tr>
<tr>
<td>type</td>
<td>displayName</td>
- <td>Category test name</td>
+ <td>test_displayname_category_10</td>
</tr>
<tr>
<td>type</td>
<td>description</td>
- <td>category test description</td>
+ <td>test_description_category_10</td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Select permissions</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
<td>//div[@class='WorkingArea']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']</td>
<td></td>
@@ -112,6 +132,16 @@
<td></td>
</tr>
<tr>
+ <td>verifyTextPresent</td>
+ <td>test_displayname_category_10</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Edit Category</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>//div[@id='UIApplicationOrganizer']//a[@class='ControlIcon EditIcon']</td>
<td>1,1</td>
@@ -124,7 +154,7 @@
<tr>
<td>type</td>
<td>displayName</td>
- <td>category test edit</td>
+ <td>test_displayname_edit_10</td>
</tr>
<tr>
<td>clickAt</td>
@@ -132,11 +162,31 @@
<td></td>
</tr>
<tr>
- <td>waitForTextPresent</td>
- <td>category test edit</td>
+ <td>verifyTextPresent</td>
+ <td>test_displayname_edit_10</td>
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Delete Category</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>//div[@class='SelectedTab']//a[@class='ControlIcon DeleteIcon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForConfirmation</td>
+ <td>Are you sure to delete this category and all applications on it?</td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextNotPresent</td>
+ <td>test_displayname_edit_10</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>link=Sign out</td>
<td></td>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_11.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_11.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_11.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -17,7 +17,12 @@
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>echo</td>
+ <td>-AddApplicationToCategory-</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
<td>link=Sign in</td>
<td></td>
</tr>
@@ -42,19 +47,29 @@
<td>1,1</td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Add application to Administration Category</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>//div[@class='ListContent']//div[@class='SelectedTab']//a[@class='ControlIcon CreateNewIcon']</td>
<td>1,1</td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Select first application in list</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
- <td>//input[@name='application' and @value='9']</td>
+ <td>//input[@name='application' and @value='1']</td>
<td>1,1</td>
</tr>
<tr>
<td>type</td>
<td>displayName</td>
- <td>test10</td>
+ <td>test_displayname_11</td>
</tr>
<tr>
<td>clickAt</td>
@@ -63,12 +78,17 @@
</tr>
<tr>
<td>waitForElementPresent</td>
- <td>link=category test edit</td>
+ <td>//a[@class='TabLabel' and @title='Administration']</td>
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Edit category permissions</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
- <td>link=category test edit</td>
+ <td>//a[@class='TabLabel' and @title='Administration']</td>
<td>1,1</td>
</tr>
<tr>
@@ -92,17 +112,32 @@
<td>1,1</td>
</tr>
<tr>
- <td>waitForTextPresent</td>
- <td>test10</td>
+ <td>verifyTextPresent</td>
+ <td>test_displayname_11</td>
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Delete application</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>//div[@class='ListContent']//div[@class='UIVTabContent']/div[8]//a[@class='ControlIcon DeletePortalIcon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForConfirmation</td>
+ <td>Are you sure to delete this application?</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>link=Sign out</td>
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>clickAt</td>
<td>link=Sign out</td>
<td></td>
</tr>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_13.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_13.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_13.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -4,15 +4,50 @@
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="" />
-<title>AddGadget</title>
+<title>SNF_PRL_13</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
-<tr><td rowspan="1" colspan="3">AddGadget</td></tr>
+<tr><td rowspan="1" colspan="3">SNF_PRL_13</td></tr>
</thead><tbody>
<tr>
+ <td>open</td>
+ <td>/portal/public/classic/</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-AddGadget-</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
+ <td>link=Sign in</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>username</td>
+ <td>root</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>password</td>
+ <td>gtn</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>//div[@id='UIPortalLoginFormAction']/div/div/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Application Registry</td>
+ <td>1,1</td>
+</tr>
+<tr>
+ <td>clickAt</td>
<td>link=Gadget</td>
<td></td>
</tr>
@@ -34,7 +69,7 @@
<tr>
<td>type</td>
<td>url</td>
- <td>http://www.google.com/ig/modules/colorjunction.xml</td>
+ <td>http://www.google.com/ig/modules/datetime.xml</td>
</tr>
<tr>
<td>clickAt</td>
@@ -61,6 +96,16 @@
<td>Gadget Details</td>
<td></td>
</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Sign out</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Sign out</td>
+ <td></td>
+</tr>
</tbody></table>
</body>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_15.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_15.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_15.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -4,78 +4,64 @@
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="" />
-<title>SiteMapAndLinkToPage</title>
+<title>SNF_PRL_15</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
-<tr><td rowspan="1" colspan="3">SiteMapAndLinkToPage</td></tr>
+<tr><td rowspan="1" colspan="3">SNF_PRL_15</td></tr>
</thead><tbody>
-<!--tr>
- <td>open</td>
- <td>/portal/private/classic/sitemap</td>
- <td></td>
-</tr>
-<tr>
- <td>type</td>
- <td>username</td>
- <td>root</td>
-</tr>
-<tr>
- <td>type</td>
- <td>password</td>
- <td>gtn</td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>link=Sign in</td>
- <td></td>
-</tr-->
<tr>
<td>open</td>
- <td>/portal/private/classic/sitemap</td>
+ <td>/portal/public/classic/</td>
<td></td>
</tr>
-<!--Expand All-->
<tr>
- <td>clickAt</td>
- <td>//div[@id='UISiteMap']//div[@class='ClearFix']/div[2]</td>
- <td>1,1</td>
+ <td>echo</td>
+ <td>-SiteMapAndLinkToPage-</td>
+ <td></td>
</tr>
<tr>
- <td>waitForTextPresent</td>
- <td>Blog</td>
+ <td>clickAt</td>
+ <td>link=Sign in</td>
<td></td>
</tr>
<tr>
- <td>verifyTextPresent</td>
- <td>New Staff</td>
- <td></td>
+ <td>type</td>
+ <td>username</td>
+ <td>root</td>
</tr>
<tr>
- <td>verifyTextPresent</td>
- <td>Application Registry</td>
+ <td>type</td>
+ <td>password</td>
+ <td>gtn</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>//div[@id='UIPortalLoginFormAction']/div/div/div</td>
<td></td>
</tr>
-<!--Collapse All-->
<tr>
- <td>clickAt</td>
- <td>//div[@id='UISiteMap']//div[@class='ClearFix']/div[1]</td>
- <td>1,1</td>
+ <td>open</td>
+ <td>/portal/private/classic/sitemap</td>
+ <td></td>
</tr>
<tr>
- <td>waitForTextNotPresent</td>
- <td>Blog</td>
+ <td>echo</td>
+ <td>--Expand the first submenu</td>
<td></td>
</tr>
-<!--Expand the first submenu-->
<tr>
<td>clickAt</td>
<td>css=div#UISiteMap div.ExpandIcon</td>
<td>1,1</td>
</tr>
-<!--Select the first link of the first submenu-->
<tr>
+ <td>echo</td>
+ <td>--Select the first link of submenu</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>css=div#UISiteMap div.ChildrenContainer a</td>
<td></td>
@@ -85,11 +71,11 @@
<td>css=div#UISiteMap div.ChildrenContainer a</td>
<td></td>
</tr>
-<!--tr>
- <td>click</td>
- <td>link=Sign out</td>
- <td></td>
-</tr-->
+<tr>
+ <td>clickAt</td>
+ <td>link=Sign out</td>
+ <td></td>
+</tr>
</tbody></table>
</body>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_18.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_18.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_18.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -4,68 +4,90 @@
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="" />
-<title>CreateNewPortal</title>
+<title>SNF_PRL_18</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
-<tr><td rowspan="1" colspan="3">CreateNewPortal</td></tr>
+<tr><td rowspan="1" colspan="3">SNF_PRL_18</td></tr>
</thead><tbody>
-<!--tr>
- <td>open</td>
- <td>/portal/private/classic/portalnavigation</td>
- <td></td>
-</tr>
-<tr>
- <td>type</td>
- <td>username</td>
- <td>root</td>
-</tr>
-<tr>
- <td>type</td>
- <td>password</td>
- <td>gtn</td>
-</tr>
-<tr>
- <td>clickAndWait</td>
- <td>link=Sign in</td>
- <td></td>
-</tr-->
<tr>
<td>open</td>
+ <td>/portal/public/classic/</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>-CreateNewPortal-</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Sign in</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>username</td>
+ <td>root</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>password</td>
+ <td>gtn</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>//div[@id='UIPortalLoginFormAction']/div/div/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>open</td>
<td>/portal/private/classic/portalnavigation</td>
<td></td>
</tr>
-<!--Click "Add new Portal" button-->
<tr>
+ <td>echo</td>
+ <td>--Add new portal</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>//div[@id='UISiteManagement']//div[@class='UIAction']//div[@class='ActionButton BlueButton']</td>
<td></td>
</tr>
-<!--Select "Portal Settings" tab-->
<tr>
+ <td>echo</td>
+ <td>--Select portal settings</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']</td>
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>clickAt</td>
<td>//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>name</td>
- <td>New_portal</td>
+ <td>test_portal_18</td>
</tr>
-<!--Select "Permission Setting" tab-->
<tr>
- <td>click</td>
+ <td>echo</td>
+ <td>--Select permission settings</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
<td>//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[4]//div[@class='MiddleTab']</td>
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>clickAt</td>
<td>publicMode</td>
<td></td>
</tr>
@@ -111,14 +133,54 @@
</tr>
<tr>
<td>waitForTextPresent</td>
- <td>New_portal</td>
+ <td>test_portal_18</td>
<td></td>
</tr>
-<!--tr>
- <td>click</td>
- <td>link=Sign out</td>
- <td></td>
-</tr-->
+<tr>
+ <td>echo</td>
+ <td>--Verify portal creation</td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyElementPresent</td>
+ <td>link=test_portal_18</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Delete new portal</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Site</td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>Portal Navigation</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>//div[@id='UISiteManagement']/table[2]//a[@class='DeleteIcon']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextNotPresent</td>
+ <td>test_portal_18</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForConfirmation</td>
+ <td>Are you sure you want to delete this portal?</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Sign out</td>
+ <td></td>
+</tr>
</tbody></table>
</body>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_19.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_19.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_19.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -4,20 +4,25 @@
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="" />
-<title>EditPortalNavigation</title>
+<title>SNF_PRL_19</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
-<tr><td rowspan="1" colspan="3">EditPortalNavigation</td></tr>
+<tr><td rowspan="1" colspan="3">SNF_PRL_19</td></tr>
</thead><tbody>
-<!--tr>
+<tr>
<td>open</td>
<td>/portal/public/classic/</td>
<td></td>
</tr>
<tr>
- <td>click</td>
+ <td>echo</td>
+ <td>-EditPortalNavigation-</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
<td>link=Sign in</td>
<td></td>
</tr>
@@ -30,10 +35,10 @@
<td>type</td>
<td>password</td>
<td>gtn</td>
-</tr-->
+</tr>
<tr>
- <td>open</td>
- <td>/portal/private/classic/</td>
+ <td>clickAndWait</td>
+ <td>//div[@id='UIPortalLoginFormAction']/div/div/div</td>
<td></td>
</tr>
<tr>
@@ -41,8 +46,12 @@
<td>link=Site</td>
<td></td>
</tr>
-<!--Edit Portal layout, currently do not change anything-->
<tr>
+ <td>echo</td>
+ <td>--Edit Portal layout, currently do not change anything</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>link=Edit Layout</td>
<td></td>
@@ -69,7 +78,7 @@
</tr>
<tr>
<td>clickAt</td>
- <td>//div[@id='UIPortalComposer']//div[@class='OverflowContainer']/a[@class='EdittedSaveButton']</td>
+ <td>//div[@id='UIPortalComposer']//div[@class='OverflowContainer']/a[@class='CloseButton']</td>
<td>1,1</td>
</tr>
<tr>
@@ -77,8 +86,12 @@
<td>classic</td>
<td></td>
</tr>
-<!--Edit nav: add node, actions ...-->
<tr>
+ <td>echo</td>
+ <td>--Edit nav: add node, actions ...</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>link=Edit Navigation</td>
<td>1,1</td>
@@ -101,15 +114,19 @@
<tr>
<td>type</td>
<td>name</td>
- <td>Node_test</td>
+ <td>test_nodename_19</td>
</tr>
<tr>
<td>type</td>
<td>label</td>
- <td>New node</td>
+ <td>test_node_label_19</td>
</tr>
-<!--Select Page-->
<tr>
+ <td>echo</td>
+ <td>--Select Page</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>css=div#UISiteManagement > div.UIPopupWindow div.TabsContainer div.NormalTab div.MiddleTab</td>
<td>1,1</td>
@@ -124,8 +141,12 @@
<td>link=Search and Select Page</td>
<td></td>
</tr>
-<!--Select the first page-->
<tr>
+ <td>echo</td>
+ <td>--Select the first page</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>//div[@id='UIRepeater']//table//tbody/tr/td[5]/div[@class='ActionContainer']/img</td>
<td></td>
@@ -135,8 +156,12 @@
<td>//div[@id='UIRepeater']//table//tbody/tr/td[5]/div[@class='ActionContainer']/img</td>
<td></td>
</tr>
-<!--Save-->
<tr>
+ <td>echo</td>
+ <td>--Save</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>link=Save</td>
<td>1,1</td>
@@ -146,8 +171,12 @@
<td>link=Save</td>
<td>1,1</td>
</tr>
-<!--Edit Portal Properties-->
<tr>
+ <td>echo</td>
+ <td>--Edit Portal Properties</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
<td>link=Edit Portal's Properties</td>
<td>1,1</td>
@@ -204,40 +233,94 @@
</tr>
<tr>
<td>clickAt</td>
- <td>link=Platform</td>
+ <td>//div[@id='PermissionSelector']//div[2]/a</td>
<td></td>
</tr>
<tr>
<td>clickAt</td>
- <td>link=Administrators</td>
+ <td>//form[@id='UIPortalForm']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']</td>
<td></td>
</tr>
<tr>
- <td>clickAt</td>
- <td>//div[@id='PermissionSelector']//div[2]/a</td>
+ <td>open</td>
+ <td>/portal/private/classic/</td>
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Select new node</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
- <td>//form[@id='UIPortalForm']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']</td>
+ <td>link=test_node_label_19</td>
<td></td>
</tr>
<tr>
- <td>open</td>
- <td>/portal/private/classic/</td>
+ <td>verifyElementPresent</td>
+ <td>//div[@class='SelectedNavigationTab']//a</td>
<td></td>
</tr>
-<!--Select new added node to view page-->
+<!--tr>
+ <td>echo</td>
+ <td>---Delete node</td>
+ <td></td>
+</tr>
<tr>
<td>clickAt</td>
- <td>link=New node</td>
+ <td>link=Site</td>
<td></td>
</tr>
-<!--tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Edit Navigation</td>
+ <td></td>
+</tr>
+<tr>
+ <td>contextMenu</td>
+ <td>link=test_node_label_19</td>
+ <td></td>
+</tr>
+<tr>
+ <td>contextMenuAt</td>
+ <td>link=test_node_label_19</td>
+ <td></td>
+</tr>
+<tr>
<td>click</td>
- <td>//a[@onclick='eXo.portal.logout();']</td>
+ <td>link=Delete Node</td>
<td></td>
+</tr>
+<tr>
+ <td>waitForConfirmation</td>
+ <td>Are you sure you want to delete this node?</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Save</td>
+ <td></td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Verify Deletion</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Home</td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextNotPresent</td>
+ <td>test_node_label_19</td>
+ <td></td>
</tr-->
+<tr>
+ <td>clickAt</td>
+ <td>link=Sign out</td>
+ <td></td>
+</tr>
</tbody></table>
</body>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_20.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_20.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_20.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -4,24 +4,54 @@
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="" />
-<title>DeletePortal</title>
+<title>SNF_PRL_20</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
-<tr><td rowspan="1" colspan="3">DeletePortal</td></tr>
+<tr><td rowspan="1" colspan="3">SNF_PRL_20</td></tr>
</thead><tbody>
<tr>
<td>open</td>
- <td>/portal/private/classic/</td>
+ <td>/portal/public/classic/</td>
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>-DeletePortal-</td>
+ <td></td>
+</tr>
+<tr>
<td>clickAt</td>
+ <td>link=Sign in</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>username</td>
+ <td>root</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>password</td>
+ <td>gtn</td>
+</tr>
+<tr>
+ <td>clickAndWait</td>
+ <td>//div[@id='UIPortalLoginFormAction']/div/div/div</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
<td>link=Site</td>
<td></td>
</tr>
<tr>
+ <td>echo</td>
+ <td>--Add new portal</td>
+ <td></td>
+</tr>
+<tr>
<td>waitForElementPresent</td>
<td>link=Add New Portal</td>
<td></td>
@@ -39,7 +69,7 @@
<tr>
<td>type</td>
<td>name</td>
- <td>Haha</td>
+ <td>test_portal_name_20</td>
</tr>
<tr>
<td>clickAt</td>
@@ -77,11 +107,6 @@
<td></td>
</tr>
<tr>
- <td>waitForElementPresent</td>
- <td>//div[@class='CollapseIcon']</td>
- <td></td>
-</tr>
-<tr>
<td>clickAt</td>
<td>link=exact:*</td>
<td></td>
@@ -92,13 +117,18 @@
<td></td>
</tr>
<tr>
- <td>clickAt</td>
- <td>link=Save</td>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]</td>
<td></td>
</tr>
<tr>
- <td>waitForElementPresent</td>
- <td>//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]</td>
+ <td>verifyTextPresent</td>
+ <td>test_portal_name_20</td>
+ <td>1,1</td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--Delete portal</td>
<td></td>
</tr>
<tr>
@@ -107,10 +137,25 @@
<td></td>
</tr>
<tr>
+ <td>waitForConfirmation</td>
+ <td>Are you sure you want to delete this portal?</td>
+ <td></td>
+</tr>
+<tr>
<td>verifyTextNotPresent</td>
- <td>Haha</td>
+ <td>test_portal_name_20</td>
<td>1,1</td>
</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Sign out</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Sign out</td>
+ <td></td>
+</tr>
</tbody></table>
</body>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_21.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_21.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_21.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -4,38 +4,138 @@
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="" />
-<title>ChangePortal</title>
+<title>SNF_PRL_21</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
-<tr><td rowspan="1" colspan="3">ChangePortal</td></tr>
+<tr><td rowspan="1" colspan="3">SNF_PRL_21</td></tr>
</thead><tbody>
<tr>
<td>open</td>
- <td>/portal/private/classic/</td>
+ <td>/portal/public/classic/</td>
<td></td>
</tr>
<tr>
- <td>clickAndWait</td>
- <td>link=New_portal</td>
+ <td>echo</td>
+ <td>-ChangePortal-</td>
<td></td>
</tr>
<tr>
- <td>open</td>
- <td>/portal/private/classic/portalnavigation</td>
+ <td>clickAt</td>
+ <td>link=Sign in</td>
<td></td>
</tr>
<tr>
+ <td>type</td>
+ <td>username</td>
+ <td>root</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>password</td>
+ <td>gtn</td>
+</tr>
+<tr>
<td>clickAndWait</td>
- <td>link=New_portal</td>
+ <td>//div[@id='UIPortalLoginFormAction']/div/div/div</td>
<td></td>
</tr>
<tr>
<td>clickAt</td>
- <td>link=New_portal</td>
+ <td>link=Site</td>
<td></td>
</tr>
+<tr>
+ <td>echo</td>
+ <td>--Add new portal</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>link=Add New Portal</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Add New Portal</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>//div[(a)onclick="eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'PortalSetting');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=PortalSetting')"]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>name</td>
+ <td>test_portal_name_21</td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>//div[(a)onclick="eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'Properties');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=Properties')"]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>//div[(a)onclick="eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'PermissionSetting');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=PermissionSetting')"]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>publicMode</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Edit Permission Setting</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Select Permission</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Platform</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Platform</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=exact:*</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=Save</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]</td>
+ <td></td>
+</tr>
+<tr>
+ <td>verifyTextPresent</td>
+ <td>test_portal_name_21</td>
+ <td>1,1</td>
+</tr>
+<tr>
+ <td>echo</td>
+ <td>--View new portal</td>
+ <td></td>
+</tr>
+<tr>
+ <td>clickAt</td>
+ <td>link=test_portal_name_21</td>
+ <td></td>
+</tr>
</tbody></table>
</body>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_27_1.html
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_27_1.html 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/suite/org/exoplatform/portal/selenium/Test_SNF_PRL_27_1.html 2010-01-22 03:14:28 UTC (rev 1413)
@@ -130,7 +130,7 @@
<td>1,1</td>
</tr>
<tr>
- <td>doubleClickAt</td>
+ <td>clickAt</td>
<td>link=Administrators</td>
<td></td>
</tr>
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_All.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_All.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_All.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -2,1901 +2,1936 @@
import com.thoughtworks.selenium.*;
import java.util.regex.Pattern;
-
public class Test_All extends SeleneseTestCase {
- public void setUp() throws Exception {
- setUp("http://localhost:8080/portal/", "*firefox");
- }
+public void setUp() throws Exception {
+setUp("http://localhost:8080/portal/", "*firefox");
+}
- public void testSNF_PRL_02() throws Exception {
- selenium.setSpeed("500");
- selenium.open("/portal/public/classic/");
- selenium.click("link=Register");
- selenium.waitForPageToLoad("30000");
- selenium.type("User Name:", "abc123");
- selenium.type("Password:", "121212");
- selenium.type("Confirm Password:", "121212");
- selenium.type("First Name:", "Aha");
- selenium.type("Last Name:", "Nguyen");
- selenium.type("Email Address:", "th4nhc0n9z(a)yahoo.com");
- selenium.clickAt("link=Subscribe", "1,1");
- selenium.open("/portal/public/classic/");
- System.out.println("!!! missing assert to check user exists !!!");
- }
+public void testSNF_PRL_02() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-New Account-");
+System.out.println("--Register new account");
+selenium.click("link=Register");
+selenium.waitForPageToLoad("30000");
+selenium.type("User Name:", "test_user_02");
+selenium.type("Password:", "test_pwd_02");
+selenium.type("Confirm Password:", "test_pwd_02");
+selenium.type("First Name:", "test_name_first_02");
+selenium.type("Last Name:", "test_name_last_02");
+selenium.type("Email Address:", "test_user_02(a)yahoo.com");
+selenium.clickAt("link=Subscribe", "1,1");
+selenium.open("/portal/public/classic/");
+System.out.println("--Verification");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "test_user_02");
+selenium.type("password", "test_pwd_02");
+selenium.clickAt("//div[@id='UIPortalLoginFormAction']//a", "1,1");
+assertTrue(selenium.isTextPresent("test_name_first_02 test_name_last_02"));
+selenium.clickAt("link=Sign out", "1,1");
+System.out.println("--Delete new user");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.clickAt("//div[@id='UIPortalLoginFormAction']//a", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Users and groups management"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.click("link=Users and groups management");
+selenium.waitForPageToLoad("30000");
+selenium.clickAt("//div[@class='UIListUsers']//tbody/tr[5]//img[@class='DeleteUserIcon']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (selenium.getConfirmation().equals("Are you sure you want to delete test_user_02 user?")) {
+break;
+}
+}
+catch (Exception e) {
+}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Sign out", "1,1");
+}
- public void testSNF_PRL_03() throws Exception {
- selenium.setSpeed("500");
- selenium.open("/portal/public/classic/");
- selenium.clickAt("//a[@class='Language']", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Vietnamese"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.clickAt("link=Vietnamese", "1,1");
- selenium.clickAt("link=Apply", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (!selenium.isElementPresent("link=Apply"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.clickAt("//a[@class='Language']", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("//div[@id='UITabContent']//div[2]/a"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.clickAt("//div[@id='UITabContent']//div[2]/a", "1,1");
- selenium.click("link=�p d?ng");
- selenium.waitForPageToLoad("30000");
- }
+public void testSNF_PRL_03() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-Change Language-");
+selenium.clickAt("//a[@class='Language']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Vietnamese"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Vietnamese", "1,1");
+selenium.clickAt("link=Apply", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (!selenium.isElementPresent("link=Apply"))
+ break;
+ }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("//a[@class='Language']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//div[@id='UITabContent']//div[2]/a"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("//div[@id='UITabContent']//div[2]/a", "1,1");
+selenium.click("link=�p d?ng");
+selenium.waitForPageToLoad("30000");
+assertTrue(selenium.isElementPresent("link=Sign in"));
+}
- public void testSNF_PRL_04() throws Exception {
- selenium.setSpeed("500");
- selenium.open("/portal/public/classic/");
- selenium.click("link=Sign in");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("username"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.type("username", "root");
- selenium.type("password", "gtn");
- selenium.click("//div[@id='UIPortalLoginFormAction']//a");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Sign out"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=Sign out");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Sign in"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- }
+public void testSNF_PRL_04() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-SignInOut-");
+selenium.click("link=Sign in");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("username"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']//a");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.click("link=Sign out");
+assertTrue(selenium.isElementPresent("link=Sign in"));
+}
- public void testSNF_PRL_05() throws Exception {
- selenium.setSpeed("500");
- selenium.open("/portal/public/classic/");
- selenium.click("link=Sign in");
- selenium.type("username", "root");
- selenium.type("password", "gtn");
- selenium.click("rememberme");
- selenium.clickAt("//div[@id='UIPortalLoginFormAction']//div[@class='ButtonMiddle']/a", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Sign out"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=Sign out");
- selenium.clickAt("link=Sign in", "1,1");
- verifyTrue(selenium.isChecked("rememberme"));
- selenium.clickAt("link=Discard", "1,1");
- }
+public void testSNF_PRL_05() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-RememberMyLogin-");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.clickAt("rememberme", "1,1");
+selenium.clickAt("//div[@id='UIPortalLoginFormAction']//div[@class='ButtonMiddle']/a", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Sign out", "1,1");
+selenium.clickAt("link=Sign in", "1,1");
+System.out.println("##\"Sign out\" resets \"rememberme\"");
+verifyTrue(selenium.isChecked("rememberme"));
+selenium.clickAt("link=Discard", "1,1");
+}
- public void testSNF_PRL_06() throws Exception {
- selenium.setSpeed("500");
- selenium.open("/portal/public/classic/");
- selenium.click("link=Sign in");
- selenium.type("username", "root");
- selenium.type("password", "gtn");
- selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
- selenium.waitForPageToLoad("30000");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Group"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=Group");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Users and groups management"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=Users and groups management");
- selenium.waitForPageToLoad("30000");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isTextPresent("User Name"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- assertTrue(selenium.isTextPresent("Last Name"));
- assertTrue(selenium.isTextPresent("First Name"));
- assertTrue(selenium.isTextPresent("Email"));
- selenium.clickAt("//div[@id='UIListUsersGird']//tbody/tr[3]//td[5]//div//img", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("firstName"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.type("firstName", "exo2");
- selenium.clickAt("link=Save", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("css=div#UIOrganizationPortlet div.ManagementTabContent > div.UIPopupWindow div.ActionButton"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.clickAt("css=div#UIOrganizationPortlet div.ManagementTabContent > div.UIPopupWindow div.ActionButton",
- "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("//div[@id='UIUserManagement']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.clickAt("//div[@id='UIUserManagement']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']",
- "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("user.name.given"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.type("user.name.given", "test");
- selenium.type("user.name.given", "test05");
- selenium.type("user.name.family", "test05family");
- selenium.type("user.name.nickName", "testnick");
- selenium.clickAt("link=Save", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("css=div#UIOrganizationPortlet div.ManagementTabContent > div.UIPopupWindow div.ActionButton"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- assertTrue(selenium.isTextPresent("The user profile has been updated."));
- selenium.clickAt("css=div#UIOrganizationPortlet div.ManagementTabContent > div.UIPopupWindow div.ActionButton",
- "1,1");
- selenium.clickAt("link=Cancel", "1,1");
- assertTrue(selenium.isTextPresent("exo2"));
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Sign out"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=Sign out");
- }
+public void testSNF_PRL_06() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-UserManagement-");
+selenium.click("link=Sign in");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Group"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.click("link=Group");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Users and groups management"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.click("link=Users and groups management");
+selenium.waitForPageToLoad("30000");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isTextPresent("User Name"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+assertTrue(selenium.isTextPresent("Last Name"));
+assertTrue(selenium.isTextPresent("First Name"));
+assertTrue(selenium.isTextPresent("Email"));
+System.out.println("--Edit fields");
+selenium.clickAt("//div[@id='UIListUsersGird']//tbody/tr[3]//td[5]//div//img", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("firstName"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.type("firstName", "test_user_06");
+selenium.clickAt("link=Save", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("css=div#UIOrganizationPortlet div.ManagementTabContent > div.UIPopupWindow div.ActionButton"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("css=div#UIOrganizationPortlet div.ManagementTabContent > div.UIPopupWindow div.ActionButton", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//div[@id='UIUserManagement']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("//div[@id='UIUserManagement']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("user.name.given"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.type("user.name.given", "test_name_given_06");
+selenium.type("user.name.family", "test_name_family_06");
+selenium.type("user.name.nickName", "test_name_nick_06");
+selenium.clickAt("link=Save", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("css=div#UIOrganizationPortlet div.ManagementTabContent > div.UIPopupWindow div.ActionButton"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+assertTrue(selenium.isTextPresent("The user profile has been updated."));
+selenium.clickAt("css=div#UIOrganizationPortlet div.ManagementTabContent > div.UIPopupWindow div.ActionButton", "1,1");
+selenium.clickAt("link=Cancel", "1,1");
+System.out.println("--Verify changes");
+assertTrue(selenium.isTextPresent("test_user_06"));
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Sign out", "1,1");
+}
- public void testSNF_PRL_07() throws Exception {
- selenium.setSpeed("500");
- selenium.open("/portal/public/classic/");
- selenium.click("link=Sign in");
- selenium.type("username", "root");
- selenium.type("password", "gtn");
- selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
- selenium.waitForPageToLoad("30000");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Group"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=Group");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Users and groups management"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=Users and groups management");
- selenium.waitForPageToLoad("30000");
- selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[@class='ManagementIconContainer']/a[@class='GroupButton']",
- "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("//div[@id='UIOrganizationPortlet']/div[2]/div[2]/div[1]/div[2]/div[1]/div[2]/div/div/div/div[3]/div/a"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[3]//div[@class='ExpandIcon']/a",
- "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isTextPresent("Management"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[3]//div[@class='ExpandIcon']/a",
- "1,1");
- selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[@class='TitleBar']/a[@class='TreeActionIcon AddGroupIcon']",
- "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("groupName"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.type("groupName", "testgroup");
- selenium.type("label", "testgroup label");
- selenium.type("description", "testgroup description");
- selenium.clickAt("//form[@id='UIGroupForm']//div[@class='ActionButton LightBlueStyle']", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isTextPresent("testgroup label"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.clickAt("//form[@id='UIGroupMembershipForm']//div[@class='HorizontalLayout']//table[@class='UIFormGrid']//td[@class='FieldComponent']/a",
- "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("//form[@id='UIUserSelector']/div[2]/div[2]/table/tbody/tr/td/a[1]/div/div/div"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("demo");
- selenium.click("john");
- selenium.click("mary");
- selenium.click("root");
- selenium.clickAt("//form[@id='UIUserSelector']//div[@class='UIAction']//a[@class='ActionButton LightBlueStyle']",
- "1,1");
- selenium.clickAt("link=Save", "1,1");
- assertTrue(selenium.isTextPresent("demo"));
- assertTrue(selenium.isTextPresent("john"));
- assertTrue(selenium.isTextPresent("mary"));
- assertTrue(selenium.isTextPresent("root"));
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Sign out"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=Sign out");
- }
+public void testSNF_PRL_07() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-GroupManagement-");
+selenium.click("link=Sign in");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+System.out.println("--Select \"Users and groups management\" in menu");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Group"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Group", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Users and groups management"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.click("link=Users and groups management");
+selenium.waitForPageToLoad("30000");
+selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[@class='ManagementIconContainer']/a[@class='GroupButton']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//div[@id='UIOrganizationPortlet']/div[2]/div[2]/div[1]/div[2]/div[1]/div[2]/div/div/div/div[3]/div/a"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+System.out.println("--Select \"Organization\" group from group tree");
+selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[3]//div[@class='ExpandIcon']/a", "1,1");
+System.out.println("--Select \"Management group\" from group tree");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isTextPresent("Management"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[3]//div[@class='ExpandIcon']/a", "1,1");
+System.out.println("--Click Add new group icon");
+selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[@class='TitleBar']/a[@class='TreeActionIcon AddGroupIcon']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("groupName"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.type("groupName", "test_group_name_07");
+selenium.type("label", "test_group_label_07");
+selenium.type("description", "test_group_description_07");
+System.out.println("--Click \"Save\" to complete adding new group");
+selenium.clickAt("//form[@id='UIGroupForm']//div[@class='ActionButton LightBlueStyle']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isTextPresent("test_group_label_07"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+System.out.println("--Click \"Select User\" icon");
+selenium.clickAt("//form[@id='UIGroupMembershipForm']//div[@class='HorizontalLayout']//table[@class='UIFormGrid']//td[@class='FieldComponent']/a", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//form[@id='UIUserSelector']/div[2]/div[2]/table/tbody/tr/td/a[1]/div/div/div"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("demo", "1,1");
+selenium.clickAt("john", "1,1");
+selenium.clickAt("mary", "1,1");
+selenium.clickAt("root", "1,1");
+System.out.println("--Click \"Add\" button");
+selenium.clickAt("//form[@id='UIUserSelector']//div[@class='UIAction']//a[@class='ActionButton LightBlueStyle']", "1,1");
+selenium.clickAt("link=Save", "1,1");
+assertTrue(selenium.isTextPresent("demo"));
+assertTrue(selenium.isTextPresent("john"));
+assertTrue(selenium.isTextPresent("mary"));
+assertTrue(selenium.isTextPresent("root"));
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Sign out", "1,1");
+}
- public void testSNF_PRL_08() throws Exception {
- selenium.setSpeed("500");
- selenium.open("/portal/public/classic/");
- selenium.click("link=Sign in");
- selenium.type("username", "root");
- selenium.type("password", "gtn");
- selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
- selenium.waitForPageToLoad("30000");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Group"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=Group");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Users and groups management"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=Users and groups management");
- selenium.waitForPageToLoad("30000");
- selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[@class='ManagementIconContainer']/a[@class='MembershipButton']",
- "1,1");
- selenium.type("name", "demomembership");
- selenium.type("description", "demo scripts");
- selenium.clickAt("link=Save", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isTextPresent("demomembership"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.clickAt("//table[@class='UIGrid']//tbody/tr[3]/td[5]//img", "1,1");
- selenium.type("description", "demo scripts add more text");
- selenium.clickAt("link=Save", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isTextPresent("demo scripts add more text"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=classic");
- selenium.waitForPageToLoad("30000");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Sign out"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=Sign out");
- }
+public void testSNF_PRL_08() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-MembershipManagement-");
+selenium.click("link=Sign in");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+System.out.println("--Select \"Users and groups management\" in menu");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Group"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.click("link=Group");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Users and groups management"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.click("link=Users and groups management");
+selenium.waitForPageToLoad("30000");
+System.out.println("--Choose \"Memebership Management\" tab");
+selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[@class='ManagementIconContainer']/a[@class='MembershipButton']", "1,1");
+System.out.println("--Create new membership");
+selenium.type("name", "test_name_08");
+selenium.type("description", "test_description_08");
+selenium.clickAt("link=Save", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isTextPresent("test_name_08"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+assertTrue(selenium.isTextPresent("test_name_08"));
+System.out.println("--Edit membership");
+selenium.clickAt("//table[@class='UIGrid']//tbody/tr[2]/td[5]//img[@class='EditMembershipIcon']", "1,1");
+selenium.type("description", "test_description_edit_08");
+selenium.clickAt("link=Save", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isTextPresent("test_description_edit_08"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+assertTrue(selenium.isTextPresent("test_description_edit_08"));
+System.out.println("--Delete membership");
+selenium.clickAt("//table[@class='UIGrid']//tbody/tr[2]/td[5]//img[@class='DeleteMembershipIcon']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (selenium.getConfirmation().equals("Are you sure you want to delete this membership?")) {
+break;
+}
+}
+catch (Exception e) {
+}
+Thread.sleep(1000);
+}
+selenium.click("link=classic");
+selenium.waitForPageToLoad("30000");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.click("link=Sign out");
+}
- public void testSNF_PRL_09() throws Exception {
- selenium.setSpeed("500");
- selenium.open("/portal/public/classic/");
- selenium.click("link=Sign in");
- selenium.type("username", "root");
- selenium.type("password", "gtn");
- selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
- selenium.waitForPageToLoad("30000");
- selenium.clickAt("link=Application Registry", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isTextPresent("Import Applications"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.chooseOkOnNextConfirmation();
- selenium.clickAt("//div[@id='UIApplicationOrganizer']//div[@class='UIControlbar']//div[@class='IconControl ImportIcon']",
- "1,1");
- String autoimport = selenium.getConfirmation();
- System.out.println("!! missing assert !!");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Sign out"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=Sign out");
- }
+public void testSNF_PRL_09() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-AutoImport-");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+System.out.println("--Select \"Application Registry\"");
+selenium.clickAt("link=Application Registry", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isTextPresent("Import Applications"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+System.out.println("--Auto Import");
+assertFalse(selenium.isTextPresent("WSRP Admin Portlet"));
+selenium.clickAt("//div[@id='UIApplicationOrganizer']//div[@class='UIControlbar']//div[@class='IconControl ImportIcon']", "1,1");
+String autoimport = selenium.getConfirmation();
+assertTrue(selenium.isTextPresent("WSRP Admin Portlet"));
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Sign out", "1,1");
+}
- public void testSNF_PRL_10() throws Exception {
- selenium.setSpeed("500");
- selenium.open("/portal/public/classic/");
- selenium.click("link=Sign in");
- selenium.type("username", "root");
- selenium.type("password", "gtn");
- selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
- selenium.waitForPageToLoad("30000");
- selenium.clickAt("link=Application Registry", "1,1");
- selenium.clickAt("//div[@id='UIApplicationOrganizer']//div[@class='UIControlbar']/div[1]",
- "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("name"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.type("name", "category_test");
- selenium.type("displayName", "Category test name");
- selenium.type("description", "category test description");
- selenium.click("//div[@class='WorkingArea']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Add Permission"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.clickAt("link=Add Permission", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Platform"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.clickAt("link=Platform", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=manager"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.clickAt("link=manager", "1,1");
- selenium.clickAt("link=Save", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("//div[@id='UIApplicationOrganizer']//a[@class='ControlIcon EditIcon']"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.clickAt("//div[@id='UIApplicationOrganizer']//a[@class='ControlIcon EditIcon']", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("displayName"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.type("displayName", "category test edit");
- selenium.clickAt("link=Save", "1,1");
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isTextPresent("category test edit"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- for (int second = 0;; second++) {
- if (second >= 30)
- fail("timeout");
- try {
- if (selenium.isElementPresent("link=Sign out"))
- break;
- } catch (Exception e) {
- }
- Thread.sleep(1000);
- }
- selenium.click("link=Sign out");
- }
+public void testSNF_PRL_10() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-CategoryManagement-");
+selenium.click("link=Sign in");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+System.out.println("--Select \"Application Registry\"");
+selenium.clickAt("link=Application Registry", "1,1");
+System.out.println("--Add Category");
+selenium.clickAt("//div[@id='UIApplicationOrganizer']//div[@class='UIControlbar']/div[1]", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("name"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.type("name", "test_name_category_10");
+selenium.type("displayName", "test_displayname_category_10");
+selenium.type("description", "test_description_category_10");
+System.out.println("--Select permissions");
+selenium.click("//div[@class='WorkingArea']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Add Permission"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Add Permission", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Platform"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Platform", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=manager"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=manager", "1,1");
+selenium.clickAt("link=Save", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//div[@id='UIApplicationOrganizer']//a[@class='ControlIcon EditIcon']"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+assertTrue(selenium.isTextPresent("test_displayname_category_10"));
+System.out.println("--Edit Category");
+selenium.clickAt("//div[@id='UIApplicationOrganizer']//a[@class='ControlIcon EditIcon']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("displayName"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.type("displayName", "test_displayname_edit_10");
+selenium.clickAt("link=Save", "1,1");
+assertTrue(selenium.isTextPresent("test_displayname_edit_10"));
+System.out.println("--Delete Category");
+selenium.clickAt("//div[@class='SelectedTab']//a[@class='ControlIcon DeleteIcon']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (selenium.getConfirmation().equals("Are you sure to delete this category and all applications on it?")) {
+break;
+}
+}
+catch (Exception e) {
+}
+Thread.sleep(1000);
+}
+assertFalse(selenium.isTextPresent("test_displayname_edit_10"));
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.click("link=Sign out");
+}
-// public void testSNF_PRL_11() throws Exception {
-// selenium.setSpeed("500");
-// selenium.open("/portal/public/classic/");
-// selenium.click("link=Sign in");
-// selenium.type("username", "root");
-// selenium.type("password", "gtn");
-// selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
-// selenium.waitForPageToLoad("30000");
-// selenium.clickAt("link=Application Registry", "1,1");
-// selenium.clickAt("//div[@class='ListContent']//div[@class='SelectedTab']//a[@class='ControlIcon CreateNewIcon']",
-// "1,1");
-// selenium.clickAt("//input[@name='application' and @value='9']", "1,1");
-// selenium.type("displayName", "test10");
-// selenium.clickAt("css=form#UIAddApplicationForm div.UIAction div.ActionButton", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=category test edit"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=category test edit", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Add Permission"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Add Permission", "1,1");
-// selenium.clickAt("//div[@id='ListPermissionSelector']//a[@title='Organization']", "1,1");
-// selenium.clickAt("link=manager", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isTextPresent("test10"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Sign out"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.click("link=Sign out");
-// }
+public void testSNF_PRL_11() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-AddApplicationToCategory-");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+selenium.clickAt("link=Application Registry", "1,1");
+System.out.println("--Add application to Administration Category");
+selenium.clickAt("//div[@class='ListContent']//div[@class='SelectedTab']//a[@class='ControlIcon CreateNewIcon']", "1,1");
+System.out.println("--Select first application in list");
+selenium.clickAt("//input[@name='application' and @value='1']", "1,1");
+selenium.type("displayName", "test_displayname_11");
+selenium.clickAt("css=form#UIAddApplicationForm div.UIAction div.ActionButton", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//a[@class='TabLabel' and @title='Administration']"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+System.out.println("--Edit category permissions");
+selenium.clickAt("//a[@class='TabLabel' and @title='Administration']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Add Permission"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Add Permission", "1,1");
+selenium.clickAt("//div[@id='ListPermissionSelector']//a[@title='Organization']", "1,1");
+selenium.clickAt("link=manager", "1,1");
+assertTrue(selenium.isTextPresent("test_displayname_11"));
+System.out.println("--Delete application");
+selenium.clickAt("//div[@class='ListContent']//div[@class='UIVTabContent']/div[8]//a[@class='ControlIcon DeletePortalIcon']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (selenium.getConfirmation().equals("Are you sure to delete this application?")) {
+break;
+}
+}
+catch (Exception e) {
+}
+Thread.sleep(1000);
+}
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Sign out", "1,1");
+}
+
+public void testSNF_PRL_12() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-ViewAllPortlets-");
+selenium.click("link=Sign in");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+selenium.clickAt("link=Application Registry", "1,1");
+System.out.println("--Verify details of Administration>>Application Registry");
+selenium.clickAt("//div[@class='UIVerticalSlideTabs']//div[@class='UIVTabContent']//div[1]//a", "1,1");
+assertTrue(selenium.isTextPresent("ApplicationRegistryPortlet"));
+System.out.println("--Verify details of Administration>>Organisation Management");
+selenium.clickAt("//div[@class='UIVerticalSlideTabs']//div[@class='UIVTabContent']//div[2]//a", "1,1");
+assertTrue(selenium.isTextPresent("OrganizationPortlet"));
+System.out.println("--Verify details of Administration>>NewAccount");
+selenium.clickAt("//div[@class='UIVerticalSlideTabs']//div[@class='UIVTabContent']//div[3]//a", "1,1");
+assertTrue(selenium.isTextPresent("AccountPortlet"));
+System.out.println("--Verify details of Dashboard>>Dashboard Portlet");
+selenium.clickAt("//div[@class='UIVerticalSlideTabs']/div[2]//a", "1,1");
+selenium.clickAt("//div[@class='UIVerticalSlideTabs']//div[@class='UIVTabContent']//div[1]//a", "1,1");
+assertTrue(selenium.isTextPresent("DashboardPortlet"));
+System.out.println("--Verify details of Dashboard>>Gadget Wrapper Portlet");
+selenium.clickAt("//div[@class='UIVerticalSlideTabs']//div[@class='UIVTabContent']//div[2]//a", "1,1");
+assertTrue(selenium.isTextPresent("GadgetPortlet"));
+System.out.println("--It is possible to verify all portlets.......");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.click("link=Sign out");
+}
+
+public void testSNF_PRL_13() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-AddGadget-");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+selenium.clickAt("link=Application Registry", "1,1");
+selenium.clickAt("link=Gadget", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//div[@class='UIControlbar']/div[1]"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("//div[@class='UIControlbar']/div[1]", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("url"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.type("url", "http://www.google.com/ig/modules/datetime.xml");
+selenium.clickAt("link=Add", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isTextPresent("Gadget Details"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("//div[@id='UIGadgetInfo']//div[@class='UIBreadcumb']/div[@class='DownLoadIcon ControlIcon']", "1,1");
+System.out.println("https://jira.jboss.org/jira/browse/GTNPORTAL-439");
+assertTrue(selenium.isTextPresent("Gadget Details"));
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Sign out", "1,1");
+}
+
+public void testSNF_PRL_14() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-ImportApplicationIcon-");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+selenium.clickAt("link=Application Registry", "1,1");
+System.out.println("---Have no idea on how to do this");
+selenium.clickAt("link=Edit Page", "1,1");
+selenium.mouseOver("//div[@class='UIComponentBlock']");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Sign out", "1,1");
+}
+
+public void testSNF_PRL_15() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-SiteMapAndLinkToPage-");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+selenium.open("/portal/private/classic/sitemap");
+System.out.println("--Expand the first submenu");
+selenium.clickAt("css=div#UISiteMap div.ExpandIcon", "1,1");
+System.out.println("--Select the first link of submenu");
+selenium.clickAt("css=div#UISiteMap div.ChildrenContainer a", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (!selenium.isElementPresent("css=div#UISiteMap div.ChildrenContainer a"))
+ break;
+ }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Sign out", "1,1");
+}
+
+public void testSNF_PRL_16() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-ExpandAll-");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+selenium.open("/portal/private/classic/sitemap");
+System.out.println("--Expand All");
+selenium.clickAt("//div[@id='UISiteMap']//div[@class='ClearFix']/div[2]", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isTextPresent("Blog"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+assertTrue(selenium.isTextPresent("New Staff"));
+assertTrue(selenium.isTextPresent("Application Registry"));
+assertFalse(selenium.isElementPresent("//div[@class='ExpandIcon FloatLeft']"));
+selenium.clickAt("link=Sign out", "1,1");
+}
+
+public void testSNF_PRL_17() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-CollapseAll-");
+selenium.click("link=Sign in");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+selenium.open("/portal/private/classic/sitemap");
+System.out.println("--Expand SiteMap tree");
+selenium.clickAt("//div[@id='UISiteMap']//div[@class='ClearFix']/div[2]", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isTextPresent("Blog"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+assertTrue(selenium.isTextPresent("New Staff"));
+assertTrue(selenium.isTextPresent("Application Registry"));
+System.out.println("--Collapse SiteMap Tree");
+selenium.clickAt("//div[@id='UISiteMap']//div[@class='ClearFix']/div[1]", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (!selenium.isElementPresent("Blog"))
+ break;
+ }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+assertFalse(selenium.isElementPresent("//div[@class='CollapseIcon FloatLeft']"));
+selenium.click("link=Sign out");
+}
+
+public void testSNF_PRL_18() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-CreateNewPortal-");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+selenium.open("/portal/private/classic/portalnavigation");
+System.out.println("--Add new portal");
+selenium.clickAt("//div[@id='UISiteManagement']//div[@class='UIAction']//div[@class='ActionButton BlueButton']", "1,1");
+System.out.println("--Select portal settings");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']", "1,1");
+selenium.type("name", "test_portal_18");
+System.out.println("--Select permission settings");
+selenium.clickAt("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[4]//div[@class='MiddleTab']", "1,1");
+selenium.clickAt("publicMode", "1,1");
+selenium.clickAt("link=Edit Permission Setting", "1,1");
+selenium.clickAt("link=Select Permission", "1,1");
+selenium.clickAt("link=Platform", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//div[@id='PermissionSelector']//a[@title='Administrators']"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("//div[@id='PermissionSelector']//a[@title='Administrators']", "1,1");
+selenium.clickAt("//div[@id='PermissionSelector']//a[@title='manager']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (!selenium.isElementPresent("Permission Selector"))
+ break;
+ }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("//form[@id='UIPortalForm']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']//div[@class='ButtonMiddle']/a", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isTextPresent("test_portal_18"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+System.out.println("--Verify portal creation");
+assertTrue(selenium.isElementPresent("link=test_portal_18"));
+System.out.println("--Delete new portal");
+selenium.clickAt("link=Site", "1,1");
+assertTrue(selenium.isTextPresent("Portal Navigation"));
+selenium.clickAt("//div[@id='UISiteManagement']/table[2]//a[@class='DeleteIcon']", "1,1");
+assertFalse(selenium.isTextPresent("test_portal_18"));
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (selenium.getConfirmation().equals("Are you sure you want to delete this portal?")) {
+break;
+}
+}
+catch (Exception e) {
+}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Sign out", "1,1");
+}
+
+public void testSNF_PRL_19() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-EditPortalNavigation-");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+selenium.click("link=Site");
+selenium.waitForPageToLoad("30000");
+System.out.println("--Edit Portal layout, currently do not change anything");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Edit Layout"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Edit Layout", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("css=div#Administration/ApplicationRegistryPortlet"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.dragAndDropToObject("css=div#Administration/ApplicationRegistryPortlet","css=div#Administration/ApplicationRegistryPortlet");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//div[@id='UIPortalComposer']//div[@class='OverflowContainer']/a[@class='EdittedSaveButton']"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("//div[@id='UIPortalComposer']//div[@class='OverflowContainer']/a[@class='CloseButton']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isTextPresent("classic"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+System.out.println("--Edit nav: add node, actions ...");
+selenium.clickAt("link=Edit Navigation", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Add Node"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Add Node", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("name"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.type("name", "test_nodename_19");
+selenium.type("label", "test_node_label_19");
+System.out.println("--Select Page");
+selenium.clickAt("css=div#UISiteManagement > div.UIPopupWindow div.TabsContainer div.NormalTab div.MiddleTab", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Search and Select Page"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Search and Select Page", "1,1");
+System.out.println("--Select the first page");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//div[@id='UIRepeater']//table//tbody/tr/td[5]/div[@class='ActionContainer']/img"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.click("//div[@id='UIRepeater']//table//tbody/tr/td[5]/div[@class='ActionContainer']/img");
+System.out.println("--Save");
+selenium.clickAt("link=Save", "1,1");
+selenium.clickAt("link=Save", "1,1");
+System.out.println("--Edit Portal Properties");
+selenium.clickAt("link=Edit Portal's Properties", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//div[@id='UIMaskWorkspace']//div[3]//div[@class='MiddleTab']"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("//div[@id='UIMaskWorkspace']//div[3]//div[@class='MiddleTab']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Edit Permission Setting"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Edit Permission Setting", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Select Permission"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Select Permission", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Platform"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Platform", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Administrators"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Administrators", "1,1");
+selenium.clickAt("//div[@id='PermissionSelector']//div[2]/a", "1,1");
+selenium.clickAt("//form[@id='UIPortalForm']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']", "1,1");
+selenium.open("/portal/private/classic/");
+System.out.println("--Select new node");
+selenium.clickAt("link=test_node_label_19", "1,1");
+assertTrue(selenium.isElementPresent("//div[@class='SelectedNavigationTab']//a"));
+selenium.clickAt("link=Site", "1,1");
+selenium.clickAt("link=Edit Navigation", "1,1");
+selenium.click("link=Delete Node");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (selenium.getConfirmation().equals("Are you sure you want to delete this node?")) {
+break;
+}
+}
+catch (Exception e) {
+}
+Thread.sleep(1000);
+}
+selenium.click("link=Save");
+System.out.println("--Verify Deletion");
+selenium.click("link=Home");
+assertFalse(selenium.isTextPresent("test_node_label_19"));
+selenium.clickAt("link=Sign out", "1,1");
+}
+
+public void testSNF_PRL_20() throws Exception {
+selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-DeletePortal-");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+selenium.clickAt("link=Site", "1,1");
+System.out.println("--Add new portal");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Add New Portal"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Add New Portal", "1,1");
+selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'PortalSetting');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=PortalSetting')\"]", "1,1");
+selenium.type("name", "test_portal_name_20");
+selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'Properties');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=Properties')\"]", "1,1");
+selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'PermissionSetting');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=PermissionSetting')\"]", "1,1");
+selenium.clickAt("publicMode", "1,1");
+selenium.clickAt("link=Edit Permission Setting", "1,1");
+selenium.clickAt("link=Select Permission", "1,1");
+selenium.clickAt("link=Platform", "1,1");
+selenium.clickAt("link=Platform", "1,1");
+selenium.clickAt("link=exact:*", "1,1");
+selenium.clickAt("link=Save", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+assertTrue(selenium.isTextPresent("test_portal_name_20"));
+System.out.println("--Delete portal");
+selenium.click("//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]");
+selenium.waitForPageToLoad("30000");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (selenium.getConfirmation().equals("Are you sure you want to delete this portal?")) {
+break;
+}
+}
+catch (Exception e) {
+}
+Thread.sleep(1000);
+}
+assertFalse(selenium.isTextPresent("test_portal_name_20"));
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Sign out", "1,1");
+}
+
+//public void testSNF_PRL_21() throws Exception {
+//selenium.setSpeed("500");
+//selenium.open("/portal/public/classic/");
+//System.out.println("-ChangePortal-");
+//selenium.clickAt("link=Sign in", "1,1");
+//selenium.type("username", "root");
+//selenium.type("password", "gtn");
+//selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+//selenium.waitForPageToLoad("30000");
+//selenium.clickAt("link=Site", "1,1");
+//System.out.println("--Add new portal");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Add New Portal"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Add New Portal", "1,1");
+//selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'PortalSetting');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=PortalSetting')\"]", "1,1");
+//selenium.type("name", "test_portal_name_21");
+//selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'Properties');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=Properties')\"]", "1,1");
+//selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'PermissionSetting');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=PermissionSetting')\"]", "1,1");
+//selenium.clickAt("publicMode", "1,1");
+//selenium.clickAt("link=Edit Permission Setting", "1,1");
+//selenium.clickAt("link=Select Permission", "1,1");
+//selenium.clickAt("link=Platform", "1,1");
+//selenium.clickAt("link=Platform", "1,1");
+//selenium.clickAt("link=exact:*", "1,1");
+//selenium.clickAt("link=Save", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//assertTrue(selenium.isTextPresent("test_portal_name_21"));
+//System.out.println("--View new portal");
+//selenium.clickAt("link=test_portal_name_21", "1,1");
+//}
//
-// public void testSNF_PRL_13() throws Exception {
-// selenium.setSpeed("500");
-// selenium.clickAt("link=Gadget", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@class='UIControlbar']/div[1]"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@class='UIControlbar']/div[1]", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("url"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.type("url", "http://www.google.com/ig/modules/colorjunction.xml");
-// selenium.clickAt("link=Add", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isTextPresent("Gadget Details"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='UIGadgetInfo']//div[@class='UIBreadcumb']/div[@class='DownLoadIcon ControlIcon']",
-// "1,1");
-// System.out.println("https://jira.jboss.org/jira/browse/GTNPORTAL-439");
-// assertTrue(selenium.isTextPresent("Gadget Details"));
-// }
+//public void testSNF_PRL_22() throws Exception {
+//selenium.setSpeed("500");
+//selenium.open("/portal/private/classic/");
+//selenium.click("link=Site");
+//selenium.waitForPageToLoad("30000");
+//selenium.clickAt("link=Edit Layout", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Portal Properties"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Portal Properties", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("locale"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.select("locale", "label=French (France)");
+//selenium.click("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']//div[3]//div[@class='MiddleTab']");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("publicMode"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.click("publicMode");
+//selenium.clickAt("link=Edit Permission Setting", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Select Permission"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Select Permission", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Platform"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Platform", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Users"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Users", "1,1");
+//selenium.clickAt("link=exact:*", "1,1");
+//selenium.clickAt("link=Save", "1,1");
+//selenium.clickAt("//div[@id='UIPortalComposer']//a[@class='EdittedSaveButton']", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=classic"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=classic", "1,1");
+//}
//
-// public void testSNF_PRL_15() throws Exception {
-// selenium.setSpeed("500");
-// selenium.type("username", "root");
-// selenium.type("password", "gtn");
-// selenium.click("link=Sign in");
-// selenium.waitForPageToLoad("30000");
-// selenium.open("/portal/private/classic/sitemap");
-// selenium.clickAt("//div[@id='UISiteMap']//div[@class='ClearFix']/div[2]", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isTextPresent("Blog"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// assertTrue(selenium.isTextPresent("New Staff"));
-// assertTrue(selenium.isTextPresent("Application Registry"));
-// selenium.clickAt("//div[@id='UISiteMap']//div[@class='ClearFix']/div[1]", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (!selenium.isElementPresent("Blog"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("css=div#UISiteMap div.ExpandIcon", "1,1");
-// selenium.clickAt("css=div#UISiteMap div.ChildrenContainer a", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (!selenium.isElementPresent("css=div#UISiteMap div.ChildrenContainer a"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// }
+//public void testSNF_PRL_23() throws Exception {
+//selenium.setSpeed("500");
+//selenium.click("link=Sign in");
+//selenium.type("username", "root");
+//selenium.type("password", "gtn");
+//selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div/a");
+//selenium.waitForPageToLoad("30000");
+//selenium.open("/portal/private/classic/");
+//selenium.click("link=Group");
+//selenium.waitForPageToLoad("30000");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Add Navigation"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Add Navigation", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Cancel"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Cancel", "1,1");
+//selenium.clickAt("link=Edit Navigation", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Add Node"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Add Node", "1,1");
+//selenium.type("name", "grp_node");
+//selenium.type("label", "new_grp_node");
+//selenium.clickAt("//div[@class='CenterHorizontalTabs']//div[@class='NormalTab']//div[@class='MiddleTab']", "1,1");
+//selenium.clickAt("link=Search and Select Page", "1,1");
+//selenium.clickAt("//div[@id='UIRepeater']//img[@class='SelectPageIcon']", "1,1");
+//selenium.clickAt("link=Save", "1,1");
+//selenium.clickAt("link=Save", "1,1");
+//selenium.check("//a[@onclick='eXo.portal.logout();']");
+//selenium.waitForPageToLoad("30000");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=new_grp_node"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.click("link=new_grp_node");
+//selenium.waitForPageToLoad("30000");
+//}
//
-// public void testSNF_PRL_18() throws Exception {
-// selenium.setSpeed("500");
-// selenium.type("username", "root");
-// selenium.type("password", "gtn");
-// selenium.click("link=Sign in");
-// selenium.waitForPageToLoad("30000");
-// selenium.open("/portal/private/classic/portalnavigation");
-// selenium.clickAt("//div[@id='UISiteManagement']//div[@class='UIAction']//div[@class='ActionButton BlueButton']",
-// "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.click("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']");
-// selenium.type("name", "New_portal");
-// selenium.click("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[4]//div[@class='MiddleTab']");
-// selenium.click("publicMode");
-// selenium.clickAt("link=Edit Permission Setting", "1,1");
-// selenium.clickAt("link=Select Permission", "1,1");
-// selenium.clickAt("link=Platform", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='PermissionSelector']//a[@title='Administrators']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='PermissionSelector']//a[@title='Administrators']", "1,1");
-// selenium.clickAt("//div[@id='PermissionSelector']//a[@title='manager']", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (!selenium.isElementPresent("Permission Selector"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//form[@id='UIPortalForm']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']//div[@class='ButtonMiddle']/a",
-// "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isTextPresent("New_portal"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// }
+//public void testSNF_PRL_24() throws Exception {
+//selenium.setSpeed("500");
+//selenium.open("/portal/private/classic/");
+//selenium.click("link=Group");
+//selenium.waitForPageToLoad("30000");
+//selenium.clickAt("//a[@class='EditProIcon']", "1,1");
+//selenium.type("description", "more and more");
+//selenium.clickAt("link=Save", "1,1");
+//assertTrue(selenium.isTextPresent(""));
+//}
//
-// public void testSNF_PRL_19() throws Exception {
-// selenium.setSpeed("500");
-// selenium.click("link=Sign in");
-// selenium.type("username", "root");
-// selenium.type("password", "gtn");
-// selenium.open("/portal/private/classic/");
-// selenium.click("link=Site");
-// selenium.waitForPageToLoad("30000");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Edit Layout"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Edit Layout", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("css=div#Administration/ApplicationRegistryPortlet"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.dragAndDropToObject("css=div#Administration/ApplicationRegistryPortlet",
-// "css=div#Administration/ApplicationRegistryPortlet");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIPortalComposer']//div[@class='OverflowContainer']/a[@class='EdittedSaveButton']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='UIPortalComposer']//div[@class='OverflowContainer']/a[@class='EdittedSaveButton']",
-// "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isTextPresent("classic"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Edit Navigation", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Add Node"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Add Node", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("name"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.type("name", "Node_test");
-// selenium.type("label", "New node");
-// selenium.clickAt("css=div#UISiteManagement > div.UIPopupWindow div.TabsContainer div.NormalTab div.MiddleTab",
-// "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Search and Select Page"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Search and Select Page", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIRepeater']//table//tbody/tr/td[5]/div[@class='ActionContainer']/img"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.click("//div[@id='UIRepeater']//table//tbody/tr/td[5]/div[@class='ActionContainer']/img");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("link=Edit Portal's Properties", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIMaskWorkspace']//div[3]//div[@class='MiddleTab']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='UIMaskWorkspace']//div[3]//div[@class='MiddleTab']", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Edit Permission Setting"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Edit Permission Setting", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Select Permission"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Select Permission", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Platform"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Platform", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Administrators"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Administrators", "1,1");
-// selenium.clickAt("link=Platform", "1,1");
-// selenium.clickAt("link=Administrators", "1,1");
-// selenium.clickAt("//div[@id='PermissionSelector']//div[2]/a", "1,1");
-// selenium.clickAt("//form[@id='UIPortalForm']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']",
-// "1,1");
-// selenium.open("/portal/private/classic/");
-// selenium.clickAt("link=New node", "1,1");
-// }
+//public void testSNF_PRL_25() throws Exception {
+//selenium.setSpeed("500");
+//selenium.open("/portal/private/classic/");
+//selenium.click("link=Group");
+//selenium.waitForPageToLoad("30000");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Edit Navigation"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Edit Navigation", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Add Node"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Add Node", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("name"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.type("name", "Hihizzz");
+//selenium.type("label", "Hohohozzz");
+//selenium.clickAt("css=div#UIGroupNavigationManagement div.UIPopupWindow div.TabsContainer div.NormalTab div.MiddleTab", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Search and Select Page"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Search and Select Page", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//img[@title='Select Page']"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("//img[@title='Select Page']", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Save"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Save", "1,1");
+//selenium.clickAt("link=Save", "1,1");
+//selenium.clickAt("link=Hohohozzz", "1,1");
+//selenium.open("/portal/private/classic/");
+//}
//
-// public void testSNF_PRL_20() throws Exception {
-// selenium.setSpeed("500");
-// selenium.open("/portal/private/classic/");
-// selenium.clickAt("link=Site", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Add New Portal"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Add New Portal", "1,1");
-// selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'PortalSetting');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=PortalSetting')\"]",
-// "1,1");
-// selenium.type("name", "Haha");
-// selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'Properties');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=Properties')\"]",
-// "1,1");
-// selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'PermissionSetting');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=PermissionSetting')\"]",
-// "1,1");
-// selenium.clickAt("publicMode", "1,1");
-// selenium.clickAt("link=Edit Permission Setting", "1,1");
-// selenium.clickAt("link=Select Permission", "1,1");
-// selenium.clickAt("link=Platform", "1,1");
-// selenium.clickAt("link=Platform", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@class='CollapseIcon']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=exact:*", "1,1");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("link=Save", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.click("//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]");
-// selenium.waitForPageToLoad("30000");
-// assertFalse(selenium.isTextPresent("Haha"));
-// }
+//public void testSNF_PRL_27_1() throws Exception {
+//selenium.setSpeed("500");
+//selenium.open("/portal/private/classic/");
+//selenium.clickAt("link=Page Management", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='UIPageBrowser']"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Add New Page", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("pageName"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.type("pageName", "newpage21211");
+//selenium.type("pageDisplayName", "new page21211");
+//selenium.clickAt("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]", "1,1");
+//selenium.clickAt("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='Administration/AccountPortlet']"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=View Page properties", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isTextPresent("Show Max Window"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("//div[@id='UIMaskWorkspace']//div[3]//div[@class='MiddleTab']", "1,1");
+//selenium.clickAt("link=Edit Permission Setting", "1,1");
+//selenium.clickAt("link=Cancel", "1,1");
+//selenium.clickAt("//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//img[@alt='']"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Edit Page", "1,1");
+//selenium.clickAt("link=View Page properties", "1,1");
+//selenium.clickAt("//div[@id='UIMaskWorkspace']//div[3]//div[@class='MiddleTab']", "1,1");
+//selenium.clickAt("link=Add Permission", "1,1");
+//selenium.clickAt("link=Platform", "1,1");
+//selenium.clickAt("link=Administrators", "1,1");
+//selenium.clickAt("//div[@id='UIPageFormPopupGroupMembershipSelector']//div[@class='MembershipSelector']//a", "1,1");
+//selenium.clickAt("link=Save", "1,1");
+//selenium.clickAt("//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]", "1,1");
+//}
//
-// public void testSNF_PRL_21() throws Exception {
-// selenium.setSpeed("500");
-// selenium.open("/portal/private/classic/");
-// selenium.click("link=New_portal");
-// selenium.waitForPageToLoad("30000");
-// selenium.open("/portal/private/classic/portalnavigation");
-// selenium.click("link=New_portal");
-// selenium.waitForPageToLoad("30000");
-// selenium.clickAt("link=New_portal", "1,1");
-// }
+//public void testSNF_PRL_27_2() throws Exception {
+//selenium.setSpeed("500");
+//selenium.type("username", "root");
+//selenium.type("password", "gtn");
+//selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+//selenium.waitForPageToLoad("30000");
+//selenium.click("link=Group");
+//selenium.waitForPageToLoad("30000");
+//selenium.open("/portal/private/classic/");
+//selenium.clickAt("link=Edit Layout", "1,1");
+//selenium.clickAt("link=Portal Properties", "1,1");
+//selenium.select("locale", "label=English");
+//selenium.clickAt("//div[@id='UIMaskWorkspace']//div[3]//div[@class='MiddleTab']", "1,1");
+//selenium.clickAt("publicMode", "1,1");
+//selenium.clickAt("link=Edit Permission Setting", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isTextPresent("Current Permission"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Select Permission", "1,1");
+//selenium.click("link=Select Permission");
+//selenium.clickAt("//div[@id='PermissionSelector']/div/div[2]/div/div[2]/div/div/div[1]/a", "1,1");
+//selenium.clickAt("link=Platform", "1,1");
+//selenium.clickAt("link=exact:*", "1,1");
+//selenium.clickAt("//div[@id='UIPortalComposer']/div[1]/div/div/div/a[2]", "1,1");
+//selenium.clickAt("link=Save", "1,1");
+//}
//
-// public void testSNF_PRL_22() throws Exception {
-// selenium.setSpeed("500");
-// selenium.open("/portal/private/classic/");
-// selenium.click("link=Site");
-// selenium.waitForPageToLoad("30000");
-// selenium.clickAt("link=Edit Layout", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Portal Properties"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Portal Properties", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("locale"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.select("locale", "label=French (France)");
-// selenium.click("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']//div[3]//div[@class='MiddleTab']");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("publicMode"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.click("publicMode");
-// selenium.clickAt("link=Edit Permission Setting", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Select Permission"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Select Permission", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Platform"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Platform", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Users"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Users", "1,1");
-// selenium.clickAt("link=exact:*", "1,1");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("//div[@id='UIPortalComposer']//a[@class='EdittedSaveButton']", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=classic"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=classic", "1,1");
-// }
+//public void testSNF_PRL_28() throws Exception {
+//selenium.setSpeed("500");
+//selenium.type("username", "root");
+//selenium.type("password", "gtn");
+//selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+//selenium.waitForPageToLoad("30000");
+//selenium.open("/portal/private/classic/");
+//selenium.clickAt("link=Dashboard", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Add Gadgets"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Add Gadgets", "1,1");
+//selenium.type("//input[@id='url']", "http://hosting.gmodules.com/ig/gadgets/file/112581010116074801021/treefro...");
+//selenium.clickAt("//img[@class='AddNewNodeIcon']", "1,1");
+//selenium.clickAt("//div[@id='UIAddGadgetPopup']//div[@class='CloseButton']", "1,1");
+//}
//
-// public void testSNF_PRL_23() throws Exception {
-// selenium.setSpeed("500");
-// selenium.click("link=Sign in");
-// selenium.type("username", "root");
-// selenium.type("password", "gtn");
-// selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div/a");
-// selenium.waitForPageToLoad("30000");
-// selenium.open("/portal/private/classic/");
-// selenium.click("link=Group");
-// selenium.waitForPageToLoad("30000");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Add Navigation"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Add Navigation", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Cancel"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Cancel", "1,1");
-// selenium.clickAt("link=Edit Navigation", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Add Node"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Add Node", "1,1");
-// selenium.type("name", "grp_node");
-// selenium.type("label", "new_grp_node");
-// selenium.clickAt("//div[@class='CenterHorizontalTabs']//div[@class='NormalTab']//div[@class='MiddleTab']",
-// "1,1");
-// selenium.clickAt("link=Search and Select Page", "1,1");
-// selenium.clickAt("//div[@id='UIRepeater']//img[@class='SelectPageIcon']", "1,1");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.check("//a[@onclick='eXo.portal.logout();']");
-// selenium.waitForPageToLoad("30000");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=new_grp_node"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.click("link=new_grp_node");
-// selenium.waitForPageToLoad("30000");
-// }
+//public void testSNF_PRL_29() throws Exception {
+//selenium.setSpeed("500");
+//selenium.type("username", "root");
+//selenium.type("password", "gtn");
+//selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+//selenium.waitForPageToLoad("30000");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Add New Page"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Add New Page", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("pageName"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.type("pageName", "dashboardpage12");
+//selenium.type("pageDisplayName", "dashboard new page12");
+//selenium.clickAt("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]", "1,1");
+//selenium.clickAt("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]", "1,1");
+//selenium.clickAt("//div[@onclick='eXo.portal.UIPortal.toggleComposer(this)']", "1,1");
+//selenium.click("//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]");
+//assertTrue(selenium.isTextPresent("dashboard new page"));
+//selenium.clickAt("link=Edit Page", "1,1");
+//selenium.clickAt("link=View Page properties", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("title"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.type("title", "new dashboard");
+//selenium.clickAt("link=Save", "1,1");
+//selenium.clickAt("//div[@id='UIPageEditor']//div[@class='OverflowContainer']/a[@class='EdittedSaveButton']", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Edit Layout"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Edit Layout", "1,1");
+//selenium.clickAt("link=Portal Properties", "1,1");
+//selenium.select("locale", "label=English");
+//selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'Properties');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=Properties')\"]", "1,1");
+//selenium.clickAt("link=Save", "1,1");
+//selenium.clickAt("//div[@id='UIPortalComposer']//a[@class='EdittedSaveButton']", "1,1");
+//}
//
-// public void testSNF_PRL_24() throws Exception {
-// selenium.setSpeed("500");
-// selenium.open("/portal/private/classic/");
-// selenium.click("link=Group");
-// selenium.waitForPageToLoad("30000");
-// selenium.clickAt("//a[@class='EditProIcon']", "1,1");
-// selenium.type("description", "more and more");
-// selenium.clickAt("link=Save", "1,1");
-// assertTrue(selenium.isTextPresent(""));
-// }
+//public void testSNF_PRL_30() throws Exception {
+//selenium.setSpeed("500");
+//selenium.open("/portal/private/classic/");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Add New Page"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Add New Page", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='UIPageNodeSelector']//div[@class='HomeNode']/a"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("//div[@id='UIPageNodeSelector']//div[@class='HomeNode']/a", "1,1");
+//selenium.type("pageName", "test9");
+//selenium.type("pageDisplayName", "test9");
+//selenium.clickAt("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=View Page properties"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=View Page properties", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("title"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.type("title", "test9_changed");
+//selenium.clickAt("link=Save", "1,1");
+//selenium.clickAt("css=a.EdittedSaveButton", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Edit Page"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Edit Page", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=View Page properties"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=View Page properties", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("title"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//assertEquals("test9_changed", selenium.getValue("title"));
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[3]//div[@class='MiddleTab']"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[3]//div[@class='MiddleTab']", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("publicMode"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("publicMode", "1,1");
+//selenium.clickAt("link=Add Permission", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Platform"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Platform", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Administrators"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Administrators", "1,1");
+//selenium.clickAt("link=exact:*", "1,1");
+//selenium.clickAt("link=Edit Permission Setting", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Select Permission"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Select Permission", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Platform"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Platform", "1,1");
+//selenium.clickAt("//div[@id='PermissionSelector']//div[@class='MembershipSelector']//div[@class='OverflowContainer']/div[3]/a", "1,1");
+//selenium.clickAt("link=Save", "1,1");
+//selenium.clickAt("//div[@id='UIPageEditor']//div[@class='TLPortalComposer']//div[@class='OverflowContainer']/a[@class='EdittedSaveButton']", "1,1");
+//assertTrue(selenium.isTextPresent("test9"));
+//selenium.open("/portal/private/classic/");
+//}
//
-// public void testSNF_PRL_25() throws Exception {
-// selenium.setSpeed("500");
-// selenium.open("/portal/private/classic/");
-// selenium.click("link=Group");
-// selenium.waitForPageToLoad("30000");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Edit Navigation"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Edit Navigation", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Add Node"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Add Node", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("name"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.type("name", "Hihizzz");
-// selenium.type("label", "Hohohozzz");
-// selenium.clickAt("css=div#UIGroupNavigationManagement div.UIPopupWindow div.TabsContainer div.NormalTab div.MiddleTab",
-// "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Search and Select Page"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Search and Select Page", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//img[@title='Select Page']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//img[@title='Select Page']", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Save"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("link=Hohohozzz", "1,1");
-// selenium.open("/portal/private/classic/");
-// }
+//public void testSNF_PRL_31() throws Exception {
+//selenium.setSpeed("500");
+//selenium.click("link=Sign in");
+//selenium.type("username", "root");
+//selenium.type("password", "gtn");
+//selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div/a");
+//selenium.waitForPageToLoad("30000");
+//selenium.open("/portal/private/classic/");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Change Language"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Change Language", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=French"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=French", "1,1");
+//selenium.click("link=Apply");
+//selenium.waitForPageToLoad("30000");
+//assertTrue(selenium.isTextPresent("Accueil"));
+//selenium.clickAt("link=Changer la langue", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=anglais"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=anglais", "1,1");
+//selenium.click("link=Appliquer");
+//selenium.waitForPageToLoad("30000");
+//assertTrue(selenium.isTextPresent("Home"));
+//}
//
-// public void testSNF_PRL_27_1() throws Exception {
-// selenium.setSpeed("500");
-// selenium.open("/portal/private/classic/");
-// selenium.clickAt("link=Page Management", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIPageBrowser']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Add New Page", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("pageName"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.type("pageName", "newpage21211");
-// selenium.type("pageDisplayName", "new page21211");
-// selenium.clickAt("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]", "1,1");
-// selenium.clickAt("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='Administration/AccountPortlet']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=View Page properties", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isTextPresent("Show Max Window"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='UIMaskWorkspace']//div[3]//div[@class='MiddleTab']", "1,1");
-// selenium.clickAt("link=Edit Permission Setting", "1,1");
-// selenium.clickAt("link=Cancel", "1,1");
-// selenium.clickAt("//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//img[@alt='']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Edit Page", "1,1");
-// selenium.clickAt("link=View Page properties", "1,1");
-// selenium.clickAt("//div[@id='UIMaskWorkspace']//div[3]//div[@class='MiddleTab']", "1,1");
-// selenium.clickAt("link=Add Permission", "1,1");
-// selenium.clickAt("link=Platform", "1,1");
-// selenium.clickAt("//div[@id='UIPageFormPopupGroupMembershipSelector']//div[@class='MembershipSelector']//a",
-// "1,1");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]", "1,1");
-// }
+//public void testSNF_PRL_32() throws Exception {
+//selenium.setSpeed("500");
+//selenium.click("link=Sign in");
+//selenium.type("username", "root");
+//selenium.type("password", "gtn");
+//selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div/a");
+//selenium.waitForPageToLoad("30000");
+//selenium.open("/portal/private/classic/");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Change Skin"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Change Skin", "1,1");
+//selenium.clickAt("//div[@id='UITabContent']//div[@class='ItemListContainer']//div[@class='ItemList']//div[@class='SelectedItem Item']", "1,1");
+//selenium.clickAt("//div[@id='UIMaskWorkspace']//div[@class='ActionButton LightBlueStyle']", "1,1");
+//selenium.waitForPageToLoad("30000");
+//}
//
-// public void testSNF_PRL_27_2() throws Exception {
-// selenium.setSpeed("500");
-// selenium.type("username", "root");
-// selenium.type("password", "gtn");
-// selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
-// selenium.waitForPageToLoad("30000");
-// selenium.click("link=Group");
-// selenium.waitForPageToLoad("30000");
-// selenium.open("/portal/private/classic/");
-// selenium.clickAt("link=Edit Layout", "1,1");
-// selenium.clickAt("link=Portal Properties", "1,1");
-// selenium.select("locale", "label=English");
-// selenium.clickAt("//div[@id='UIMaskWorkspace']//div[3]//div[@class='MiddleTab']", "1,1");
-// selenium.clickAt("publicMode", "1,1");
-// selenium.clickAt("link=Edit Permission Setting", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isTextPresent("Current Permission"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Select Permission", "1,1");
-// selenium.click("link=Select Permission");
-// selenium.clickAt("//div[@id='PermissionSelector']/div/div[2]/div/div[2]/div/div/div[1]/a",
-// "1,1");
-// selenium.clickAt("link=Platform", "1,1");
-// selenium.clickAt("link=exact:*", "1,1");
-// selenium.clickAt("//div[@id='UIPortalComposer']/div[1]/div/div/div/a[2]", "1,1");
-// selenium.clickAt("link=Save", "1,1");
-// }
+//public void testSNF_PRL_34() throws Exception {
+//selenium.setSpeed("500");
+//selenium.click("link=Sign in");
+//selenium.type("username", "root");
+//selenium.type("password", "gtn");
+//selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div/a");
+//selenium.waitForPageToLoad("30000");
+//selenium.open("/portal/private/classic/");
+//selenium.clickAt("link=Root Root", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("email"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.type("email", "mytest.exo10(a)gmail.com");
+//selenium.type("lastName", "Root");
+//selenium.clickAt("link=Save", "1,1");
+//selenium.clickAt("link=OK", "1,1");
+//selenium.clickAt("link=Close", "1,1");
+//}
//
-// public void testSNF_PRL_28() throws Exception {
-// selenium.setSpeed("500");
-// selenium.type("username", "root");
-// selenium.type("password", "gtn");
-// selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
-// selenium.waitForPageToLoad("30000");
-// selenium.open("/portal/private/classic/");
-// selenium.clickAt("link=Dashboard", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Add Gadgets"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Add Gadgets", "1,1");
-// selenium.type("//input[@id='url']",
-// "http://hosting.gmodules.com/ig/gadgets/file/112581010116074801021/treefro...");
-// selenium.clickAt("//img[@class='AddNewNodeIcon']", "1,1");
-// selenium.clickAt("//div[@id='UIAddGadgetPopup']//div[@class='CloseButton']", "1,1");
-// }
-//
-// public void testSNF_PRL_29() throws Exception {
-// selenium.setSpeed("500");
-// selenium.type("username", "root");
-// selenium.type("password", "gtn");
-// selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
-// selenium.waitForPageToLoad("30000");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Add New Page"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Add New Page", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("pageName"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.type("pageName", "dashboardpage12");
-// selenium.type("pageDisplayName", "dashboard new page12");
-// selenium.clickAt("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]", "1,1");
-// selenium.clickAt("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]", "1,1");
-// selenium.clickAt("//div[@onclick='eXo.portal.UIPortal.toggleComposer(this)']", "1,1");
-// selenium.click("//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]");
-// assertTrue(selenium.isTextPresent("dashboard new page"));
-// selenium.clickAt("link=Edit Page", "1,1");
-// selenium.clickAt("link=View Page properties", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("title"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.type("title", "new dashboard");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("//div[@id='UIPageEditor']//div[@class='OverflowContainer']/a[@class='EdittedSaveButton']",
-// "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Edit Layout"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Edit Layout", "1,1");
-// selenium.clickAt("link=Portal Properties", "1,1");
-// selenium.select("locale", "label=English");
-// selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'Properties');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=Properties')\"]",
-// "1,1");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("//div[@id='UIPortalComposer']//a[@class='EdittedSaveButton']", "1,1");
-// }
-//
-// public void testSNF_PRL_30() throws Exception {
-// selenium.setSpeed("500");
-// selenium.open("/portal/private/classic/");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Add New Page"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Add New Page", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIPageNodeSelector']//div[@class='HomeNode']/a"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='UIPageNodeSelector']//div[@class='HomeNode']/a", "1,1");
-// selenium.type("pageName", "test9");
-// selenium.type("pageDisplayName", "test9");
-// selenium.clickAt("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='UIPageCreationWizard']//div[@class='UIAction']//div[2]", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=View Page properties"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=View Page properties", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("title"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.type("title", "test9_changed");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("css=a.EdittedSaveButton", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Edit Page"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Edit Page", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=View Page properties"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=View Page properties", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("title"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// assertEquals("test9_changed", selenium.getValue("title"));
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[3]//div[@class='MiddleTab']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[3]//div[@class='MiddleTab']",
-// "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("publicMode"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("publicMode", "1,1");
-// selenium.clickAt("link=Add Permission", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Platform"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Platform", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Administrators"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Administrators", "1,1");
-// selenium.clickAt("link=exact:*", "1,1");
-// selenium.clickAt("link=Edit Permission Setting", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Select Permission"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Select Permission", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Platform"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Platform", "1,1");
-// selenium.clickAt("//div[@id='PermissionSelector']//div[@class='MembershipSelector']//div[@class='OverflowContainer']/div[3]/a",
-// "1,1");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("//div[@id='UIPageEditor']//div[@class='TLPortalComposer']//div[@class='OverflowContainer']/a[@class='EdittedSaveButton']",
-// "1,1");
-// assertTrue(selenium.isTextPresent("test9"));
-// selenium.open("/portal/private/classic/");
-// }
-//
-// public void testSNF_PRL_31() throws Exception {
-// selenium.setSpeed("500");
-// selenium.click("link=Sign in");
-// selenium.type("username", "root");
-// selenium.type("password", "gtn");
-// selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div/a");
-// selenium.waitForPageToLoad("30000");
-// selenium.open("/portal/private/classic/");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Change Language"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Change Language", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=French"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=French", "1,1");
-// selenium.click("link=Apply");
-// selenium.waitForPageToLoad("30000");
-// assertTrue(selenium.isTextPresent("Accueil"));
-// selenium.clickAt("link=Changer la langue", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=anglais"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=anglais", "1,1");
-// selenium.click("link=Appliquer");
-// selenium.waitForPageToLoad("30000");
-// assertTrue(selenium.isTextPresent("Home"));
-// }
-//
-// public void testSNF_PRL_32() throws Exception {
-// selenium.setSpeed("500");
-// selenium.click("link=Sign in");
-// selenium.type("username", "root");
-// selenium.type("password", "gtn");
-// selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div/a");
-// selenium.waitForPageToLoad("30000");
-// selenium.open("/portal/private/classic/");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Change Skin"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Change Skin", "1,1");
-// selenium.clickAt("//div[@id='UITabContent']//div[@class='ItemListContainer']//div[@class='ItemList']//div[@class='SelectedItem Item']",
-// "1,1");
-// selenium.clickAt("//div[@id='UIMaskWorkspace']//div[@class='ActionButton LightBlueStyle']",
-// "1,1");
-// selenium.waitForPageToLoad("30000");
-// }
-//
-// public void testSNF_PRL_34() throws Exception {
-// selenium.setSpeed("500");
-// selenium.click("link=Sign in");
-// selenium.type("username", "root");
-// selenium.type("password", "gtn");
-// selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div/a");
-// selenium.waitForPageToLoad("30000");
-// selenium.open("/portal/private/classic/");
-// selenium.clickAt("link=Root Root", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("email"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.type("email", "mytest.exo10(a)gmail.com");
-// selenium.type("lastName", "Root");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("link=OK", "1,1");
-// selenium.clickAt("link=Close", "1,1");
-// }
-//
-// public void testSNF_PRL_35() throws Exception {
-// selenium.setSpeed("500");
-// selenium.type("username", "root");
-// selenium.type("password", "gtn");
-// selenium.clickAt("link=Sign in", "1,1");
-// selenium.open("/portal/private/classic/administration/pageManagement");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIPageBrowser']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='UIPageBrowser']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']",
-// "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("name"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.type("name", "user_page1");
-// selenium.type("title", "user_page_title1");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("//div[@id='UIPageBrowser']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']",
-// "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIMaskWorkspace']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.select("ownerType", "label=portal");
-// selenium.type("name", "portal_page1");
-// selenium.type("title", "portal_page_title1");
-// selenium.clickAt("link=Save", "1,1");
-// selenium.clickAt("//div[@id='UIPageBrowser']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']",
-// "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIMaskWorkspace']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.select("ownerType", "label=group");
-// selenium.clickAt("//option[@value='group']", "1,1");
-// selenium.type("name", "group_page1");
-// selenium.type("title", "group_page_title1");
-// selenium.clickAt("link=Save", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIRepeater']//img[@class='EditInfoIcon']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='UIRepeater']//img[@class='EditInfoIcon']", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIPageEditor']//div[@class='PageProfileIcon']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='UIPageEditor']//div[@class='PageProfileIcon']", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']//div[3]//div[@class='MiddleTab']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']//div[3]//div[@class='MiddleTab']",
-// "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIListPermissionSelector']//input[@class='checkbox']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='UIListPermissionSelector']//input[@class='checkbox']", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("link=Save"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("link=Save", "1,1");
-// for (int second = 0;; second++) {
-// if (second >= 30)
-// fail("timeout");
-// try {
-// if (selenium.isElementPresent("//div[@id='UIPageEditor']//div[@class='OverflowContainer']/a[@class='EdittedSaveButton']"))
-// break;
-// } catch (Exception e) {
-// }
-// Thread.sleep(1000);
-// }
-// selenium.clickAt("//div[@id='UIPageEditor']//div[@class='OverflowContainer']/a[@class='EdittedSaveButton']",
-// "1,1");
-// assertTrue(selenium.isTextPresent("user_page_title1"));
-// assertTrue(selenium.isTextPresent("group_page_title1"));
-// assertTrue(selenium.isTextPresent("portal_page_title1"));
-// }
+//public void testSNF_PRL_35() throws Exception {
+//selenium.setSpeed("500");
+//selenium.type("username", "root");
+//selenium.type("password", "gtn");
+//selenium.clickAt("link=Sign in", "1,1");
+//selenium.open("/portal/private/classic/administration/pageManagement");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='UIPageBrowser']"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("//div[@id='UIPageBrowser']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("name"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.type("name", "user_page1");
+//selenium.type("title", "user_page_title1");
+//selenium.clickAt("link=Save", "1,1");
+//selenium.clickAt("//div[@id='UIPageBrowser']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='UIMaskWorkspace']"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.select("ownerType", "label=portal");
+//selenium.type("name", "portal_page1");
+//selenium.type("title", "portal_page_title1");
+//selenium.clickAt("link=Save", "1,1");
+//selenium.clickAt("//div[@id='UIPageBrowser']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='UIMaskWorkspace']"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.select("ownerType", "label=group");
+//selenium.clickAt("//option[@value='group']", "1,1");
+//selenium.type("name", "group_page1");
+//selenium.type("title", "group_page_title1");
+//selenium.clickAt("link=Save", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='UIRepeater']//img[@class='EditInfoIcon']"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("//div[@id='UIRepeater']//img[@class='EditInfoIcon']", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='UIPageEditor']//div[@class='PageProfileIcon']"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("//div[@id='UIPageEditor']//div[@class='PageProfileIcon']", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']//div[3]//div[@class='MiddleTab']"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']//div[3]//div[@class='MiddleTab']", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='UIListPermissionSelector']//input[@class='checkbox']"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("//div[@id='UIListPermissionSelector']//input[@class='checkbox']", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("link=Save"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("link=Save", "1,1");
+//for (int second = 0;; second++) {
+//if (second >= 30) fail("timeout");
+//try {
+// if (selenium.isElementPresent("//div[@id='UIPageEditor']//div[@class='OverflowContainer']/a[@class='EdittedSaveButton']"))
+//break; }
+// catch (Exception e) {}
+//Thread.sleep(1000);
+//}
+//selenium.clickAt("//div[@id='UIPageEditor']//div[@class='OverflowContainer']/a[@class='EdittedSaveButton']", "1,1");
+//assertTrue(selenium.isTextPresent("user_page_title1"));
+//assertTrue(selenium.isTextPresent("group_page_title1"));
+//assertTrue(selenium.isTextPresent("portal_page_title1"));
+//}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_02.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_02.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_02.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -10,17 +10,53 @@
public void testSNF_PRL_02() throws Exception {
selenium.setSpeed("500");
selenium.open("/portal/public/classic/");
+System.out.println("-New Account-");
+System.out.println("--Register new account");
selenium.click("link=Register");
selenium.waitForPageToLoad("30000");
-selenium.type("User Name:", "abc123");
-selenium.type("Password:", "121212");
-selenium.type("Confirm Password:", "121212");
-selenium.type("First Name:", "Aha");
-selenium.type("Last Name:", "Nguyen");
-selenium.type("Email Address:", "th4nhc0n9z(a)yahoo.com");
+selenium.type("User Name:", "test_user_02");
+selenium.type("Password:", "test_pwd_02");
+selenium.type("Confirm Password:", "test_pwd_02");
+selenium.type("First Name:", "test_name_first_02");
+selenium.type("Last Name:", "test_name_last_02");
+selenium.type("Email Address:", "test_user_02(a)yahoo.com");
selenium.clickAt("link=Subscribe", "1,1");
selenium.open("/portal/public/classic/");
-System.out.println("!!! missing assert to check user exists !!!");
+System.out.println("--Verification");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "test_user_02");
+selenium.type("password", "test_pwd_02");
+selenium.clickAt("//div[@id='UIPortalLoginFormAction']//a", "1,1");
+assertTrue(selenium.isTextPresent("test_name_first_02 test_name_last_02"));
+selenium.clickAt("link=Sign out", "1,1");
+System.out.println("--Delete new user");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.clickAt("//div[@id='UIPortalLoginFormAction']//a", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Users and groups management"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
}
+selenium.click("link=Users and groups management");
+selenium.waitForPageToLoad("30000");
+selenium.clickAt("//div[@class='UIListUsers']//tbody/tr[5]//img[@class='DeleteUserIcon']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (selenium.getConfirmation().equals("Are you sure you want to delete test_user_02 user?")) {
+break;
+}
+}
+catch (Exception e) {
+}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Sign out", "1,1");
+}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_03.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_03.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_03.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -10,6 +10,7 @@
public void testSNF_PRL_03() throws Exception {
selenium.setSpeed("500");
selenium.open("/portal/public/classic/");
+System.out.println("-Change Language-");
selenium.clickAt("//a[@class='Language']", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -42,6 +43,7 @@
selenium.clickAt("//div[@id='UITabContent']//div[2]/a", "1,1");
selenium.click("link=�p d?ng");
selenium.waitForPageToLoad("30000");
+assertTrue(selenium.isElementPresent("link=Sign in"));
}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_04.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_04.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_04.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -10,6 +10,7 @@
public void testSNF_PRL_04() throws Exception {
selenium.setSpeed("500");
selenium.open("/portal/public/classic/");
+System.out.println("-SignInOut-");
selenium.click("link=Sign in");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -31,14 +32,7 @@
Thread.sleep(1000);
}
selenium.click("link=Sign out");
-for (int second = 0;; second++) {
-if (second >= 30) fail("timeout");
-try {
- if (selenium.isElementPresent("link=Sign in"))
-break; }
- catch (Exception e) {}
-Thread.sleep(1000);
+assertTrue(selenium.isElementPresent("link=Sign in"));
}
-}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_05.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_05.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_05.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -10,10 +10,11 @@
public void testSNF_PRL_05() throws Exception {
selenium.setSpeed("500");
selenium.open("/portal/public/classic/");
-selenium.click("link=Sign in");
+System.out.println("-RememberMyLogin-");
+selenium.clickAt("link=Sign in", "1,1");
selenium.type("username", "root");
selenium.type("password", "gtn");
-selenium.click("rememberme");
+selenium.clickAt("rememberme", "1,1");
selenium.clickAt("//div[@id='UIPortalLoginFormAction']//div[@class='ButtonMiddle']/a", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -23,8 +24,9 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.click("link=Sign out");
+selenium.clickAt("link=Sign out", "1,1");
selenium.clickAt("link=Sign in", "1,1");
+System.out.println("##\"Sign out\" resets \"rememberme\"");
verifyTrue(selenium.isChecked("rememberme"));
selenium.clickAt("link=Discard", "1,1");
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_06.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_06.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_06.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -10,6 +10,7 @@
public void testSNF_PRL_06() throws Exception {
selenium.setSpeed("500");
selenium.open("/portal/public/classic/");
+System.out.println("-UserManagement-");
selenium.click("link=Sign in");
selenium.type("username", "root");
selenium.type("password", "gtn");
@@ -45,6 +46,7 @@
assertTrue(selenium.isTextPresent("Last Name"));
assertTrue(selenium.isTextPresent("First Name"));
assertTrue(selenium.isTextPresent("Email"));
+System.out.println("--Edit fields");
selenium.clickAt("//div[@id='UIListUsersGird']//tbody/tr[3]//td[5]//div//img", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -54,7 +56,7 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.type("firstName", "exo2");
+selenium.type("firstName", "test_user_06");
selenium.clickAt("link=Save", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -82,10 +84,9 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.type("user.name.given", "test");
-selenium.type("user.name.given", "test05");
-selenium.type("user.name.family", "test05family");
-selenium.type("user.name.nickName", "testnick");
+selenium.type("user.name.given", "test_name_given_06");
+selenium.type("user.name.family", "test_name_family_06");
+selenium.type("user.name.nickName", "test_name_nick_06");
selenium.clickAt("link=Save", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -98,7 +99,8 @@
assertTrue(selenium.isTextPresent("The user profile has been updated."));
selenium.clickAt("css=div#UIOrganizationPortlet div.ManagementTabContent > div.UIPopupWindow div.ActionButton", "1,1");
selenium.clickAt("link=Cancel", "1,1");
-assertTrue(selenium.isTextPresent("exo2"));
+System.out.println("--Verify changes");
+assertTrue(selenium.isTextPresent("test_user_06"));
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
@@ -107,7 +109,7 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.click("link=Sign out");
+selenium.clickAt("link=Sign out", "1,1");
}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_07.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_07.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_07.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -10,11 +10,13 @@
public void testSNF_PRL_07() throws Exception {
selenium.setSpeed("500");
selenium.open("/portal/public/classic/");
+System.out.println("-GroupManagement-");
selenium.click("link=Sign in");
selenium.type("username", "root");
selenium.type("password", "gtn");
selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
selenium.waitForPageToLoad("30000");
+System.out.println("--Select \"Users and groups management\" in menu");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
@@ -23,7 +25,7 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.click("link=Group");
+selenium.clickAt("link=Group", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
@@ -43,7 +45,9 @@
catch (Exception e) {}
Thread.sleep(1000);
}
+System.out.println("--Select \"Organization\" group from group tree");
selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[3]//div[@class='ExpandIcon']/a", "1,1");
+System.out.println("--Select \"Management group\" from group tree");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
@@ -53,6 +57,7 @@
Thread.sleep(1000);
}
selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[3]//div[@class='ExpandIcon']/a", "1,1");
+System.out.println("--Click Add new group icon");
selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[@class='TitleBar']/a[@class='TreeActionIcon AddGroupIcon']", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -62,18 +67,20 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.type("groupName", "testgroup");
-selenium.type("label", "testgroup label");
-selenium.type("description", "testgroup description");
+selenium.type("groupName", "test_group_name_07");
+selenium.type("label", "test_group_label_07");
+selenium.type("description", "test_group_description_07");
+System.out.println("--Click \"Save\" to complete adding new group");
selenium.clickAt("//form[@id='UIGroupForm']//div[@class='ActionButton LightBlueStyle']", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
- if (selenium.isTextPresent("testgroup label"))
+ if (selenium.isTextPresent("test_group_label_07"))
break; }
catch (Exception e) {}
Thread.sleep(1000);
}
+System.out.println("--Click \"Select User\" icon");
selenium.clickAt("//form[@id='UIGroupMembershipForm']//div[@class='HorizontalLayout']//table[@class='UIFormGrid']//td[@class='FieldComponent']/a", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -83,10 +90,11 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.click("demo");
-selenium.click("john");
-selenium.click("mary");
-selenium.click("root");
+selenium.clickAt("demo", "1,1");
+selenium.clickAt("john", "1,1");
+selenium.clickAt("mary", "1,1");
+selenium.clickAt("root", "1,1");
+System.out.println("--Click \"Add\" button");
selenium.clickAt("//form[@id='UIUserSelector']//div[@class='UIAction']//a[@class='ActionButton LightBlueStyle']", "1,1");
selenium.clickAt("link=Save", "1,1");
assertTrue(selenium.isTextPresent("demo"));
@@ -101,7 +109,7 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.click("link=Sign out");
+selenium.clickAt("link=Sign out", "1,1");
}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_08.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_08.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_08.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -10,11 +10,13 @@
public void testSNF_PRL_08() throws Exception {
selenium.setSpeed("500");
selenium.open("/portal/public/classic/");
+System.out.println("-MembershipManagement-");
selenium.click("link=Sign in");
selenium.type("username", "root");
selenium.type("password", "gtn");
selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
selenium.waitForPageToLoad("30000");
+System.out.println("--Select \"Users and groups management\" in menu");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
@@ -34,29 +36,47 @@
}
selenium.click("link=Users and groups management");
selenium.waitForPageToLoad("30000");
+System.out.println("--Choose \"Memebership Management\" tab");
selenium.clickAt("//div[@id='UIOrganizationPortlet']//div[@class='ManagementIconContainer']/a[@class='MembershipButton']", "1,1");
-selenium.type("name", "demomembership");
-selenium.type("description", "demo scripts");
+System.out.println("--Create new membership");
+selenium.type("name", "test_name_08");
+selenium.type("description", "test_description_08");
selenium.clickAt("link=Save", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
- if (selenium.isTextPresent("demomembership"))
+ if (selenium.isTextPresent("test_name_08"))
break; }
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.clickAt("//table[@class='UIGrid']//tbody/tr[3]/td[5]//img", "1,1");
-selenium.type("description", "demo scripts add more text");
+assertTrue(selenium.isTextPresent("test_name_08"));
+System.out.println("--Edit membership");
+selenium.clickAt("//table[@class='UIGrid']//tbody/tr[2]/td[5]//img[@class='EditMembershipIcon']", "1,1");
+selenium.type("description", "test_description_edit_08");
selenium.clickAt("link=Save", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
- if (selenium.isTextPresent("demo scripts add more text"))
+ if (selenium.isTextPresent("test_description_edit_08"))
break; }
catch (Exception e) {}
Thread.sleep(1000);
}
+assertTrue(selenium.isTextPresent("test_description_edit_08"));
+System.out.println("--Delete membership");
+selenium.clickAt("//table[@class='UIGrid']//tbody/tr[2]/td[5]//img[@class='DeleteMembershipIcon']", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (selenium.getConfirmation().equals("Are you sure you want to delete this membership?")) {
+break;
+}
+}
+catch (Exception e) {
+}
+Thread.sleep(1000);
+}
selenium.click("link=classic");
selenium.waitForPageToLoad("30000");
for (int second = 0;; second++) {
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_09.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_09.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_09.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -10,11 +10,13 @@
public void testSNF_PRL_09() throws Exception {
selenium.setSpeed("500");
selenium.open("/portal/public/classic/");
-selenium.click("link=Sign in");
+System.out.println("-AutoImport-");
+selenium.clickAt("link=Sign in", "1,1");
selenium.type("username", "root");
selenium.type("password", "gtn");
selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
selenium.waitForPageToLoad("30000");
+System.out.println("--Select \"Application Registry\"");
selenium.clickAt("link=Application Registry", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -24,10 +26,11 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.chooseOkOnNextConfirmation();
+System.out.println("--Auto Import");
+assertFalse(selenium.isTextPresent("WSRP Admin Portlet"));
selenium.clickAt("//div[@id='UIApplicationOrganizer']//div[@class='UIControlbar']//div[@class='IconControl ImportIcon']", "1,1");
String autoimport = selenium.getConfirmation();
-System.out.println("!! missing assert !!");
+assertTrue(selenium.isTextPresent("WSRP Admin Portlet"));
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
@@ -36,7 +39,7 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.click("link=Sign out");
+selenium.clickAt("link=Sign out", "1,1");
}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_10.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_10.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_10.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -10,12 +10,15 @@
public void testSNF_PRL_10() throws Exception {
selenium.setSpeed("500");
selenium.open("/portal/public/classic/");
+System.out.println("-CategoryManagement-");
selenium.click("link=Sign in");
selenium.type("username", "root");
selenium.type("password", "gtn");
selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
selenium.waitForPageToLoad("30000");
+System.out.println("--Select \"Application Registry\"");
selenium.clickAt("link=Application Registry", "1,1");
+System.out.println("--Add Category");
selenium.clickAt("//div[@id='UIApplicationOrganizer']//div[@class='UIControlbar']/div[1]", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -25,9 +28,10 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.type("name", "category_test");
-selenium.type("displayName", "Category test name");
-selenium.type("description", "category test description");
+selenium.type("name", "test_name_category_10");
+selenium.type("displayName", "test_displayname_category_10");
+selenium.type("description", "test_description_category_10");
+System.out.println("--Select permissions");
selenium.click("//div[@class='WorkingArea']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -65,6 +69,8 @@
catch (Exception e) {}
Thread.sleep(1000);
}
+assertTrue(selenium.isTextPresent("test_displayname_category_10"));
+System.out.println("--Edit Category");
selenium.clickAt("//div[@id='UIApplicationOrganizer']//a[@class='ControlIcon EditIcon']", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -74,16 +80,23 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.type("displayName", "category test edit");
+selenium.type("displayName", "test_displayname_edit_10");
selenium.clickAt("link=Save", "1,1");
+assertTrue(selenium.isTextPresent("test_displayname_edit_10"));
+System.out.println("--Delete Category");
+selenium.clickAt("//div[@class='SelectedTab']//a[@class='ControlIcon DeleteIcon']", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
- if (selenium.isTextPresent("category test edit"))
-break; }
- catch (Exception e) {}
+if (selenium.getConfirmation().equals("Are you sure to delete this category and all applications on it?")) {
+break;
+}
+}
+catch (Exception e) {
+}
Thread.sleep(1000);
}
+assertFalse(selenium.isTextPresent("test_displayname_edit_10"));
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_11.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_11.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_11.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -10,25 +10,29 @@
public void testSNF_PRL_11() throws Exception {
selenium.setSpeed("500");
selenium.open("/portal/public/classic/");
-selenium.click("link=Sign in");
+System.out.println("-AddApplicationToCategory-");
+selenium.clickAt("link=Sign in", "1,1");
selenium.type("username", "root");
selenium.type("password", "gtn");
selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
selenium.waitForPageToLoad("30000");
selenium.clickAt("link=Application Registry", "1,1");
+System.out.println("--Add application to Administration Category");
selenium.clickAt("//div[@class='ListContent']//div[@class='SelectedTab']//a[@class='ControlIcon CreateNewIcon']", "1,1");
-selenium.clickAt("//input[@name='application' and @value='9']", "1,1");
-selenium.type("displayName", "test10");
+System.out.println("--Select first application in list");
+selenium.clickAt("//input[@name='application' and @value='1']", "1,1");
+selenium.type("displayName", "test_displayname_11");
selenium.clickAt("css=form#UIAddApplicationForm div.UIAction div.ActionButton", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
- if (selenium.isElementPresent("link=category test edit"))
+ if (selenium.isElementPresent("//a[@class='TabLabel' and @title='Administration']"))
break; }
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.clickAt("link=category test edit", "1,1");
+System.out.println("--Edit category permissions");
+selenium.clickAt("//a[@class='TabLabel' and @title='Administration']", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
@@ -40,12 +44,18 @@
selenium.clickAt("link=Add Permission", "1,1");
selenium.clickAt("//div[@id='ListPermissionSelector']//a[@title='Organization']", "1,1");
selenium.clickAt("link=manager", "1,1");
+assertTrue(selenium.isTextPresent("test_displayname_11"));
+System.out.println("--Delete application");
+selenium.clickAt("//div[@class='ListContent']//div[@class='UIVTabContent']/div[8]//a[@class='ControlIcon DeletePortalIcon']", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
- if (selenium.isTextPresent("test10"))
-break; }
- catch (Exception e) {}
+if (selenium.getConfirmation().equals("Are you sure to delete this application?")) {
+break;
+}
+}
+catch (Exception e) {
+}
Thread.sleep(1000);
}
for (int second = 0;; second++) {
@@ -56,7 +66,7 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.click("link=Sign out");
+selenium.clickAt("link=Sign out", "1,1");
}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_13.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_13.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_13.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -9,6 +9,14 @@
public void testSNF_PRL_13() throws Exception {
selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-AddGadget-");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
+selenium.clickAt("link=Application Registry", "1,1");
selenium.clickAt("link=Gadget", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -27,7 +35,7 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.type("url", "http://www.google.com/ig/modules/colorjunction.xml");
+selenium.type("url", "http://www.google.com/ig/modules/datetime.xml");
selenium.clickAt("link=Add", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -40,6 +48,15 @@
selenium.clickAt("//div[@id='UIGadgetInfo']//div[@class='UIBreadcumb']/div[@class='DownLoadIcon ControlIcon']", "1,1");
System.out.println("https://jira.jboss.org/jira/browse/GTNPORTAL-439");
assertTrue(selenium.isTextPresent("Gadget Details"));
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
}
+selenium.clickAt("link=Sign out", "1,1");
+}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_15.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_15.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_15.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -9,33 +9,17 @@
public void testSNF_PRL_15() throws Exception {
selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-SiteMapAndLinkToPage-");
+selenium.clickAt("link=Sign in", "1,1");
selenium.type("username", "root");
selenium.type("password", "gtn");
-selenium.click("link=Sign in");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
selenium.waitForPageToLoad("30000");
selenium.open("/portal/private/classic/sitemap");
-selenium.clickAt("//div[@id='UISiteMap']//div[@class='ClearFix']/div[2]", "1,1");
-for (int second = 0;; second++) {
-if (second >= 30) fail("timeout");
-try {
- if (selenium.isTextPresent("Blog"))
-break; }
- catch (Exception e) {}
-Thread.sleep(1000);
-}
-assertTrue(selenium.isTextPresent("New Staff"));
-assertTrue(selenium.isTextPresent("Application Registry"));
-selenium.clickAt("//div[@id='UISiteMap']//div[@class='ClearFix']/div[1]", "1,1");
-for (int second = 0;; second++) {
-if (second >= 30) fail("timeout");
-try {
-if (!selenium.isElementPresent("Blog"))
- break;
- }
- catch (Exception e) {}
-Thread.sleep(1000);
-}
+System.out.println("--Expand the first submenu");
selenium.clickAt("css=div#UISiteMap div.ExpandIcon", "1,1");
+System.out.println("--Select the first link of submenu");
selenium.clickAt("css=div#UISiteMap div.ChildrenContainer a", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -46,6 +30,7 @@
catch (Exception e) {}
Thread.sleep(1000);
}
+selenium.clickAt("link=Sign out", "1,1");
}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_18.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_18.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_18.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -9,12 +9,17 @@
public void testSNF_PRL_18() throws Exception {
selenium.setSpeed("500");
+selenium.open("/portal/public/classic/");
+System.out.println("-CreateNewPortal-");
+selenium.clickAt("link=Sign in", "1,1");
selenium.type("username", "root");
selenium.type("password", "gtn");
-selenium.click("link=Sign in");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
selenium.waitForPageToLoad("30000");
selenium.open("/portal/private/classic/portalnavigation");
+System.out.println("--Add new portal");
selenium.clickAt("//div[@id='UISiteManagement']//div[@class='UIAction']//div[@class='ActionButton BlueButton']", "1,1");
+System.out.println("--Select portal settings");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
@@ -23,10 +28,11 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.click("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']");
-selenium.type("name", "New_portal");
-selenium.click("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[4]//div[@class='MiddleTab']");
-selenium.click("publicMode");
+selenium.clickAt("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[2]//div[@class='MiddleTab']", "1,1");
+selenium.type("name", "test_portal_18");
+System.out.println("--Select permission settings");
+selenium.clickAt("//div[@id='UIMaskWorkspace']//div[@class='TabsContainer']/div[4]//div[@class='MiddleTab']", "1,1");
+selenium.clickAt("publicMode", "1,1");
selenium.clickAt("link=Edit Permission Setting", "1,1");
selenium.clickAt("link=Select Permission", "1,1");
selenium.clickAt("link=Platform", "1,1");
@@ -53,11 +59,30 @@
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
- if (selenium.isTextPresent("New_portal"))
+ if (selenium.isTextPresent("test_portal_18"))
break; }
catch (Exception e) {}
Thread.sleep(1000);
}
+System.out.println("--Verify portal creation");
+assertTrue(selenium.isElementPresent("link=test_portal_18"));
+System.out.println("--Delete new portal");
+selenium.clickAt("link=Site", "1,1");
+assertTrue(selenium.isTextPresent("Portal Navigation"));
+selenium.clickAt("//div[@id='UISiteManagement']/table[2]//a[@class='DeleteIcon']", "1,1");
+assertFalse(selenium.isTextPresent("test_portal_18"));
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (selenium.getConfirmation().equals("Are you sure you want to delete this portal?")) {
+break;
}
+}
+catch (Exception e) {
+}
+Thread.sleep(1000);
+}
+selenium.clickAt("link=Sign out", "1,1");
+}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_19.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_19.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_19.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -9,12 +9,16 @@
public void testSNF_PRL_19() throws Exception {
selenium.setSpeed("500");
-selenium.click("link=Sign in");
+selenium.open("/portal/public/classic/");
+System.out.println("-EditPortalNavigation-");
+selenium.clickAt("link=Sign in", "1,1");
selenium.type("username", "root");
selenium.type("password", "gtn");
-selenium.open("/portal/private/classic/");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
selenium.click("link=Site");
selenium.waitForPageToLoad("30000");
+System.out.println("--Edit Portal layout, currently do not change anything");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
@@ -41,7 +45,7 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.clickAt("//div[@id='UIPortalComposer']//div[@class='OverflowContainer']/a[@class='EdittedSaveButton']", "1,1");
+selenium.clickAt("//div[@id='UIPortalComposer']//div[@class='OverflowContainer']/a[@class='CloseButton']", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
@@ -50,6 +54,7 @@
catch (Exception e) {}
Thread.sleep(1000);
}
+System.out.println("--Edit nav: add node, actions ...");
selenium.clickAt("link=Edit Navigation", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -68,8 +73,9 @@
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.type("name", "Node_test");
-selenium.type("label", "New node");
+selenium.type("name", "test_nodename_19");
+selenium.type("label", "test_node_label_19");
+System.out.println("--Select Page");
selenium.clickAt("css=div#UISiteManagement > div.UIPopupWindow div.TabsContainer div.NormalTab div.MiddleTab", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -80,6 +86,7 @@
Thread.sleep(1000);
}
selenium.clickAt("link=Search and Select Page", "1,1");
+System.out.println("--Select the first page");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
@@ -89,8 +96,10 @@
Thread.sleep(1000);
}
selenium.click("//div[@id='UIRepeater']//table//tbody/tr/td[5]/div[@class='ActionContainer']/img");
+System.out.println("--Save");
selenium.clickAt("link=Save", "1,1");
selenium.clickAt("link=Save", "1,1");
+System.out.println("--Edit Portal Properties");
selenium.clickAt("link=Edit Portal's Properties", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
@@ -137,12 +146,31 @@
Thread.sleep(1000);
}
selenium.clickAt("link=Administrators", "1,1");
-selenium.clickAt("link=Platform", "1,1");
-selenium.clickAt("link=Administrators", "1,1");
selenium.clickAt("//div[@id='PermissionSelector']//div[2]/a", "1,1");
selenium.clickAt("//form[@id='UIPortalForm']//div[@class='UIAction']//div[@class='ActionButton LightBlueStyle']", "1,1");
selenium.open("/portal/private/classic/");
-selenium.clickAt("link=New node", "1,1");
+System.out.println("--Select new node");
+selenium.clickAt("link=test_node_label_19", "1,1");
+assertTrue(selenium.isElementPresent("//div[@class='SelectedNavigationTab']//a"));
+selenium.clickAt("link=Site", "1,1");
+selenium.clickAt("link=Edit Navigation", "1,1");
+selenium.click("link=Delete Node");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+if (selenium.getConfirmation().equals("Are you sure you want to delete this node?")) {
+break;
}
+}
+catch (Exception e) {
+}
+Thread.sleep(1000);
+}
+selenium.click("link=Save");
+System.out.println("--Verify Deletion");
+selenium.click("link=Home");
+assertFalse(selenium.isTextPresent("test_node_label_19"));
+selenium.clickAt("link=Sign out", "1,1");
+}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_20.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_20.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_20.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -9,8 +9,15 @@
public void testSNF_PRL_20() throws Exception {
selenium.setSpeed("500");
-selenium.open("/portal/private/classic/");
+selenium.open("/portal/public/classic/");
+System.out.println("-DeletePortal-");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
+selenium.waitForPageToLoad("30000");
selenium.clickAt("link=Site", "1,1");
+System.out.println("--Add new portal");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
@@ -21,7 +28,7 @@
}
selenium.clickAt("link=Add New Portal", "1,1");
selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'PortalSetting');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=PortalSetting')\"]", "1,1");
-selenium.type("name", "Haha");
+selenium.type("name", "test_portal_name_20");
selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'Properties');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=Properties')\"]", "1,1");
selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'PermissionSetting');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=PermissionSetting')\"]", "1,1");
selenium.clickAt("publicMode", "1,1");
@@ -29,28 +36,41 @@
selenium.clickAt("link=Select Permission", "1,1");
selenium.clickAt("link=Platform", "1,1");
selenium.clickAt("link=Platform", "1,1");
+selenium.clickAt("link=exact:*", "1,1");
+selenium.clickAt("link=Save", "1,1");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
- if (selenium.isElementPresent("//div[@class='CollapseIcon']"))
+ if (selenium.isElementPresent("//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]"))
break; }
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.clickAt("link=exact:*", "1,1");
-selenium.clickAt("link=Save", "1,1");
-selenium.clickAt("link=Save", "1,1");
+assertTrue(selenium.isTextPresent("test_portal_name_20"));
+System.out.println("--Delete portal");
+selenium.click("//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]");
+selenium.waitForPageToLoad("30000");
for (int second = 0;; second++) {
if (second >= 30) fail("timeout");
try {
- if (selenium.isElementPresent("//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]"))
+if (selenium.getConfirmation().equals("Are you sure you want to delete this portal?")) {
+break;
+}
+}
+catch (Exception e) {
+}
+Thread.sleep(1000);
+}
+assertFalse(selenium.isTextPresent("test_portal_name_20"));
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Sign out"))
break; }
catch (Exception e) {}
Thread.sleep(1000);
}
-selenium.click("//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]");
-selenium.waitForPageToLoad("30000");
-assertFalse(selenium.isTextPresent("Haha"));
+selenium.clickAt("link=Sign out", "1,1");
}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_21.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_21.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_21.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -9,13 +9,46 @@
public void testSNF_PRL_21() throws Exception {
selenium.setSpeed("500");
-selenium.open("/portal/private/classic/");
-selenium.click("link=New_portal");
+selenium.open("/portal/public/classic/");
+System.out.println("-ChangePortal-");
+selenium.clickAt("link=Sign in", "1,1");
+selenium.type("username", "root");
+selenium.type("password", "gtn");
+selenium.click("//div[@id='UIPortalLoginFormAction']/div/div/div");
selenium.waitForPageToLoad("30000");
-selenium.open("/portal/private/classic/portalnavigation");
-selenium.click("link=New_portal");
-selenium.waitForPageToLoad("30000");
-selenium.clickAt("link=New_portal", "1,1");
+selenium.clickAt("link=Site", "1,1");
+System.out.println("--Add new portal");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("link=Add New Portal"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
}
+selenium.clickAt("link=Add New Portal", "1,1");
+selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'PortalSetting');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=PortalSetting')\"]", "1,1");
+selenium.type("name", "test_portal_name_21");
+selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'Properties');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=Properties')\"]", "1,1");
+selenium.clickAt("//div[@onclick=\"eXo.webui.UIHorizontalTabs.changeTabForUIFormTabpane(this, 'UIPortalForm', 'PermissionSetting');javascript:eXo.webui.UIForm.submitEvent('UIPortalForm','SelectTab','&objectId=PermissionSetting')\"]", "1,1");
+selenium.clickAt("publicMode", "1,1");
+selenium.clickAt("link=Edit Permission Setting", "1,1");
+selenium.clickAt("link=Select Permission", "1,1");
+selenium.clickAt("link=Platform", "1,1");
+selenium.clickAt("link=Platform", "1,1");
+selenium.clickAt("link=exact:*", "1,1");
+selenium.clickAt("link=Save", "1,1");
+for (int second = 0;; second++) {
+if (second >= 30) fail("timeout");
+try {
+ if (selenium.isElementPresent("//div[@id='UISiteManagement']/table[2]/tbody/tr/td[3]/a[4]"))
+break; }
+ catch (Exception e) {}
+Thread.sleep(1000);
+}
+assertTrue(selenium.isTextPresent("test_portal_name_21"));
+System.out.println("--View new portal");
+selenium.clickAt("link=test_portal_name_21", "1,1");
+}
}
Modified: portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_27_1.java
===================================================================
--- portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_27_1.java 2010-01-22 03:05:14 UTC (rev 1412)
+++ portal/trunk/testsuite/ui-tests/sniff-tests/src/test/java/org/exoplatform/portal/selenium/Test_SNF_PRL_27_1.java 2010-01-22 03:14:28 UTC (rev 1413)
@@ -66,6 +66,7 @@
selenium.clickAt("//div[@id='UIMaskWorkspace']//div[3]//div[@class='MiddleTab']", "1,1");
selenium.clickAt("link=Add Permission", "1,1");
selenium.clickAt("link=Platform", "1,1");
+selenium.clickAt("link=Administrators", "1,1");
selenium.clickAt("//div[@id='UIPageFormPopupGroupMembershipSelector']//div[@class='MembershipSelector']//a", "1,1");
selenium.clickAt("link=Save", "1,1");
selenium.clickAt("//div[@id='UIPageEditor']/div[1]/div/div/div/a[2]", "1,1");
14 years, 11 months
gatein SVN: r1412 - in portal/trunk: portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component and 10 other directories.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-01-21 22:05:14 -0500 (Thu, 21 Jan 2010)
New Revision: 1412
Added:
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/UIRegistrationPropertiesGrid.java
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/renderers/
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/renderers/LocalizedStringValueRenderer.java
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/renderers/RegistrationDescriptionValueRenderer.java
portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/WSRPAdminPortlet_en.properties
portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/WSRPAdminPortlet_fr.properties
Modified:
portal/trunk/pom.xml
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/UIWsrpPortlet.java
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/consumer/UIWsrpConsumerEditor.java
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/consumer/UIWsrpConsumerOverview.java
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/producer/UIWsrpRegistrationDetails.java
portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/portlet.xml
portal/trunk/webui/core/src/main/java/org/exoplatform/webui/application/ConfigurationManager.java
portal/trunk/webui/core/src/main/java/org/exoplatform/webui/config/Component.java
portal/trunk/webui/core/src/main/java/org/exoplatform/webui/core/UIComponent.java
portal/trunk/webui/core/src/main/java/org/exoplatform/webui/core/UIGrid.java
portal/trunk/webui/core/src/main/java/org/exoplatform/webui/core/renderers/ValueRendererRegistry.java
portal/trunk/webui/core/src/main/java/org/exoplatform/webui/form/UIForm.java
Log:
- Updated to Beta06 of WSRP.
- Started implementing registration of aspects of Consumer configuration.
- Added UIRegistrationPropertiesGrid to deal with registration properties.
- Started trying to use standard templates instead of custom ones.
- Added LocalizedString and RegistrationPropertyDescription renderers.
- Added default renderer for Strings.
- Started adding localization, though, for some reason, it's not currently working.
- Make ConfigurationManager use empty lists instead of creating one when there's no associated configuration.
- Make Component use Lists instead of ArrayLists.
- Make UIComponent use a default lifecycle if there is no configuration for process* methods and log that detail instead of just failing with an NPE.
- Removed getName overriden method in UIGrid since it was using a field that was never set.
Modified: portal/trunk/pom.xml
===================================================================
--- portal/trunk/pom.xml 2010-01-21 23:12:55 UTC (rev 1411)
+++ portal/trunk/pom.xml 2010-01-22 03:05:14 UTC (rev 1412)
@@ -19,7 +19,8 @@
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -47,7 +48,7 @@
<org.gatein.wci.version>2.0.0-CR02</org.gatein.wci.version>
<org.gatein.pc.version>2.1.0-CR02</org.gatein.pc.version>
<org.picketlink.idm>1.1.0.Beta2</org.picketlink.idm>
- <org.gatein.wsrp.version>1.0.0-Beta05</org.gatein.wsrp.version>
+ <org.gatein.wsrp.version>1.0.0-Beta06</org.gatein.wsrp.version>
<org.gatein.mop.version>1.0.0-Beta14</org.gatein.mop.version>
<org.slf4j.version>1.5.6</org.slf4j.version>
<rhino.version>1.6R5</rhino.version>
@@ -558,11 +559,12 @@
<phase>compile</phase>
<configuration>
<tasks>
- <copy failonerror="false" todir="${project.build.directory}/${project.build.finalName}/WEB-INF/classes">
+ <copy failonerror="false"
+ todir="${project.build.directory}/${project.build.finalName}/WEB-INF/classes">
<fileset dir="${basedir}/src/main/webapp/WEB-INF/classes">
- <include name="**/*_en.properties" />
+ <include name="**/*_en.properties"/>
</fileset>
- <globmapper from="*_en.properties" to="*.properties" />
+ <globmapper from="*_en.properties" to="*.properties"/>
</copy>
</tasks>
</configuration>
Added: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/UIRegistrationPropertiesGrid.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/UIRegistrationPropertiesGrid.java (rev 0)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/UIRegistrationPropertiesGrid.java 2010-01-22 03:05:14 UTC (rev 1412)
@@ -0,0 +1,73 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2010, Red Hat Middleware, LLC, and individual
+ * contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of
+ * individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.exoplatform.wsrp.webui.component;
+
+import org.exoplatform.commons.utils.LazyPageList;
+import org.exoplatform.commons.utils.ListAccessImpl;
+import org.exoplatform.webui.config.annotation.ComponentConfig;
+import org.exoplatform.webui.core.UIPageIterator;
+import org.exoplatform.webui.form.UIFormGrid;
+import org.gatein.common.util.ParameterValidation;
+import org.gatein.wsrp.consumer.RegistrationProperty;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ */
+@ComponentConfig(template = "system:/groovy/webui/core/UIGrid.gtmpl")
+public class UIRegistrationPropertiesGrid extends UIFormGrid
+{
+ private static final String NAME = "name";
+ static String[] FIELDS = {NAME, "description", "status", "value"};
+ static String[] PROPERTIES_ACTIONS = {"EditProperty", "DeleteProperty"};
+
+ public UIRegistrationPropertiesGrid() throws Exception
+ {
+ super();
+
+ //configure the edit and delete buttons based on an id from the data list - this will also be passed as param to listener
+ configure(NAME, FIELDS, PROPERTIES_ACTIONS);
+ UIPageIterator pageIterator = getUIPageIterator();
+ pageIterator.setRendered(false);
+ }
+
+ public void resetProps(List<RegistrationProperty> props)
+ {
+ ListAccessImpl<RegistrationProperty> listAccess;
+ if (ParameterValidation.existsAndIsNotEmpty(props))
+ {
+ setRendered(true);
+ }
+ else
+ {
+ props = Collections.emptyList();
+ setRendered(false);
+ }
+ listAccess = new ListAccessImpl<RegistrationProperty>(RegistrationProperty.class, props);
+ getUIPageIterator().setPageList(new LazyPageList<RegistrationProperty>(listAccess, 10));
+ }
+}
Modified: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/UIWsrpPortlet.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/UIWsrpPortlet.java 2010-01-21 23:12:55 UTC (rev 1411)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/UIWsrpPortlet.java 2010-01-22 03:05:14 UTC (rev 1412)
@@ -26,8 +26,13 @@
import org.exoplatform.webui.core.UIPortletApplication;
import org.exoplatform.webui.core.UITabPane;
import org.exoplatform.webui.core.lifecycle.UIApplicationLifecycle;
+import org.exoplatform.webui.core.renderers.ValueRendererRegistry;
import org.exoplatform.wsrp.webui.component.consumer.UIWsrpConsumerOverview;
import org.exoplatform.wsrp.webui.component.producer.UIWsrpProducerOverview;
+import org.exoplatform.wsrp.webui.component.renderers.LocalizedStringValueRenderer;
+import org.exoplatform.wsrp.webui.component.renderers.RegistrationDescriptionValueRenderer;
+import org.gatein.wsrp.registration.LocalizedString;
+import org.gatein.wsrp.registration.RegistrationPropertyDescription;
/** @author Wesley Hales */
@ComponentConfig(
@@ -35,6 +40,13 @@
)
public class UIWsrpPortlet extends UIPortletApplication
{
+ static
+ {
+ // register value renderers
+ ValueRendererRegistry.registerDefaultRendererFor(new RegistrationDescriptionValueRenderer(), RegistrationPropertyDescription.class);
+ ValueRendererRegistry.registerDefaultRendererFor(new LocalizedStringValueRenderer(), LocalizedString.class);
+ }
+
public UIWsrpPortlet() throws Exception
{
UITabPane uiTabPane = addChild(UITabPane.class, null, null);
Modified: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/consumer/UIWsrpConsumerEditor.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/consumer/UIWsrpConsumerEditor.java 2010-01-21 23:12:55 UTC (rev 1411)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/consumer/UIWsrpConsumerEditor.java 2010-01-22 03:05:14 UTC (rev 1412)
@@ -40,38 +40,56 @@
import org.exoplatform.webui.form.UIFormInputBase;
import org.exoplatform.webui.form.UIFormStringInput;
import org.exoplatform.webui.form.validator.MandatoryValidator;
+import org.exoplatform.wsrp.webui.component.UIRegistrationPropertiesGrid;
import org.gatein.common.util.ParameterValidation;
import org.gatein.wsrp.WSRPConsumer;
import org.gatein.wsrp.consumer.ConsumerException;
import org.gatein.wsrp.consumer.ProducerInfo;
+import org.gatein.wsrp.consumer.RegistrationInfo;
+import org.gatein.wsrp.consumer.RegistrationProperty;
import org.gatein.wsrp.consumer.registry.ConsumerRegistry;
import org.gatein.wsrp.services.ManageableServiceFactory;
+import java.util.ArrayList;
+import java.util.Collection;
+
/** @author Wesley Hales */
-@ComponentConfig(template = "app:/groovy/wsrp/webui/component/UIWsrpConsumerEditor.gtmpl", lifecycle = UIFormLifecycle.class, events = {
- @EventConfig(listeners = UIWsrpConsumerEditor.SaveActionListener.class)})
+@ComponentConfig(
+ lifecycle = UIFormLifecycle.class,
+ template = "system:/groovy/webui/form/UIForm.gtmpl",
+ events = {
+ @EventConfig(listeners = UIWsrpConsumerEditor.SaveActionListener.class)
+ })
public class UIWsrpConsumerEditor extends UIForm
{
- protected static final String CONSUMER_NAME = "Consumer name: ";
- protected static final String CACHE_EXPIRATION = "Seconds before cache expiration: ";
- protected static final String TIMEOUT = "Milliseconds before timeout: ";
- protected static final String WSDL_URL = "WSDL URL: ";
private UIFormInputBase<String> consumerName;
private UIFormStringInput cache;
private UIFormStringInput timeoutWS;
private UIFormStringInput wsdl;
+ private UIRegistrationPropertiesGrid localRegistration;
+ private UIRegistrationPropertiesGrid expectedRegistration;
+ private static final String[] ACTIONS = new String[]{"Save"};
public UIWsrpConsumerEditor() throws Exception
{
-
- consumerName = new UIFormStringInput(CONSUMER_NAME, CONSUMER_NAME, null).addValidator(MandatoryValidator.class);
+ consumerName = new UIFormStringInput("name", null).addValidator(MandatoryValidator.class);
addUIFormInput(consumerName);
- cache = new UIFormStringInput(CACHE_EXPIRATION, CACHE_EXPIRATION, null);
+ cache = new UIFormStringInput("cache", null);
addUIFormInput(cache);
- timeoutWS = new UIFormStringInput(TIMEOUT, TIMEOUT, null);
+ timeoutWS = new UIFormStringInput("timeout", null);
addUIFormInput(timeoutWS);
- wsdl = new UIFormStringInput(WSDL_URL, WSDL_URL, null);
+ wsdl = new UIFormStringInput("wsdl", null);
addUIFormInput(wsdl);
+
+ // registration properties
+ localRegistration = addChild(UIRegistrationPropertiesGrid.class, null, "local");
+ localRegistration.setRendered(false);
+
+ expectedRegistration = addChild(UIRegistrationPropertiesGrid.class, null, "expected");
+ expectedRegistration.setRendered(false);
+
+ // actions
+ setActions(ACTIONS);
}
private String getConsumerName()
@@ -134,6 +152,24 @@
cache.setValue(producerInfo.getExpirationCacheSeconds().toString());
timeoutWS.setValue("" + producerInfo.getEndpointConfigurationInfo().getWSOperationTimeOut());
wsdl.setValue(producerInfo.getEndpointConfigurationInfo().getWsdlDefinitionURL());
+
+ RegistrationInfo local = producerInfo.getRegistrationInfo();
+ Collection<RegistrationProperty> regProps = local.getRegistrationProperties().values();
+ ArrayList<RegistrationProperty> regPropsList = new ArrayList<RegistrationProperty>(regProps);
+ localRegistration.resetProps(regPropsList);
+
+ RegistrationInfo expected = producerInfo.getExpectedRegistrationInfo();
+ if (local != expected && expected != null)
+ {
+ regProps = expected.getRegistrationProperties().values();
+ regPropsList = new ArrayList<RegistrationProperty>(regProps);
+ expectedRegistration.resetProps(regPropsList);
+ }
+ else
+ {
+ expectedRegistration.setRendered(false);
+ }
+
setNewConsumer(false);
}
Modified: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/consumer/UIWsrpConsumerOverview.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/consumer/UIWsrpConsumerOverview.java 2010-01-21 23:12:55 UTC (rev 1411)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/consumer/UIWsrpConsumerOverview.java 2010-01-22 03:05:14 UTC (rev 1412)
@@ -83,8 +83,8 @@
//setSelectedTab(1);
consumerEditorPopup = addChild(UIPopupWindow.class, null, null);
- consumerEditorPopup.setWindowSize(450, 0);
- UIWsrpConsumerEditor consumerForm = createUIComponent(UIWsrpConsumerEditor.class, null, "Consumer Editor");
+ consumerEditorPopup.setWindowSize(800, 0);
+ UIWsrpConsumerEditor consumerForm = createUIComponent(UIWsrpConsumerEditor.class, null, "ConsumerEditor");
consumerEditorPopup.setUIComponent(consumerForm);
consumerEditorPopup.setRendered(false);
Modified: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/producer/UIWsrpRegistrationDetails.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/producer/UIWsrpRegistrationDetails.java 2010-01-21 23:12:55 UTC (rev 1411)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/producer/UIWsrpRegistrationDetails.java 2010-01-22 03:05:14 UTC (rev 1412)
@@ -30,14 +30,12 @@
import org.exoplatform.web.application.ApplicationMessage;
import org.exoplatform.webui.application.WebuiRequestContext;
import org.exoplatform.webui.config.annotation.ComponentConfig;
-import org.exoplatform.webui.config.annotation.ComponentConfigs;
import org.exoplatform.webui.config.annotation.EventConfig;
import org.exoplatform.webui.core.UIApplication;
import org.exoplatform.webui.core.UIComponent;
import org.exoplatform.webui.core.UIGrid;
import org.exoplatform.webui.core.UIPopupWindow;
import org.exoplatform.webui.core.lifecycle.UIContainerLifecycle;
-import org.exoplatform.webui.core.renderers.ValueRenderer;
import org.exoplatform.webui.event.Event;
import org.exoplatform.webui.event.EventListener;
import org.exoplatform.webui.form.UIForm;
@@ -48,7 +46,6 @@
import org.gatein.registration.policies.DefaultRegistrationPolicy;
import org.gatein.wsrp.producer.config.ProducerConfigurationService;
import org.gatein.wsrp.producer.config.ProducerRegistrationRequirements;
-import org.gatein.wsrp.registration.LocalizedString;
import org.gatein.wsrp.registration.RegistrationPropertyDescription;
import javax.xml.namespace.QName;
@@ -65,16 +62,13 @@
* @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
* @version $Revision$
*/
-@ComponentConfigs({
- @ComponentConfig(id = UIWsrpRegistrationDetails.REGISTRATION_PROPERTIES, type = UIGrid.class, template = "system:/groovy/webui/core/UIGrid.gtmpl"),
- @ComponentConfig(
- lifecycle = UIContainerLifecycle.class,
- events = {
- @EventConfig(listeners = UIWsrpRegistrationDetails.AddPropertyActionListener.class),
- @EventConfig(listeners = UIWsrpRegistrationDetails.EditPropertyActionListener.class),
- @EventConfig(listeners = UIWsrpRegistrationDetails.DeletePropertyActionListener.class)
- })
-})
+@ComponentConfig(
+ lifecycle = UIContainerLifecycle.class,
+ events = {
+ @EventConfig(listeners = UIWsrpRegistrationDetails.AddPropertyActionListener.class),
+ @EventConfig(listeners = UIWsrpRegistrationDetails.EditPropertyActionListener.class),
+ @EventConfig(listeners = UIWsrpRegistrationDetails.DeletePropertyActionListener.class)
+ })
public class UIWsrpRegistrationDetails extends UIFormInputSet
{
private UIFormInputBase<String> policy;
@@ -102,24 +96,12 @@
addUIFormInput(validator);
// registration properties
- registrationProperties = addChild(UIGrid.class, REGISTRATION_PROPERTIES, REGISTRATION_PROPERTIES);
+ registrationProperties = addChild(UIGrid.class, null, REGISTRATION_PROPERTIES);
- // add renderer for LocalizedString
- ValueRenderer<LocalizedString> renderer = new ValueRenderer<LocalizedString>()
- {
- @Override
- public String render(LocalizedString value)
- {
- return value.getValue();
- }
- };
- registrationProperties.registerRendererFor(renderer, LocalizedString.class);
-
//configure the edit and delete buttons based on an id from the data list - this will also be passed as param to listener
registrationProperties.configure(NAME, FIELDS, PROPERTIES_ACTIONS);
registrationProperties.getUIPageIterator().setId(REGISTRATION_PROPERTIES_ITERATOR);
registrationProperties.getUIPageIterator().setRendered(false);
- addChild(registrationProperties.getUIPageIterator());
init(getService().getConfiguration().getRegistrationRequirements());
Added: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/renderers/LocalizedStringValueRenderer.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/renderers/LocalizedStringValueRenderer.java (rev 0)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/renderers/LocalizedStringValueRenderer.java 2010-01-22 03:05:14 UTC (rev 1412)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2010, Red Hat Middleware, LLC, and individual
+ * contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of
+ * individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.exoplatform.wsrp.webui.component.renderers;
+
+import org.exoplatform.webui.core.renderers.ValueRenderer;
+import org.gatein.wsrp.registration.LocalizedString;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ */
+@SuppressWarnings("unused")
+public class LocalizedStringValueRenderer extends ValueRenderer<LocalizedString>
+{
+ @Override
+ public String render(LocalizedString value)
+ {
+ return value.getValue();
+ }
+}
Added: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/renderers/RegistrationDescriptionValueRenderer.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/renderers/RegistrationDescriptionValueRenderer.java (rev 0)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/wsrp/webui/component/renderers/RegistrationDescriptionValueRenderer.java 2010-01-22 03:05:14 UTC (rev 1412)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, a division of Red Hat
+ * Copyright 2010, Red Hat Middleware, LLC, and individual
+ * contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of
+ * individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.exoplatform.wsrp.webui.component.renderers;
+
+import org.exoplatform.webui.core.renderers.ValueRenderer;
+import org.gatein.wsrp.registration.LocalizedString;
+import org.gatein.wsrp.registration.RegistrationPropertyDescription;
+
+/**
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ */
+@SuppressWarnings("unused")
+public class RegistrationDescriptionValueRenderer extends ValueRenderer<RegistrationPropertyDescription>
+{
+ @Override
+ public String render(RegistrationPropertyDescription value)
+ {
+ LocalizedString description = value.getDescription();
+ if (description != null)
+ {
+ return description.getValue();
+ }
+ else
+ {
+ return ValueRenderer.EMPTY;
+ }
+ }
+}
Added: portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/WSRPAdminPortlet_en.properties
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/WSRPAdminPortlet_en.properties (rev 0)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/WSRPAdminPortlet_en.properties 2010-01-22 03:05:14 UTC (rev 1412)
@@ -0,0 +1,29 @@
+#
+# JBoss, a division of Red Hat
+# Copyright 2010, Red Hat Middleware, LLC, and individual
+# contributors as indicated by the @authors tag. See the
+# copyright.txt in the distribution for a full listing of
+# individual contributors.
+#
+# This is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of
+# the License, or (at your option) any later version.
+#
+# This software is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this software; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+#
+ConsumerEditor.label.name = Consumer name:
+ConsumerEditor.label.cache = Seconds before cache expiration:
+ConsumerEditor.label.timeout = Milliseconds before timeout:
+ConsumerEditor.label.wsdl = WSDL URL:
+ConsumerEditor.label.local = Local registration properties:
+ConsumerEditor.label.expected = Expected registration properties:
+
Added: portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/WSRPAdminPortlet_fr.properties
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/WSRPAdminPortlet_fr.properties (rev 0)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/WSRPAdminPortlet_fr.properties 2010-01-22 03:05:14 UTC (rev 1412)
@@ -0,0 +1,29 @@
+#
+# JBoss, a division of Red Hat
+# Copyright 2010, Red Hat Middleware, LLC, and individual
+# contributors as indicated by the @authors tag. See the
+# copyright.txt in the distribution for a full listing of
+# individual contributors.
+#
+# This is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of
+# the License, or (at your option) any later version.
+#
+# This software is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this software; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+#
+
+ConsumerEditor.label.cache=Secondes avant expiration du cache:
+ConsumerEditor.label.expected=Propri�t�s attendues d'enregistrement:
+ConsumerEditor.label.local=Propri�t�s locales d'enregistrement:
+ConsumerEditor.label.name=Nom du consommateur:
+ConsumerEditor.label.timeout=Millisecondes avant timeout:
+ConsumerEditor.label.wsdl=URL du WSDL:
\ No newline at end of file
Modified: portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/portlet.xml
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/portlet.xml 2010-01-21 23:12:55 UTC (rev 1411)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/portlet.xml 2010-01-22 03:05:14 UTC (rev 1412)
@@ -19,7 +19,9 @@
02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
-<portlet-app version="1.0" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
+<portlet-app version="1.0" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
<portlet>
<description xml:lang="EN">Organization Portlet</description>
<portlet-name>OrganizationPortlet</portlet-name>
@@ -80,55 +82,60 @@
</portlet>
<portlet>
- <description xml:lang="EN">Register Portlet</description>
- <portlet-name>RegisterPortlet</portlet-name>
- <display-name xml:lang="EN">Register Portlet</display-name>
- <portlet-class>org.exoplatform.webui.application.portlet.PortletApplicationController</portlet-class>
+ <description xml:lang="EN">Register Portlet</description>
+ <portlet-name>RegisterPortlet</portlet-name>
+ <display-name xml:lang="EN">Register Portlet</display-name>
+ <portlet-class>org.exoplatform.webui.application.portlet.PortletApplicationController</portlet-class>
- <init-param>
- <name>webui.configuration</name>
- <value>/WEB-INF/conf/portlet/exoadmin/RegisterPortlet/webui/configuration.xml</value>
- </init-param>
+ <init-param>
+ <name>webui.configuration</name>
+ <value>/WEB-INF/conf/portlet/exoadmin/RegisterPortlet/webui/configuration.xml</value>
+ </init-param>
- <expiration-cache>0</expiration-cache>
- <supports>
- <mime-type>text/html</mime-type>
- <portlet-mode>help</portlet-mode>
- </supports>
- <supported-locale>en</supported-locale>
+ <expiration-cache>0</expiration-cache>
+ <supports>
+ <mime-type>text/html</mime-type>
+ <portlet-mode>help</portlet-mode>
+ </supports>
+ <supported-locale>en</supported-locale>
- <resource-bundle>locale.portlet.exoadmin.RegisterPortlet</resource-bundle>
- <portlet-info>
- <title>Register Portlet</title>
- <short-title>Register Portlet</short-title>
- <keywords>Administration</keywords>
- </portlet-info>
+ <resource-bundle>locale.portlet.exoadmin.RegisterPortlet</resource-bundle>
+ <portlet-info>
+ <title>Register Portlet</title>
+ <short-title>Register Portlet</short-title>
+ <keywords>Administration</keywords>
+ </portlet-info>
</portlet>
- <portlet>
- <description xml:lang="EN">WSRP Admin Portlet</description>
- <portlet-name>WSRPAdminPortlet</portlet-name>
- <display-name xml:lang="EN">WSRP Admin Portlet</display-name>
- <portlet-class>org.exoplatform.webui.application.portlet.PortletApplicationController</portlet-class>
+ <portlet>
+ <description xml:lang="EN">WSRP Admin Portlet</description>
+ <portlet-name>WSRPAdminPortlet</portlet-name>
+ <display-name xml:lang="EN">WSRP Admin Portlet</display-name>
+ <portlet-class>org.exoplatform.webui.application.portlet.PortletApplicationController</portlet-class>
- <init-param>
- <name>webui.configuration</name>
- <value>/WEB-INF/conf/portlet/exoadmin/WSRPAdminPortlet/webui/configuration.xml</value>
- </init-param>
+ <init-param>
+ <name>webui.configuration</name>
+ <value>/WEB-INF/conf/portlet/exoadmin/WSRPAdminPortlet/webui/configuration.xml</value>
+ </init-param>
- <expiration-cache>0</expiration-cache>
- <supports>
- <mime-type>text/html</mime-type>
- <portlet-mode>help</portlet-mode>
- </supports>
- <supported-locale>en</supported-locale>
+ <expiration-cache>0</expiration-cache>
+ <supports>
+ <mime-type>text/html</mime-type>
+ <portlet-mode>help</portlet-mode>
+ </supports>
+ <supported-locale>en</supported-locale>
- <resource-bundle>locale.portlet.exoadmin.RegisterPortlet</resource-bundle>
- <portlet-info>
- <title>Register Portlet</title>
- <short-title>Register Portlet</short-title>
- <keywords>Administration</keywords>
- </portlet-info>
+ <resource-bundle>locale.portlet.exoadmin.WSRPAdminPortlet</resource-bundle>
+ <portlet-info>
+ <title>WSRP Admin Portlet</title>
+ <short-title>WSRP Admin Portlet</short-title>
+ <keywords>Administration,WSRP</keywords>
+ </portlet-info>
+
+ <security-role-ref>
+ <role-name>admin</role-name>
+ <role-link>admin</role-link>
+ </security-role-ref>
</portlet>
<portlet>
Modified: portal/trunk/webui/core/src/main/java/org/exoplatform/webui/application/ConfigurationManager.java
===================================================================
--- portal/trunk/webui/core/src/main/java/org/exoplatform/webui/application/ConfigurationManager.java 2010-01-21 23:12:55 UTC (rev 1411)
+++ portal/trunk/webui/core/src/main/java/org/exoplatform/webui/application/ConfigurationManager.java 2010-01-22 03:05:14 UTC (rev 1412)
@@ -1,16 +1,16 @@
/**
* Copyright (C) 2009 eXo Platform SAS.
- *
+ *
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
- *
+ *
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
@@ -46,15 +46,16 @@
/**
* May 10, 2006
- *
+ * <p/>
* Manages the ComponentConfig of a list of components.
+ *
* @see ComponentConfig
*/
public class ConfigurationManager
{
/**
* todo (julien) : this map should be synchronized somehow
- *
+ * <p/>
* The components of which we manage the configuration
*/
private Map<String, Component> configs_ = new HashMap<String, Component>();
@@ -62,7 +63,6 @@
private org.exoplatform.webui.config.Application application_;
/**
- *
* @param inputStream A stream that links the configuration file
* @throws Exception
*/
@@ -87,7 +87,9 @@
{
String key = component.getType();
if (component.getId() != null)
+ {
key = key + ":" + component.getId();
+ }
configs_.put(key, component);
}
}
@@ -97,6 +99,7 @@
/**
* Adds components to the list
+ *
* @param configs An array of Component
*/
void setComponentConfigs(Component[] configs)
@@ -105,13 +108,16 @@
{
String key = component.getType();
if (component.getId() != null)
+ {
key = key + ":" + component.getId();
+ }
configs_.put(key, component);
}
}
/**
* Gets the components of a given class
+ *
* @param clazz The class of the components
* @return the list of components
*/
@@ -123,25 +129,32 @@
for (Component comp : values)
{
if (comp.getType().equals(type))
+ {
configs.add(comp);
+ }
}
return configs;
}
/**
* Gets a component of a given class and identified by id
+ *
* @param type The class of the component
- * @param id The id of the component
+ * @param id The id of the component
* @return The component
*/
public Component getComponentConfig(Class<?> type, String id)
{
String key = type.getName();
if (id != null)
+ {
key = key + ":" + id;
+ }
Component config = configs_.get(key);
if (config != null)
+ {
return config;
+ }
try
{
Component[] components = annotationToComponents(type);
@@ -161,7 +174,8 @@
/**
* Gets an array of Component from a ComponentConfig annotation
- * @param cl the classloader to create the annotation
+ *
+ * @param cl the classloader to create the annotation
* @param annClass the annotation class
* @return The array of Component
* @throws Exception
@@ -174,6 +188,7 @@
/**
* Gets an array of Component from a ComponentConfig annotation
+ *
* @param clazz The annotation class from which to get the ComponentConfig
* @return The array of Component
* @throws Exception
@@ -205,40 +220,72 @@
{
Component config = new Component();
if (annotation.id().length() > 0)
+ {
config.setId(annotation.id());
+ }
Class<?> type = annotation.type() == void.class ? clazz : annotation.type();
config.setType(type.getName());
if (annotation.template().length() > 0)
+ {
config.setTemplate(annotation.template());
+ }
if (annotation.lifecycle() != void.class)
+ {
config.setLifecycle(annotation.lifecycle().getName());
+ }
if (annotation.decorator().length() > 0)
+ {
config.setDecorator(annotation.decorator());
+ }
config.setInitParams(toInitParams(annotation.initParams()));
EventConfig[] eventAnnotations = annotation.events();
- ArrayList<Event> events = new ArrayList<Event>();
- for (EventConfig eventAnnotation : eventAnnotations)
+ List<Event> events;
+ if (eventAnnotations.length != 0)
{
- events.add(toEventConfig(eventAnnotation));
+ events = new ArrayList<Event>();
+ for (EventConfig eventAnnotation : eventAnnotations)
+ {
+ events.add(toEventConfig(eventAnnotation));
+ }
}
+ else
+ {
+ events = Collections.emptyList();
+ }
config.setEvents(events);
EventInterceptorConfig[] eventInterceptorAnnotations = annotation.eventInterceptors();
- ArrayList<EventInterceptor> eventInterceptors = new ArrayList<EventInterceptor>();
- for (EventInterceptorConfig eventAnnotation : eventInterceptorAnnotations)
+ List<EventInterceptor> eventInterceptors;
+ if (eventInterceptorAnnotations.length != 0)
{
- eventInterceptors.add(toEventInterceptorConfig(eventAnnotation));
+ eventInterceptors = new ArrayList<EventInterceptor>();
+ for (EventInterceptorConfig eventAnnotation : eventInterceptorAnnotations)
+ {
+ eventInterceptors.add(toEventInterceptorConfig(eventAnnotation));
+ }
}
+ else
+ {
+ eventInterceptors = Collections.emptyList();
+ }
config.setEventInterceptors(eventInterceptors);
ValidatorConfig[] validatorAnnotations = annotation.validators();
- ArrayList<Validator> validators = new ArrayList<Validator>();
- for (ValidatorConfig ele : validatorAnnotations)
+ List<Validator> validators;
+ if (validatorAnnotations.length != 0)
{
- validators.add(toValidator(ele));
+ validators = new ArrayList<Validator>();
+ for (ValidatorConfig ele : validatorAnnotations)
+ {
+ validators.add(toValidator(ele));
+ }
}
+ else
+ {
+ validators = Collections.emptyList();
+ }
config.setValidators(validators);
return config;
@@ -264,7 +311,9 @@
String name = annotation.listeners()[0].getSimpleName();
int idx = name.indexOf("ActionListener");
if (idx > -1)
+ {
name = name.substring(0, idx);
+ }
event.setName(name);
}
event.setListeners(listeners);
@@ -293,7 +342,9 @@
private InitParams toInitParams(ParamConfig[] annotations)
{
if (annotations == null || annotations.length < 1)
+ {
return null;
+ }
ArrayList<Param> listParam = new ArrayList<Param>();
for (ParamConfig ele : annotations)
{
Modified: portal/trunk/webui/core/src/main/java/org/exoplatform/webui/config/Component.java
===================================================================
--- portal/trunk/webui/core/src/main/java/org/exoplatform/webui/config/Component.java 2010-01-21 23:12:55 UTC (rev 1411)
+++ portal/trunk/webui/core/src/main/java/org/exoplatform/webui/config/Component.java 2010-01-22 03:05:14 UTC (rev 1412)
@@ -1,16 +1,16 @@
/**
* Copyright (C) 2009 eXo Platform SAS.
- *
+ *
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
- *
+ *
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
@@ -28,12 +28,7 @@
import java.util.List;
import java.util.Map;
-/**
- * Created by The eXo Platform SARL
- * Author : Tuan Nguyen
- * tuan08(a)users.sourceforge.net
- * May 4, 2006
- */
+/** Created by The eXo Platform SARL Author : Tuan Nguyen tuan08(a)users.sourceforge.net May 4, 2006 */
public class Component
{
@@ -49,11 +44,11 @@
private InitParams initParams;
- private ArrayList<Validator> validators;
+ private List<Validator> validators;
- private ArrayList<Event> events;
+ private List<Event> events;
- private ArrayList<EventInterceptor> eventInterceptors;
+ private List<EventInterceptor> eventInterceptors;
transient private Map<String, Event> eventMap;
@@ -119,32 +114,32 @@
this.initParams = initParams;
}
- public ArrayList<Validator> getValidators()
+ public List<Validator> getValidators()
{
return validators;
}
- public void setValidators(ArrayList<Validator> validators)
+ public void setValidators(List<Validator> validators)
{
this.validators = validators;
}
- public ArrayList<Event> getEvents()
+ public List<Event> getEvents()
{
return events;
}
- public void setEvents(ArrayList<Event> events)
+ public void setEvents(List<Event> events)
{
this.events = events;
}
- public ArrayList<EventInterceptor> getEventInterceptors()
+ public List<EventInterceptor> getEventInterceptors()
{
return eventInterceptors;
}
- public void setEventInterceptors(ArrayList<EventInterceptor> events)
+ public void setEventInterceptors(List<EventInterceptor> events)
{
eventInterceptors = events;
}
@@ -152,10 +147,14 @@
public Event getUIComponentEventConfig(String eventName) throws Exception
{
if (eventMap != null)
+ {
return eventMap.get(eventName);
+ }
eventMap = new HashMap<String, Event>();
if (events == null)
+ {
return null;
+ }
for (Event event : events)
{
createCachedEventListeners(event);
@@ -168,10 +167,14 @@
{
Event event = getUIComponentEventConfig(eventName);
if (event == null)
+ {
return null;
+ }
List<EventListener> cachedListeners = event.getCachedEventListeners();
if (cachedListeners != null)
+ {
return cachedListeners;
+ }
cachedListeners = new ArrayList<EventListener>();
for (String listener : event.getListeners())
{
@@ -192,7 +195,9 @@
for (String listener : event.getListeners())
{
if (listener.indexOf(".") < 0)
+ {
listener = type + "$" + listener;
+ }
EventListener eventListener = (EventListener)Util.createObject(listener, event.getInitParams());
cachedListeners.add(eventListener);
}
@@ -202,7 +207,9 @@
public Lifecycle getUIComponentLifecycle() throws Exception
{
if (componentLifecycle != null)
+ {
return componentLifecycle;
+ }
if (lifecycle != null)
{
componentLifecycle = (Lifecycle)Util.createObject(lifecycle, null);
Modified: portal/trunk/webui/core/src/main/java/org/exoplatform/webui/core/UIComponent.java
===================================================================
--- portal/trunk/webui/core/src/main/java/org/exoplatform/webui/core/UIComponent.java 2010-01-21 23:12:55 UTC (rev 1411)
+++ portal/trunk/webui/core/src/main/java/org/exoplatform/webui/core/UIComponent.java 2010-01-22 03:05:14 UTC (rev 1412)
@@ -21,12 +21,15 @@
import org.exoplatform.container.ExoContainer;
import org.exoplatform.resolver.ResourceResolver;
+import org.exoplatform.services.log.ExoLogger;
+import org.exoplatform.services.log.Log;
import org.exoplatform.web.application.Parameter;
import org.exoplatform.web.application.URLBuilder;
import org.exoplatform.webui.application.WebuiApplication;
import org.exoplatform.webui.application.WebuiRequestContext;
import org.exoplatform.webui.application.replication.api.annotations.Serialized;
import org.exoplatform.webui.config.Component;
+import org.exoplatform.webui.core.lifecycle.Lifecycle;
import org.exoplatform.webui.core.renderers.ValueRenderer;
import org.exoplatform.webui.core.renderers.ValueRendererRegistry;
import org.exoplatform.webui.event.Event;
@@ -41,6 +44,7 @@
@Serialized
abstract public class UIComponent
{
+ private static final Log log = ExoLogger.getLogger("webui:UIComponent");
final static public String OBJECTID = "objectId";
@@ -59,6 +63,7 @@
protected transient Component config;
private transient ValueRendererRegistry rendererRegistry = new ValueRendererRegistry();
+ private static final Lifecycle DEFAULT_LIFECYCLE = new Lifecycle();
public String getId()
{
@@ -120,7 +125,7 @@
public void processDecode(WebuiRequestContext context) throws Exception
{
MonitorEvent<UIComponent> mevent = createMonitorEvent(Event.Phase.DECODE, context);
- config.getUIComponentLifecycle().processDecode(this, context);
+ getLifecycle().processDecode(this, context);
if (mevent != null)
{
mevent.setEndExecutionTime(System.currentTimeMillis());
@@ -131,7 +136,7 @@
public void processAction(WebuiRequestContext context) throws Exception
{
MonitorEvent<UIComponent> mevent = createMonitorEvent(Event.Phase.PROCESS, context);
- config.getUIComponentLifecycle().processAction(this, context);
+ getLifecycle().processAction(this, context);
if (mevent != null)
{
mevent.setEndExecutionTime(System.currentTimeMillis());
@@ -142,7 +147,7 @@
public void processRender(WebuiRequestContext context) throws Exception
{
MonitorEvent<UIComponent> mevent = createMonitorEvent(Event.Phase.RENDER, context);
- config.getUIComponentLifecycle().processRender(this, context);
+ getLifecycle().processRender(this, context);
if (mevent != null)
{
mevent.setEndExecutionTime(System.currentTimeMillis());
@@ -150,6 +155,16 @@
}
}
+ private Lifecycle getLifecycle() throws Exception
+ {
+ if (config == null)
+ {
+ log.debug("No config was found for " + getClass().getSimpleName() + " with id '" + id + "'. Using a default one.");
+ return DEFAULT_LIFECYCLE;
+ }
+ return config.getUIComponentLifecycle();
+ }
+
//
// public void processDestroy(WebuiRequestContext context) throws Exception {
// MonitorEvent<UIComponent> mevent = createMonitorEvent(Event.Phase.DESTROY, context);
Modified: portal/trunk/webui/core/src/main/java/org/exoplatform/webui/core/UIGrid.java
===================================================================
--- portal/trunk/webui/core/src/main/java/org/exoplatform/webui/core/UIGrid.java 2010-01-21 23:12:55 UTC (rev 1411)
+++ portal/trunk/webui/core/src/main/java/org/exoplatform/webui/core/UIGrid.java 2010-01-22 03:05:14 UTC (rev 1412)
@@ -49,8 +49,6 @@
/** An array of String representing the actions on each bean */
protected String[] action_;
- protected String classname_;
-
protected String label_;
protected boolean useAjax = true;
@@ -96,11 +94,6 @@
return uiIterator_.getCurrentPageData();
}
- public String getName()
- {
- return classname_;
- }
-
public String getLabel()
{
return label_;
Modified: portal/trunk/webui/core/src/main/java/org/exoplatform/webui/core/renderers/ValueRendererRegistry.java
===================================================================
--- portal/trunk/webui/core/src/main/java/org/exoplatform/webui/core/renderers/ValueRendererRegistry.java 2010-01-21 23:12:55 UTC (rev 1411)
+++ portal/trunk/webui/core/src/main/java/org/exoplatform/webui/core/renderers/ValueRendererRegistry.java 2010-01-22 03:05:14 UTC (rev 1412)
@@ -43,6 +43,8 @@
static
{
+ registerDefaultRendererFor(ValueRenderer.DEFAULT_RENDERER, String.class);
+
FormattableValueRenderer<Number> numberRenderer = new FormattableValueRenderer<Number>(null, "number");
registerDefaultRendererFor(numberRenderer, Number.class);
registerDefaultRendererFor(numberRenderer, Byte.class);
Modified: portal/trunk/webui/core/src/main/java/org/exoplatform/webui/form/UIForm.java
===================================================================
--- portal/trunk/webui/core/src/main/java/org/exoplatform/webui/form/UIForm.java 2010-01-21 23:12:55 UTC (rev 1411)
+++ portal/trunk/webui/core/src/main/java/org/exoplatform/webui/form/UIForm.java 2010-01-22 03:05:14 UTC (rev 1412)
@@ -1,16 +1,16 @@
/**
* Copyright (C) 2009 eXo Platform SAS.
- *
+ *
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
- *
+ *
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
@@ -29,16 +29,11 @@
import org.exoplatform.webui.core.UIContainer;
import java.io.Writer;
-import java.util.ArrayList;
+import java.util.List;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
-/**
- * Created by The eXo Platform SARL
- * Author : Dang Van Minh
- * minhdv81(a)yahoo.com
- * Jun 6, 2006
- */
+/** Created by The eXo Platform SARL Author : Dang Van Minh minhdv81(a)yahoo.com Jun 6, 2006 */
@Serialized
public class UIForm extends UIContainer
{
@@ -153,14 +148,18 @@
public void invokeGetBindingBean(Object bean) throws Exception
{
if (beanMapping == null)
+ {
beanMapping = ReflectionDataMapping.getInstance();
+ }
beanMapping.mapField(this, bean);
}
public void invokeSetBindingBean(Object bean) throws Exception
{
if (beanMapping == null)
+ {
beanMapping = ReflectionDataMapping.getInstance();
+ }
beanMapping.mapBean(bean, this);
}
@@ -173,9 +172,13 @@
Writer writer = context.getWriter();
writer.append("<form class=\"UIForm\" id=\"").append(getId()).append("\" action=\"").append(b).append('\"');
if (submitAction_ != null)
+ {
writer.append(" onsubmit=\"").append(submitAction_).append("\"");
+ }
if (multipart_)
+ {
writer.append(" enctype=\"multipart/form-data\"");
+ }
writer.append(" method=\"post\">");
writer.append("<div><input type=\"hidden\" name=\"").append(ACTION).append("\" value=\"\"/></div>");
}
@@ -210,8 +213,10 @@
public String[] getActions()
{
if (actions_ != null)
+ {
return actions_;
- ArrayList<Event> events = config.getEvents();
+ }
+ List<Event> events = config.getEvents();
actions_ = new String[events.size()];
for (int i = 0; i < actions_.length; i++)
{
@@ -223,8 +228,7 @@
public void renderField(String name) throws Exception
{
UIComponent uiInput = findComponentById(name);
- WebuiRequestContext context = WebuiRequestContext.getCurrentInstance();
- uiInput.processRender(context);
+ renderField(uiInput);
}
public void renderField(UIComponent uiInput) throws Exception
@@ -279,7 +283,9 @@
UIComponent subComponent = findComponentById(componentId);
org.exoplatform.webui.config.Event event = subComponent.getComponentConfig().getUIComponentEventConfig(name);
if (event == null)
+ {
return "??config??";
+ }
String confirm = event.getConfirm();
if (confirm != null && confirm.trim().length() > 0)
{
@@ -293,7 +299,9 @@
b.append(name).append("','");
b.append("&").append(SUBCOMPONENT_ID).append("=").append(componentId);
if (beanId != null)
+ {
b.append("&").append(OBJECTID).append("=").append(beanId);
+ }
b.append("')");
return b.toString();
}
14 years, 11 months
gatein SVN: r1411 - in components/wsrp/trunk: admin-gui and 7 other directories.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-01-21 18:12:55 -0500 (Thu, 21 Jan 2010)
New Revision: 1411
Modified:
components/wsrp/trunk/admin-gui/pom.xml
components/wsrp/trunk/api/pom.xml
components/wsrp/trunk/common/pom.xml
components/wsrp/trunk/consumer/pom.xml
components/wsrp/trunk/pom.xml
components/wsrp/trunk/producer/pom.xml
components/wsrp/trunk/test/pom.xml
components/wsrp/trunk/wsrp-producer-war/pom.xml
components/wsrp/trunk/wsrp1-ws/pom.xml
Log:
[maven-release-plugin] prepare for next development iteration
Modified: components/wsrp/trunk/admin-gui/pom.xml
===================================================================
--- components/wsrp/trunk/admin-gui/pom.xml 2010-01-21 23:12:33 UTC (rev 1410)
+++ components/wsrp/trunk/admin-gui/pom.xml 2010-01-21 23:12:55 UTC (rev 1411)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06</version>
+ <version>1.0.0-Beta07-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-admin-gui</artifactId>
Modified: components/wsrp/trunk/api/pom.xml
===================================================================
--- components/wsrp/trunk/api/pom.xml 2010-01-21 23:12:33 UTC (rev 1410)
+++ components/wsrp/trunk/api/pom.xml 2010-01-21 23:12:55 UTC (rev 1411)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06</version>
+ <version>1.0.0-Beta07-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-integration-api</artifactId>
Modified: components/wsrp/trunk/common/pom.xml
===================================================================
--- components/wsrp/trunk/common/pom.xml 2010-01-21 23:12:33 UTC (rev 1410)
+++ components/wsrp/trunk/common/pom.xml 2010-01-21 23:12:55 UTC (rev 1411)
@@ -24,7 +24,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06</version>
+ <version>1.0.0-Beta07-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-common</artifactId>
Modified: components/wsrp/trunk/consumer/pom.xml
===================================================================
--- components/wsrp/trunk/consumer/pom.xml 2010-01-21 23:12:33 UTC (rev 1410)
+++ components/wsrp/trunk/consumer/pom.xml 2010-01-21 23:12:55 UTC (rev 1411)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06</version>
+ <version>1.0.0-Beta07-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-consumer</artifactId>
Modified: components/wsrp/trunk/pom.xml
===================================================================
--- components/wsrp/trunk/pom.xml 2010-01-21 23:12:33 UTC (rev 1410)
+++ components/wsrp/trunk/pom.xml 2010-01-21 23:12:55 UTC (rev 1411)
@@ -29,7 +29,7 @@
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06</version>
+ <version>1.0.0-Beta07-SNAPSHOT</version>
<packaging>pom</packaging>
@@ -40,9 +40,9 @@
</parent>
<scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/wsrp/tags/1.0.0-...</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/wsrp/tags/1.0.0-Beta06</developerConnection>
- <url>http://fisheye.jboss.org/browse/gatein/components/wsrp/tags/1.0.0-Beta06</url>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/wsrp/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/wsrp/trunk/</developerConnection>
+ <url>http://fisheye.jboss.org/browse/gatein/components/wsrp/trunk/</url>
</scm>
<properties>
Modified: components/wsrp/trunk/producer/pom.xml
===================================================================
--- components/wsrp/trunk/producer/pom.xml 2010-01-21 23:12:33 UTC (rev 1410)
+++ components/wsrp/trunk/producer/pom.xml 2010-01-21 23:12:55 UTC (rev 1411)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06</version>
+ <version>1.0.0-Beta07-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-producer-lib</artifactId>
Modified: components/wsrp/trunk/test/pom.xml
===================================================================
--- components/wsrp/trunk/test/pom.xml 2010-01-21 23:12:33 UTC (rev 1410)
+++ components/wsrp/trunk/test/pom.xml 2010-01-21 23:12:55 UTC (rev 1411)
@@ -3,7 +3,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06</version>
+ <version>1.0.0-Beta07-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/wsrp-producer-war/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp-producer-war/pom.xml 2010-01-21 23:12:33 UTC (rev 1410)
+++ components/wsrp/trunk/wsrp-producer-war/pom.xml 2010-01-21 23:12:55 UTC (rev 1411)
@@ -26,7 +26,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06</version>
+ <version>1.0.0-Beta07-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/wsrp1-ws/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp1-ws/pom.xml 2010-01-21 23:12:33 UTC (rev 1410)
+++ components/wsrp/trunk/wsrp1-ws/pom.xml 2010-01-21 23:12:55 UTC (rev 1411)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06</version>
+ <version>1.0.0-Beta07-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-wsrp1-ws</artifactId>
14 years, 11 months
gatein SVN: r1410 - components/wsrp/tags.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-01-21 18:12:33 -0500 (Thu, 21 Jan 2010)
New Revision: 1410
Added:
components/wsrp/tags/1.0.0-Beta06/
Log:
[maven-scm] copy for tag 1.0.0-Beta06
Copied: components/wsrp/tags/1.0.0-Beta06 (from rev 1409, components/wsrp/trunk)
14 years, 11 months
gatein SVN: r1409 - in components/wsrp/trunk: admin-gui and 7 other directories.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-01-21 18:11:07 -0500 (Thu, 21 Jan 2010)
New Revision: 1409
Modified:
components/wsrp/trunk/admin-gui/pom.xml
components/wsrp/trunk/api/pom.xml
components/wsrp/trunk/common/pom.xml
components/wsrp/trunk/consumer/pom.xml
components/wsrp/trunk/pom.xml
components/wsrp/trunk/producer/pom.xml
components/wsrp/trunk/test/pom.xml
components/wsrp/trunk/wsrp-producer-war/pom.xml
components/wsrp/trunk/wsrp1-ws/pom.xml
Log:
[maven-release-plugin] prepare release 1.0.0-Beta06
Modified: components/wsrp/trunk/admin-gui/pom.xml
===================================================================
--- components/wsrp/trunk/admin-gui/pom.xml 2010-01-21 18:40:09 UTC (rev 1408)
+++ components/wsrp/trunk/admin-gui/pom.xml 2010-01-21 23:11:07 UTC (rev 1409)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06-SNAPSHOT</version>
+ <version>1.0.0-Beta06</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-admin-gui</artifactId>
Modified: components/wsrp/trunk/api/pom.xml
===================================================================
--- components/wsrp/trunk/api/pom.xml 2010-01-21 18:40:09 UTC (rev 1408)
+++ components/wsrp/trunk/api/pom.xml 2010-01-21 23:11:07 UTC (rev 1409)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06-SNAPSHOT</version>
+ <version>1.0.0-Beta06</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-integration-api</artifactId>
Modified: components/wsrp/trunk/common/pom.xml
===================================================================
--- components/wsrp/trunk/common/pom.xml 2010-01-21 18:40:09 UTC (rev 1408)
+++ components/wsrp/trunk/common/pom.xml 2010-01-21 23:11:07 UTC (rev 1409)
@@ -24,7 +24,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06-SNAPSHOT</version>
+ <version>1.0.0-Beta06</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-common</artifactId>
Modified: components/wsrp/trunk/consumer/pom.xml
===================================================================
--- components/wsrp/trunk/consumer/pom.xml 2010-01-21 18:40:09 UTC (rev 1408)
+++ components/wsrp/trunk/consumer/pom.xml 2010-01-21 23:11:07 UTC (rev 1409)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06-SNAPSHOT</version>
+ <version>1.0.0-Beta06</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-consumer</artifactId>
Modified: components/wsrp/trunk/pom.xml
===================================================================
--- components/wsrp/trunk/pom.xml 2010-01-21 18:40:09 UTC (rev 1408)
+++ components/wsrp/trunk/pom.xml 2010-01-21 23:11:07 UTC (rev 1409)
@@ -29,7 +29,7 @@
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06-SNAPSHOT</version>
+ <version>1.0.0-Beta06</version>
<packaging>pom</packaging>
@@ -40,9 +40,9 @@
</parent>
<scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/wsrp/trunk/</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/wsrp/trunk/</developerConnection>
- <url>http://fisheye.jboss.org/browse/gatein/components/wsrp/trunk/</url>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/wsrp/tags/1.0.0-...</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/wsrp/tags/1.0.0-Beta06</developerConnection>
+ <url>http://fisheye.jboss.org/browse/gatein/components/wsrp/tags/1.0.0-Beta06</url>
</scm>
<properties>
Modified: components/wsrp/trunk/producer/pom.xml
===================================================================
--- components/wsrp/trunk/producer/pom.xml 2010-01-21 18:40:09 UTC (rev 1408)
+++ components/wsrp/trunk/producer/pom.xml 2010-01-21 23:11:07 UTC (rev 1409)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06-SNAPSHOT</version>
+ <version>1.0.0-Beta06</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-producer-lib</artifactId>
Modified: components/wsrp/trunk/test/pom.xml
===================================================================
--- components/wsrp/trunk/test/pom.xml 2010-01-21 18:40:09 UTC (rev 1408)
+++ components/wsrp/trunk/test/pom.xml 2010-01-21 23:11:07 UTC (rev 1409)
@@ -3,7 +3,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06-SNAPSHOT</version>
+ <version>1.0.0-Beta06</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/wsrp-producer-war/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp-producer-war/pom.xml 2010-01-21 18:40:09 UTC (rev 1408)
+++ components/wsrp/trunk/wsrp-producer-war/pom.xml 2010-01-21 23:11:07 UTC (rev 1409)
@@ -26,7 +26,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06-SNAPSHOT</version>
+ <version>1.0.0-Beta06</version>
</parent>
<modelVersion>4.0.0</modelVersion>
Modified: components/wsrp/trunk/wsrp1-ws/pom.xml
===================================================================
--- components/wsrp/trunk/wsrp1-ws/pom.xml 2010-01-21 18:40:09 UTC (rev 1408)
+++ components/wsrp/trunk/wsrp1-ws/pom.xml 2010-01-21 23:11:07 UTC (rev 1409)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.wsrp</groupId>
<artifactId>wsrp-parent</artifactId>
- <version>1.0.0-Beta06-SNAPSHOT</version>
+ <version>1.0.0-Beta06</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>wsrp-wsrp1-ws</artifactId>
14 years, 11 months
gatein SVN: r1408 - in portal/trunk: component/web/src/main/java/org/exoplatform/web/login and 3 other directories.
by do-not-reply@jboss.org
Author: bdaw
Date: 2010-01-21 13:40:09 -0500 (Thu, 21 Jan 2010)
New Revision: 1408
Added:
portal/trunk/component/web/src/main/java/org/exoplatform/web/login/ClusteredSSOFilter.java
Modified:
portal/trunk/component/web/pom.xml
portal/trunk/component/web/src/main/java/org/exoplatform/web/security/Credentials.java
portal/trunk/component/web/src/main/java/org/exoplatform/web/security/PortalLoginModule.java
portal/trunk/server/jboss/patch-ear/src/main/jboss/server/default/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml
portal/trunk/web/portal/src/main/webapp/WEB-INF/web.xml
Log:
- Workaround for identity propagation problems in clustered configuration
Modified: portal/trunk/component/web/pom.xml
===================================================================
--- portal/trunk/component/web/pom.xml 2010-01-21 18:39:28 UTC (rev 1407)
+++ portal/trunk/component/web/pom.xml 2010-01-21 18:40:09 UTC (rev 1408)
@@ -97,5 +97,18 @@
<artifactId>json</artifactId>
<type>jar</type>
</dependency>
+
+ <dependency>
+ <groupId>javax.security</groupId>
+ <artifactId>jacc</artifactId>
+ <version>1.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-tomcat</artifactId>
+ <version>5.1.0.GA</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
</project>
Added: portal/trunk/component/web/src/main/java/org/exoplatform/web/login/ClusteredSSOFilter.java
===================================================================
--- portal/trunk/component/web/src/main/java/org/exoplatform/web/login/ClusteredSSOFilter.java (rev 0)
+++ portal/trunk/component/web/src/main/java/org/exoplatform/web/login/ClusteredSSOFilter.java 2010-01-21 18:40:09 UTC (rev 1408)
@@ -0,0 +1,73 @@
+/*
+* JBoss, a division of Red Hat
+* Copyright 2010, Red Hat Middleware, and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+
+
+package org.exoplatform.web.login;
+
+import org.exoplatform.container.web.AbstractFilter;
+import org.exoplatform.services.security.IdentityRegistry;
+import org.exoplatform.web.security.Credentials;
+import org.exoplatform.web.security.PortalLoginModule;
+
+import org.jboss.web.tomcat.security.login.WebAuthentication;
+
+import javax.security.auth.login.LoginException;
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+
+public class ClusteredSSOFilter extends AbstractFilter
+{
+
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
+ {
+
+ HttpServletRequest httpRequest = (HttpServletRequest)request;
+
+ Credentials credentials = (Credentials)httpRequest.getSession().getAttribute(PortalLoginModule.AUTHENTICATED_CREDENTIALS);
+
+ // Make programatic login if authenticated credentials are present in session - they were set in another cluster node
+ if (credentials != null && httpRequest.getRemoteUser() == null)
+ {
+ WebAuthentication pwl = new WebAuthentication();
+ pwl.login(credentials.getUsername(), credentials.getPassword());
+
+ }
+
+ chain.doFilter(request, response);
+
+ // TODO:
+ // This is a workaround... without this code this attr will vanish from session after first request - don't ask...
+ if (credentials != null && httpRequest.getSession(false) != null)
+ {
+ httpRequest.getSession(false).setAttribute(PortalLoginModule.AUTHENTICATED_CREDENTIALS, credentials);
+ }
+ }
+
+ public void destroy()
+ {
+ //To change body of implemented methods use File | Settings | File Templates.
+ }
+}
Modified: portal/trunk/component/web/src/main/java/org/exoplatform/web/security/Credentials.java
===================================================================
--- portal/trunk/component/web/src/main/java/org/exoplatform/web/security/Credentials.java 2010-01-21 18:39:28 UTC (rev 1407)
+++ portal/trunk/component/web/src/main/java/org/exoplatform/web/security/Credentials.java 2010-01-21 18:40:09 UTC (rev 1408)
@@ -19,13 +19,15 @@
package org.exoplatform.web.security;
+import java.io.Serializable;
+
/**
* An immutable object that contains a username and a password.
*
* @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a>
* @version $Revision$
*/
-public class Credentials
+public class Credentials implements Serializable
{
Modified: portal/trunk/component/web/src/main/java/org/exoplatform/web/security/PortalLoginModule.java
===================================================================
--- portal/trunk/component/web/src/main/java/org/exoplatform/web/security/PortalLoginModule.java 2010-01-21 18:39:28 UTC (rev 1407)
+++ portal/trunk/component/web/src/main/java/org/exoplatform/web/security/PortalLoginModule.java 2010-01-21 18:40:09 UTC (rev 1408)
@@ -23,6 +23,7 @@
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
import org.exoplatform.services.security.jaas.AbstractLoginModule;
+import org.exoplatform.web.login.InitiateLoginServlet;
import org.exoplatform.web.security.security.CookieTokenService;
import org.exoplatform.web.security.security.TransientTokenService;
@@ -30,6 +31,8 @@
import javax.security.auth.callback.NameCallback;
import javax.security.auth.callback.PasswordCallback;
import javax.security.auth.login.LoginException;
+import javax.security.jacc.PolicyContext;
+import javax.servlet.http.HttpServletRequest;
/**
* A login module implementation that relies on the token store to check the
@@ -52,6 +55,10 @@
*/
protected Log log = ExoLogger.getLogger(PortalLoginModule.class);
+ public static final String CLUSTERED_SSO = "clusteredSSO";
+
+ public static final String AUTHENTICATED_CREDENTIALS = "authenticatedCredentials";
+
/**
* @see javax.security.auth.spi.LoginModule#login()
*/
@@ -77,6 +84,28 @@
((CookieTokenService)container.getComponentInstanceOfType(CookieTokenService.class)).validateToken(
password, false);
//
+
+ // For clastered config check credentials stored and propagated in session. This won't work in tomcat because
+ // of lack of JACC PolicyContext so the code must be a bit defensive
+ if (o == null && isClusteredSSO() && password.startsWith(InitiateLoginServlet.COOKIE_NAME))
+ {
+ HttpServletRequest request = null;
+ try
+ {
+ request = (HttpServletRequest)PolicyContext.getContext("javax.servlet.http.HttpServletRequest");
+
+ o = request.getSession().getAttribute(AUTHENTICATED_CREDENTIALS);
+
+ }
+ catch(Throwable e)
+ {
+ log.error(this,e);
+ log.error("LoginModule error. Turn off session credentials checking with proper configuration option of " +
+ "LoginModule set to false: " + CLUSTERED_SSO);
+ }
+
+ }
+
if (o instanceof Credentials)
{
Credentials wc = (Credentials)o;
@@ -100,6 +129,31 @@
*/
public boolean commit() throws LoginException
{
+
+ if (isClusteredSSO() &&
+ sharedState.containsKey("javax.security.auth.login.name") &&
+ sharedState.containsKey("javax.security.auth.login.password"))
+ {
+ String uid = (String)sharedState.get("javax.security.auth.login.name");
+ String pass = (String)sharedState.get("javax.security.auth.login.password");
+
+ Credentials wc = new Credentials(uid, pass);
+
+ HttpServletRequest request = null;
+ try
+ {
+ request = (HttpServletRequest)PolicyContext.getContext("javax.servlet.http.HttpServletRequest");
+
+ request.getSession().setAttribute(AUTHENTICATED_CREDENTIALS, wc);
+
+ }
+ catch(Exception e)
+ {
+ log.error(this,e);
+ log.error("LoginModule error. Turn off session credentials checking with proper configuration option of " +
+ "LoginModule set to false: " + CLUSTERED_SSO);
+ }
+ }
return true;
}
@@ -124,4 +178,18 @@
{
return log;
}
+
+ protected boolean isClusteredSSO()
+ {
+ if (options != null)
+ {
+ String optionValue = (String)options.get(CLUSTERED_SSO);
+ if (optionValue != null && optionValue.length() > 0 && optionValue.equalsIgnoreCase("true"))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
}
Modified: portal/trunk/server/jboss/patch-ear/src/main/jboss/server/default/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml
===================================================================
--- portal/trunk/server/jboss/patch-ear/src/main/jboss/server/default/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml 2010-01-21 18:39:28 UTC (rev 1407)
+++ portal/trunk/server/jboss/patch-ear/src/main/jboss/server/default/deploy/gatein.ear/META-INF/gatein-jboss-beans.xml 2010-01-21 18:40:09 UTC (rev 1408)
@@ -5,6 +5,10 @@
<login-module code="org.exoplatform.web.security.PortalLoginModule" flag="required">
<module-option name="portalContainerName">portal</module-option>
<module-option name="realmName">gatein-domain</module-option>
+ <!--Uncomment in clustered setup-->
+ <!--
+ <module-option name="clusteredSSO">true</module-option>
+ -->
</login-module>
<login-module code="org.exoplatform.services.security.jaas.SharedStateLoginModule" flag="required">
<module-option name="portalContainerName">portal</module-option>
Modified: portal/trunk/web/portal/src/main/webapp/WEB-INF/web.xml
===================================================================
--- portal/trunk/web/portal/src/main/webapp/WEB-INF/web.xml 2010-01-21 18:39:28 UTC (rev 1407)
+++ portal/trunk/web/portal/src/main/webapp/WEB-INF/web.xml 2010-01-21 18:40:09 UTC (rev 1408)
@@ -24,8 +24,13 @@
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
- <display-name>portal</display-name>
-
+ <display-name>portal</display-name>
+
+ <!--Uncomment for clustered setup-->
+ <!--
+ <distributable/>
+ -->
+
<context-param>
<param-name>org.exoplatform.frameworks.jcr.command.web.fckeditor.digitalAssetsWorkspace</param-name>
<param-value>portal</param-value>
@@ -59,6 +64,8 @@
<filter-name>SetCurrentIdentityFilter</filter-name>
<filter-class>org.exoplatform.services.security.web.SetCurrentIdentityFilter</filter-class>
</filter>
+
+
<filter>
<filter-name>RestEncodingFilter</filter-name>
@@ -73,6 +80,19 @@
<filter-name>CacheUserProfileFilter</filter-name>
<filter-class>org.exoplatform.web.CacheUserProfileFilter</filter-class>
</filter>
+
+ <!--Uncomment for clustered setup-->
+ <!--
+ <filter>
+ <filter-name>ClusteredSSOFilter</filter-name>
+ <filter-class>org.exoplatform.web.login.ClusteredSSOFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>ClusteredSSOFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+ -->
<filter-mapping>
<filter-name>GenericFilter</filter-name>
14 years, 11 months
gatein SVN: r1407 - portal/trunk.
by do-not-reply@jboss.org
Author: julien_viet
Date: 2010-01-21 13:39:28 -0500 (Thu, 21 Jan 2010)
New Revision: 1407
Modified:
portal/trunk/pom.xml
Log:
GTNPORTAL-546 : Update to MOP 1.0.0-Beta14 and Chromattic 1.0.0-beta14
Modified: portal/trunk/pom.xml
===================================================================
--- portal/trunk/pom.xml 2010-01-21 14:09:13 UTC (rev 1406)
+++ portal/trunk/pom.xml 2010-01-21 18:39:28 UTC (rev 1407)
@@ -48,12 +48,12 @@
<org.gatein.pc.version>2.1.0-CR02</org.gatein.pc.version>
<org.picketlink.idm>1.1.0.Beta2</org.picketlink.idm>
<org.gatein.wsrp.version>1.0.0-Beta05</org.gatein.wsrp.version>
- <org.gatein.mop.version>1.0.0-Beta13</org.gatein.mop.version>
+ <org.gatein.mop.version>1.0.0-Beta14</org.gatein.mop.version>
<org.slf4j.version>1.5.6</org.slf4j.version>
<rhino.version>1.6R5</rhino.version>
<org.codehaus.groovy.version>1.6.5</org.codehaus.groovy.version>
<javax.servlet.version>2.5</javax.servlet.version>
- <version.chromattic>1.0.0-beta13</version.chromattic>
+ <version.chromattic>1.0.0-beta14</version.chromattic>
<version.reflect>1.0.0-beta5</version.reflect>
<!-- ************** -->
14 years, 11 months
gatein SVN: r1406 - in components/mop/trunk: api and 2 other directories.
by do-not-reply@jboss.org
Author: julien_viet
Date: 2010-01-21 09:09:13 -0500 (Thu, 21 Jan 2010)
New Revision: 1406
Modified:
components/mop/trunk/api/pom.xml
components/mop/trunk/core/pom.xml
components/mop/trunk/pom.xml
components/mop/trunk/spi/pom.xml
Log:
[maven-release-plugin] prepare for next development iteration
Modified: components/mop/trunk/api/pom.xml
===================================================================
--- components/mop/trunk/api/pom.xml 2010-01-21 14:09:00 UTC (rev 1405)
+++ components/mop/trunk/api/pom.xml 2010-01-21 14:09:13 UTC (rev 1406)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.mop</groupId>
<artifactId>mop-parent</artifactId>
- <version>1.0.0-Beta14</version>
+ <version>1.0.0-Beta15-SNAPSHOT</version>
</parent>
<!-- ****************** -->
Modified: components/mop/trunk/core/pom.xml
===================================================================
--- components/mop/trunk/core/pom.xml 2010-01-21 14:09:00 UTC (rev 1405)
+++ components/mop/trunk/core/pom.xml 2010-01-21 14:09:13 UTC (rev 1406)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.mop</groupId>
<artifactId>mop-parent</artifactId>
- <version>1.0.0-Beta14</version>
+ <version>1.0.0-Beta15-SNAPSHOT</version>
</parent>
<!-- ****************** -->
Modified: components/mop/trunk/pom.xml
===================================================================
--- components/mop/trunk/pom.xml 2010-01-21 14:09:00 UTC (rev 1405)
+++ components/mop/trunk/pom.xml 2010-01-21 14:09:13 UTC (rev 1406)
@@ -34,16 +34,16 @@
<groupId>org.gatein.mop</groupId>
<artifactId>mop-parent</artifactId>
- <version>1.0.0-Beta14</version>
+ <version>1.0.0-Beta15-SNAPSHOT</version>
<packaging>pom</packaging>
<name>GateIn - MOP</name>
<description>Model Object for Portal</description>
<scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/mop/tags/1.0.0-B...</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/mop/tags/1.0.0-Beta14</developerConnection>
- <url>http://fisheye.jboss.org/browse/gatein/components/mop/tags/1.0.0-Beta14</url>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/gatein/components/mop/trunk/</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/gatein/components/mop/trunk/</developerConnection>
+ <url>http://fisheye.jboss.org/browse/gatein/components/mop/trunk/</url>
</scm>
Modified: components/mop/trunk/spi/pom.xml
===================================================================
--- components/mop/trunk/spi/pom.xml 2010-01-21 14:09:00 UTC (rev 1405)
+++ components/mop/trunk/spi/pom.xml 2010-01-21 14:09:13 UTC (rev 1406)
@@ -25,7 +25,7 @@
<parent>
<groupId>org.gatein.mop</groupId>
<artifactId>mop-parent</artifactId>
- <version>1.0.0-Beta14</version>
+ <version>1.0.0-Beta15-SNAPSHOT</version>
</parent>
<!-- ****************** -->
14 years, 11 months
gatein SVN: r1405 - components/mop/tags.
by do-not-reply@jboss.org
Author: julien_viet
Date: 2010-01-21 09:09:00 -0500 (Thu, 21 Jan 2010)
New Revision: 1405
Added:
components/mop/tags/1.0.0-Beta14/
Log:
[maven-scm] copy for tag 1.0.0-Beta14
Copied: components/mop/tags/1.0.0-Beta14 (from rev 1404, components/mop/trunk)
14 years, 11 months