mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

al_xipe
11.08.2007 3ce20a913a6d566adbcdc89c50f2894570e6cfe7
first version of the gui tests with only install/uninstall
5 files added
381 ■■■■■ changed files
opends/tests/gui-tests/build 51 ●●●●● patch | view | raw | blame | history
opends/tests/gui-tests/build.bat 52 ●●●●● patch | view | raw | blame | history
opends/tests/gui-tests/build.xml 167 ●●●●● patch | view | raw | blame | history
opends/tests/gui-tests/quickInstall.xml.stubs 59 ●●●●● patch | view | raw | blame | history
opends/tests/gui-tests/quickUninstall.xml.stubs 52 ●●●●● patch | view | raw | blame | history
opends/tests/gui-tests/build
New file
@@ -0,0 +1,51 @@
#!/bin/sh
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License").  You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at
# trunk/opends/resource/legal-notices/OpenDS.LICENSE
# or https://OpenDS.dev.java.net/OpenDS.LICENSE.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at
# trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
# add the following below this CDDL HEADER, with the fields enclosed
# information:
#      Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
#      Portions Copyright 2007 Sun Microsystems, Inc.
# Change to the location of this build script.
cd `dirname $0`
# See if JAVA_HOME is set.  If not, then see if there is a java executable in
# the path and try to figure it out.
if test -z "${JAVA_HOME}"
then
  JAVA_HOME=`java -cp ../../resource FindJavaHome`
  if test -z "${JAVA_HOME}"
  then
    echo "Please set JAVA_HOME to the root of a Java 5.0 installation."
    exit 1
  else
    export JAVA_HOME
  fi
fi
OPENDS_LIB=`cd ../../lib;pwd`
ANT_HOME=`cd ../..;pwd`/ext/ant
export ANT_HOME
# Execute the ant script and pass it any additional command-line arguments.
$ANT_HOME/bin/ant ${*}
opends/tests/gui-tests/build.bat
New file
@@ -0,0 +1,52 @@
@echo off
rem CDDL HEADER START
rem
rem The contents of this file are subject to the terms of the
rem Common Development and Distribution License, Version 1.0 only
rem (the "License").  You may not use this file except in compliance
rem with the License.
rem
rem You can obtain a copy of the license at
rem trunk/opends/resource/legal-notices/OpenDS.LICENSE
rem or https://OpenDS.dev.java.net/OpenDS.LICENSE.
rem See the License for the specific language governing permissions
rem and limitations under the License.
rem
rem When distributing Covered Code, include this CDDL HEADER in each
rem file and include the License file at
rem trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
rem add the following below this CDDL HEADER, with the fields enclosed
rem information:
rem      Portions Copyright [yyyy] [name of copyright owner]
rem
rem CDDL HEADER END
rem
rem
rem      Portions Copyright 2007 Sun Microsystems, Inc.
setlocal
rem These are the variables we need to run the functional tests
set FT_HOME=%~dP0
set ANT_HOME=%FT_HOME%\..\..\ext\ant
if "%JAVA_HOME%" == "" goto noJavaHome
goto runAnt
:noJavaHome
echo Error: JAVA_HOME environment variable is not set.
echo        Please set it to a valid Java 5 Development Kit installation.
goto end
:runAnt
rem echo a quick summary of what this script did
echo using the following variables:
echo   ANT_HOME=%ANT_HOME%
echo   JAVA_HOME=%JAVA_HOME%
if not "%*" == "" echo   your parameters=%*
echo Now running ant ...
set OPENDS_LIB=%FT_HOME%\..\..\lib
"%ANT_HOME%\bin\ant" %*
:end
opends/tests/gui-tests/build.xml
New file
@@ -0,0 +1,167 @@
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !
 !      Portions Copyright 2007 Sun Microsystems, Inc.
 ! -->
<project name="opends-gui-test" basedir="." default="usage">
  <description>
    Gui Testing ANT script
  </description>
  <dirname file="${basedir}/.." property="project.home"/>
  <!-- Product properties -->
  <property file="${project.home}/PRODUCT"/>
  <property name="product.name"
            value="${SHORT_NAME}-${MAJOR_VERSION}.${MINOR_VERSION}"/>
  <property name="pkg.path"
            value="${project.home}/build/package/${product.name}.zip"/>
  <property name="instance.path" value="${basedir}/${product.name}"/>
  <!-- Abbot properties -->
  <property name="abbot.version" value="1.0.0.rc5"/>
  <property name="abbot.url"
            value="http://prdownloads.sf.net/abbot/abbot-${abbot.version}.zip?download"/>
  <property name="abbot.path" value="${basedir}/abbot-${abbot.version}"/>
  <property name="abbot.jar" value="${abbot.path}/lib/abbot.jar"/>
  <!-- Proxy properties -->
  <property name="proxy.host" value="webgate.central.sun.com"/>
  <property name="proxy.port" value="8080"/>
  <property name="proxy.user" value=""/>
  <property name="proxy.pwd" value=""/>
  <!-- targets -->
  <target name="costello"
          description="start the costello GUI">
    <java jar="${abbot.jar}" fork="true" />
  </target>
  <target name="install"
          description="Install gui test">
    <!-- Preliminary cleanup -->
    <delete dir="${product.name}"/>
    <delete file="quickInstall.xml"/>
    <!-- Unzip the bits -->
    <unzip src="${pkg.path}" dest="."/>
    <!-- Fix permissions on scripts -->
    <chmod perm="755">
      <fileset dir="${product.name}/bin"/>
      <fileset dir="${product.name}/bat"/>
      <fileset dir="${product.name}/lib">
        <include name="*.sh"/>
        <include name="*.bat"/>
        <include name="*.exe"/>
      </fileset>
    </chmod>
    <!-- Customize the test template -->
    <copy file="quickInstall.xml.stubs" tofile="quickInstall.xml">
      <filterchain>
        <expandproperties/>
      </filterchain>
    </copy>
    <!-- Run the tests -->
    <java classpath="${abbot.jar}" classname="junit.extensions.abbot.ScriptFixture" fork="true">
      <arg value="quickInstall.xml"/>
    </java>
  </target>
  <target name="uninstall"
          description="Uninstall gui test">
    <!-- Preliminary cleanup -->
    <delete file="quickUninstall"/>
    <!-- Customize the test template -->
    <copy file="quickUninstall.xml.stubs" tofile="quickUninstall.xml">
      <filterchain>
        <expandproperties/>
      </filterchain>
    </copy>
    <!-- Run the tests -->
    <java classpath="${abbot.jar}" classname="junit.extensions.abbot.ScriptFixture" fork="true">
      <arg value="quickUninstall.xml"/>
    </java>
  </target>
  <target name="usage">
  <echo>Usage:
  costello: start the costello GUI
  download: get the abbot framework bits
  install: run the installer GUI tests
  uninstall: run the uninstaller GUI tests
  upgrade: run the upgrader tests [not yet implemented]
</echo>
  </target>
  <target name="check-proxy">
    <echo>Checking for proxy [${proxy.host}:${proxy.port}] as user [${proxy.user}].</echo>
    <echo>Note: If these values do not match your environment, </echo>
    <echo>      please use the 'configure' target</echo>
    <condition property="proxy.enabled">
      <and>
        <not>
          <http url="${abbot.url}"/>
        </not>
        <isreachable host="${proxy.host}" timeout="5"/>
      </and>
    </condition>
  </target>
  <target name="set-proxy" depends="check-proxy" if="proxy.enabled" >
    <echo>Proxy detected. Configuring.</echo>
    <setproxy
      proxyhost="${proxy.host}"
      proxyport="${proxy.port}"
      proxyuser="${proxy.user}"
      proxypassword="${proxy.pass}"/>
  </target>
  <target
    name="download-prepare"
    depends="set-proxy">
    <available file="abbot.zip" property="downloaded"/>
  </target>
  <target name="download"  depends="download-prepare" unless="downloaded">
    <get src="${abbot.url}" dest="abbot.zip" />
    <unzip src="abbot.zip" dest="." />
  </target>
  <target name="clean">
    <delete dir="${instance.path}" />
    <delete>
      <fileset dir=".">
        <include name="quick*.xml"/>
      </fileset>
    </delete>
  </target>
  <target name="clobber">
    <delete dir="${abbot.path}"/>
    <delete file="abbot.zip" />
  </target>
</project>
opends/tests/gui-tests/quickInstall.xml.stubs
New file
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<AWTTestScript>
  <component class="org.opends.quicksetup.ui.ButtonsPanel" id="ButtonsPanel Instance" index="3" parent="FramePanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JButton" id="Close" index="2" parent="JPanel Instance 2" text="Close" window="OpenDS QuickSetup" />
  <component class="javax.swing.JDialog" id="Confirmation Required" parent="OpenDS QuickSetup" title="Confirmation Required" />
  <component class="org.opends.quicksetup.ui.CurrentStepPanel" id="CurrentStepPanel Instance" index="0" parent="JPanel Instance 5" window="OpenDS QuickSetup" />
  <component class="org.opends.quicksetup.installer.ui.DataOptionsPanel" id="DataOptionsPanel Instance" index="4" parent="CurrentStepPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JButton" id="Finish" index="1" parent="JPanel Instance 4" text="Finish" window="OpenDS QuickSetup" />
  <component class="org.opends.quicksetup.ui.FramePanel" id="FramePanel Instance" index="0" parent="JPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JRadioButton" id="Import Automatically-Generated Example Data" index="4" parent="JPanel Instance 10" text="Import Automatically-Generated Example Data" window="OpenDS QuickSetup" />
  <component class="javax.swing.JEditorPane" id="JEditorPane Instance" index="0" parent="JPanel Instance 12" window="OpenDS QuickSetup" />
  <component class="javax.swing.JLayeredPane" id="JLayeredPane Instance" index="1" parent="JRootPane Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JLayeredPane" id="JLayeredPane Instance 2" index="1" parent="JRootPane Instance 2" window="Confirmation Required" />
  <component class="javax.swing.JOptionPane" id="JOptionPane Instance" index="0" parent="JPanel Instance 3" window="Confirmation Required" />
  <component class="javax.swing.JPanel" id="JPanel Instance" index="0" parent="JLayeredPane Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 10" index="3" parent="JPanel Instance 9" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 11" index="5" parent="JPanel Instance 10" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 12" index="1" parent="ProgressPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 2" index="3" parent="ButtonsPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 3" index="0" parent="JLayeredPane Instance 2" window="Confirmation Required" />
  <component class="javax.swing.JPanel" id="JPanel Instance 4" index="1" parent="ButtonsPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 5" index="1" parent="FramePanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 6" index="2" parent="ServerSettingsPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 7" index="7" parent="JPanel Instance 6" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 8" index="9" parent="JPanel Instance 6" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 9" index="2" parent="DataOptionsPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JRootPane" id="JRootPane Instance" index="0" parent="OpenDS QuickSetup" />
  <component class="javax.swing.JRootPane" id="JRootPane Instance 2" index="0" parent="Confirmation Required" />
  <component class="javax.swing.JButton" id="Next &gt;" index="0" parent="JPanel Instance 4" text="Next &gt;" window="OpenDS QuickSetup" />
  <component class="javax.swing.JTextField" id="Number of User Entries:" index="1" label="Number of User Entries:" parent="JPanel Instance 11" window="OpenDS QuickSetup" />
  <component class="javax.swing.JFrame" id="OpenDS QuickSetup" root="true" title="OpenDS QuickSetup" />
  <component class="javax.swing.JButton" id="OptionPane.button" index="0" name="OptionPane.button" parent="OptionPane.buttonArea" text="Yes" window="Confirmation Required" />
  <component class="javax.swing.JPanel" id="OptionPane.buttonArea" index="1" name="OptionPane.buttonArea" parent="JOptionPane Instance" window="Confirmation Required" />
  <component class="javax.swing.JPasswordField" id="Password (confirm):" index="0" label="Password (confirm):" parent="JPanel Instance 8" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPasswordField" id="Password:" index="0" label="Password:" parent="JPanel Instance 7" window="OpenDS QuickSetup" />
  <component class="org.opends.quicksetup.ui.ProgressPanel" id="ProgressPanel Instance" index="1" parent="CurrentStepPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JButton" id="Quit" index="1" parent="JPanel Instance 2" text="Quit" window="OpenDS QuickSetup" />
  <component class="org.opends.quicksetup.installer.ui.ServerSettingsPanel" id="ServerSettingsPanel Instance" index="3" parent="CurrentStepPanel Instance" window="OpenDS QuickSetup" />
  <launch args="[]" class="org.opends.quicksetup.installer.InstallLauncher" classpath=".:${instance.path}/classes:${instance.path}/lib/activation.jar:${instance.path}/lib/aspectjrt.jar:${instance.path}/lib/je.jar:${instance.path}/lib/mail.jar:${instance.path}/lib/OpenDS.jar:${instance.path}/lib/quicksetup.jar:${instance.path}/lib/statuspanel.jar" method="main" />
  <sequence>
    <action args="Next &gt;" class="javax.swing.AbstractButton" method="actionClick" />
    <action args="Password:,pwd" method="actionKeyString" />
    <action args="Password:,VK_TAB" method="actionKeyStroke" />
    <action args="Password (confirm):,pwd" method="actionKeyString" />
    <action args="Next &gt;" class="javax.swing.AbstractButton" method="actionClick" />
    <action args="Import Automatically-Generated Example Data" class="javax.swing.AbstractButton" method="actionClick" />
    <action args="Number of User Entries:,4" class="javax.swing.text.JTextComponent" method="actionClick" />
    <action args="Number of User Entries:,delete-previous" class="javax.swing.JComponent" method="actionActionMap" />
    <action args="Number of User Entries:,delete-previous" class="javax.swing.JComponent" method="actionActionMap" />
    <action args="Next &gt;" class="javax.swing.AbstractButton" method="actionClick" />
    <action args="Finish" class="javax.swing.AbstractButton" method="actionClick" />
    <action args="60000" class="abbot.tester.ComponentTester" method="actionDelay" />
    <sample component="JEditorPane Instance" method="getText" property="result.text" />
    <expression><![CDATA[assertTrue("Install succeeded",component("JEditorPane Instance").getText().contains("Completed Successfully.") )]]></expression>
    <action args="Close" class="javax.swing.AbstractButton" method="actionClick" />
  </sequence>
  <terminate />
</AWTTestScript>
opends/tests/gui-tests/quickUninstall.xml.stubs
New file
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<AWTTestScript>
  <component class="org.opends.quicksetup.ui.ButtonsPanel" id="ButtonsPanel Instance" index="3" parent="FramePanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JButton" id="Close" index="2" parent="JPanel Instance 2" text="Close" window="OpenDS QuickSetup" />
  <component class="javax.swing.JDialog" id="Confirmation Required" parent="OpenDS QuickSetup" title="Confirmation Required" />
  <component class="org.opends.quicksetup.ui.CurrentStepPanel" id="CurrentStepPanel Instance" index="0" parent="JPanel Instance 5" window="OpenDS QuickSetup" />
  <component class="org.opends.quicksetup.installer.ui.DataOptionsPanel" id="DataOptionsPanel Instance" index="4" parent="CurrentStepPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JButton" id="Finish" index="1" parent="JPanel Instance 4" text="Finish" window="OpenDS QuickSetup" />
  <component class="org.opends.quicksetup.ui.FramePanel" id="FramePanel Instance" index="0" parent="JPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JRadioButton" id="Import Automatically-Generated Example Data" index="4" parent="JPanel Instance 10" text="Import Automatically-Generated Example Data" window="OpenDS QuickSetup" />
  <component class="javax.swing.JEditorPane" id="JEditorPane Instance" index="0" parent="JPanel Instance 12" window="OpenDS QuickSetup" />
  <component class="javax.swing.JLayeredPane" id="JLayeredPane Instance" index="1" parent="JRootPane Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JLayeredPane" id="JLayeredPane Instance 2" index="1" parent="JRootPane Instance 2" window="Confirmation Required" />
  <component class="javax.swing.JOptionPane" id="JOptionPane Instance" index="0" parent="JPanel Instance 3" window="Confirmation Required" />
  <component class="javax.swing.JPanel" id="JPanel Instance" index="0" parent="JLayeredPane Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 10" index="3" parent="JPanel Instance 9" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 11" index="5" parent="JPanel Instance 10" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 12" index="1" parent="ProgressPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 2" index="3" parent="ButtonsPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 3" index="0" parent="JLayeredPane Instance 2" window="Confirmation Required" />
  <component class="javax.swing.JPanel" id="JPanel Instance 4" index="1" parent="ButtonsPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 5" index="1" parent="FramePanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 6" index="2" parent="ServerSettingsPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 7" index="7" parent="JPanel Instance 6" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 8" index="9" parent="JPanel Instance 6" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPanel" id="JPanel Instance 9" index="2" parent="DataOptionsPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JRootPane" id="JRootPane Instance" index="0" parent="OpenDS QuickSetup" />
  <component class="javax.swing.JRootPane" id="JRootPane Instance 2" index="0" parent="Confirmation Required" />
  <component class="javax.swing.JButton" id="Next &gt;" index="0" parent="JPanel Instance 4" text="Next &gt;" window="OpenDS QuickSetup" />
  <component class="javax.swing.JTextField" id="Number of User Entries:" index="1" label="Number of User Entries:" parent="JPanel Instance 11" window="OpenDS QuickSetup" />
  <component class="javax.swing.JFrame" id="OpenDS QuickSetup" root="true" title="OpenDS QuickSetup" />
  <component class="javax.swing.JButton" id="OptionPane.button" index="0" name="OptionPane.button" parent="OptionPane.buttonArea" text="Yes" window="Confirmation Required" />
  <component class="javax.swing.JPanel" id="OptionPane.buttonArea" index="1" name="OptionPane.buttonArea" parent="JOptionPane Instance" window="Confirmation Required" />
  <component class="javax.swing.JPasswordField" id="Password (confirm):" index="0" label="Password (confirm):" parent="JPanel Instance 8" window="OpenDS QuickSetup" />
  <component class="javax.swing.JPasswordField" id="Password:" index="0" label="Password:" parent="JPanel Instance 7" window="OpenDS QuickSetup" />
  <component class="org.opends.quicksetup.ui.ProgressPanel" id="ProgressPanel Instance" index="1" parent="CurrentStepPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JButton" id="Quit" index="1" parent="JPanel Instance 2" text="Quit" window="OpenDS QuickSetup" />
  <component class="org.opends.quicksetup.installer.ui.ServerSettingsPanel" id="ServerSettingsPanel Instance" index="3" parent="CurrentStepPanel Instance" window="OpenDS QuickSetup" />
  <component class="javax.swing.JButton" id="Uninstall" index="3" parent="ButtonsPanel Instance" text="Uninstall" window="OpenDS QuickSetup" />
  <launch args="[]" class="org.opends.quicksetup.uninstaller.UninstallLauncher" classpath=".:${instance.path}/classes:${instance.path}/lib/activation.jar:${instance.path}/lib/aspectjrt.jar:${instance.path}/lib/je.jar:${instance.path}/lib/mail.jar:${instance.path}/lib/OpenDS.jar:${instance.path}/lib/quicksetup.jar:${instance.path}/lib/statuspanel.jar" desc="Launch org.opends.quicksetup.uninstaller.UninstallLauncher" method="main" />
  <sequence>
    <action args="Uninstall" class="javax.swing.AbstractButton" method="actionClick" />
    <wait args="Confirmation Required" class="abbot.tester.ComponentTester" method="assertComponentShowing" />
    <action args="OptionPane.button" class="javax.swing.AbstractButton" method="actionClick" />
    <wait args="Confirmation Required" class="abbot.tester.ComponentTester" invert="true" method="assertComponentShowing" />
    <action args="20000" method="actionDelay" />
    <expression><![CDATA[assertTrue("Uninstall failed", component("JEditorPane Instance").getText().contains("Completed Successfully") )]]></expression>
    <action args="Close" class="javax.swing.AbstractButton" method="actionClick" />
  </sequence>
  <terminate />
</AWTTestScript>