From 3ce20a913a6d566adbcdc89c50f2894570e6cfe7 Mon Sep 17 00:00:00 2001
From: al_xipe <al_xipe@localhost>
Date: Thu, 10 May 2007 23:08:58 +0000
Subject: [PATCH] first version of the gui tests with only install/uninstall

---
 opends/tests/gui-tests/build.xml                |  167 +++++++++++++++++++++++
 opends/tests/gui-tests/quickUninstall.xml.stubs |   52 +++++++
 opends/tests/gui-tests/quickInstall.xml.stubs   |   59 ++++++++
 opends/tests/gui-tests/build.bat                |   52 +++++++
 opends/tests/gui-tests/build                    |   51 +++++++
 5 files changed, 381 insertions(+), 0 deletions(-)

diff --git a/opends/tests/gui-tests/build b/opends/tests/gui-tests/build
new file mode 100755
index 0000000..83388a5
--- /dev/null
+++ b/opends/tests/gui-tests/build
@@ -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 ${*}
diff --git a/opends/tests/gui-tests/build.bat b/opends/tests/gui-tests/build.bat
new file mode 100644
index 0000000..17df97b
--- /dev/null
+++ b/opends/tests/gui-tests/build.bat
@@ -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
diff --git a/opends/tests/gui-tests/build.xml b/opends/tests/gui-tests/build.xml
new file mode 100644
index 0000000..d0789f8
--- /dev/null
+++ b/opends/tests/gui-tests/build.xml
@@ -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>
diff --git a/opends/tests/gui-tests/quickInstall.xml.stubs b/opends/tests/gui-tests/quickInstall.xml.stubs
new file mode 100644
index 0000000..9234e02
--- /dev/null
+++ b/opends/tests/gui-tests/quickInstall.xml.stubs
@@ -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>
+
diff --git a/opends/tests/gui-tests/quickUninstall.xml.stubs b/opends/tests/gui-tests/quickUninstall.xml.stubs
new file mode 100644
index 0000000..bf93876
--- /dev/null
+++ b/opends/tests/gui-tests/quickUninstall.xml.stubs
@@ -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>
+

--
Gitblit v1.10.0