You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2009/10/22 13:15:19 UTC
svn commit: r828656 - in
/directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui:
ReferralDialogTest.java SWTBotUtils.java bots/BrowserViewBot.java
bots/ReferralDialogBot.java
Author: seelmann
Date: Thu Oct 22 11:15:18 2009
New Revision: 828656
URL: http://svn.apache.org/viewvc?rev=828656&view=rev
Log:
o simplyfied referral dialog tests
o added test for following referrals manually
o added bots for browser view and referral dialog
Added:
directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/BrowserViewBot.java
directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ReferralDialogBot.java
Modified:
directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/ReferralDialogTest.java
directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/SWTBotUtils.java
Modified: directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/ReferralDialogTest.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/ReferralDialogTest.java?rev=828656&r1=828655&r2=828656&view=diff
==============================================================================
--- directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/ReferralDialogTest.java (original)
+++ directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/ReferralDialogTest.java Thu Oct 22 11:15:18 2009
@@ -22,8 +22,7 @@
import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertNotNull;
-import static junit.framework.Assert.assertNull;
+import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
import org.apache.directory.server.core.entry.DefaultServerEntry;
@@ -36,12 +35,10 @@
import org.apache.directory.studio.connection.core.Connection;
import org.apache.directory.studio.connection.core.Connection.ReferralHandlingMethod;
import org.apache.directory.studio.ldapbrowser.core.model.IBrowserConnection;
+import org.apache.directory.studio.test.integration.ui.bots.BrowserViewBot;
+import org.apache.directory.studio.test.integration.ui.bots.ConnectionsViewBot;
+import org.apache.directory.studio.test.integration.ui.bots.ReferralDialogBot;
import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -60,9 +57,16 @@
{
public static LdapServer ldapServer;
+ private ConnectionsViewBot connectionsViewBot;
+ private BrowserViewBot browserViewBot;
+
private SWTWorkbenchBot bot;
private Connection connection;
+ private String[] parentPath;
+ private String[] referralPath;
+ private String[] targetPath;
+
@Before
public void setUp() throws Exception
@@ -70,12 +74,32 @@
bot = new SWTWorkbenchBot();
SWTBotUtils.openLdapPerspective( bot );
connection = SWTBotUtils.createTestConnection( bot, "ReferralDialogTest", ldapServer.getPort() );
+
+ connectionsViewBot = new ConnectionsViewBot();
+ browserViewBot = new BrowserViewBot();
+
+ // create referral entry
+ ServerEntry entry = new DefaultServerEntry( ldapServer.getDirectoryService().getRegistries() );
+ entry.setDn( new LdapDN( "cn=referralDialogTest,ou=system" ) );
+ entry.add( "objectClass", "top", "referral", "extensibleObject" );
+ entry.add( "cn", "referralDialogTest" );
+ entry.add( "ref", "ldap://localhost:" + ldapServer.getPort() + "/ou=users,ou=system" );
+ ldapServer.getDirectoryService().getAdminSession().add( entry );
+
+ // get paths
+ parentPath = new String[]
+ { "DIT", "Root DSE", "ou=system" };
+ referralPath = new String[]
+ { "DIT", "Root DSE", "ou=system", "cn=referralDialogTest" };
+ targetPath = new String[]
+ { "DIT", "Root DSE", "ou=system", "ldap://localhost:" + ldapServer.getPort() + "/ou=users,ou=system" };
}
@After
public void tearDown() throws Exception
{
+ connectionsViewBot.closeSelectedConnections();
SWTBotUtils.deleteTestConnections();
bot = null;
}
@@ -85,12 +109,9 @@
* Test for DIRSTUDIO-343.
*
* Follows a continuation reference.
- *
- * @throws Exception
- * the exception
*/
@Test
- public void testBrowseAndFollowContinuationReference() throws Exception
+ public void testBrowseAndFollowContinuationReference()
{
// ensure that referrals handling method is FOLLOW
connection.getConnectionParameter().setExtendedIntProperty(
@@ -99,37 +120,15 @@
IBrowserConnection.CONNECTION_PARAMETER_REFERRALS_HANDLING_METHOD );
assertEquals( ReferralHandlingMethod.FOLLOW.ordinal(), referralsHandlingMethodOrdinal );
- // create the referral entry
- createReferralEntry();
-
- final SWTBotTree browserTree = SWTBotUtils.getLdapBrowserTree( bot );
-
- // select ou=system, don't expand yet
- final SWTBotTreeItem systemNode = SWTBotUtils.selectEntry( bot, browserTree, false, "DIT", "Root DSE",
- "ou=system" );
-
- // expand ou=system, that reads the referral and opens the referral
- // dialog
- UIThreadRunnable.asyncExec( bot.getDisplay(), new VoidResult()
- {
- public void run()
- {
- systemNode.expand();
- }
- } );
- bot.sleep( 1000 );
-
- // click OK in the referral dialog
- bot.button( "OK" ).click();
- SWTBotUtils.selectEntry( bot, browserTree, true, "DIT", "Root DSE", "ou=system" );
-
- // ensure that the referral URL and target is visible
- SWTBotTreeItem referralNode = systemNode.getNode( "ldap://localhost:" + ldapServer.getPort()
- + "/ou=users,ou=system" );
- assertNotNull( referralNode );
- SWTBotUtils.selectEntry( bot, browserTree, false, "DIT", "Root DSE", "ou=system", "ldap://localhost:"
- + ldapServer.getPort() + "/ou=users,ou=system" );
-
+ // expand ou=system, that reads the referral and opens the referral dialog
+ ReferralDialogBot referralDialogBot = browserViewBot.expandEntryExpectingReferralDialog( parentPath );
+ assertEquals( connection.getName(), referralDialogBot.getSelectedConnection() );
+ referralDialogBot.clickOkButton();
+
+ // ensure that the target exists, the referral is not visible
+ assertFalse( browserViewBot.existsEntry( referralPath ) );
+ assertTrue( browserViewBot.existsEntry( targetPath ) );
+ browserViewBot.selectEntry( targetPath );
}
@@ -138,12 +137,9 @@
*
* Does not follow a continuation reference by clicking the cancel button in
* the referral dialog.
- *
- * @throws Exception
- * the exception
*/
@Test
- public void testBrowseAndCancelFollowingContinuationReference() throws Exception
+ public void testBrowseAndCancelFollowingContinuationReference()
{
// ensure that referrals handling method is FOLLOW
connection.getConnectionParameter().setExtendedIntProperty(
@@ -152,52 +148,22 @@
IBrowserConnection.CONNECTION_PARAMETER_REFERRALS_HANDLING_METHOD );
assertEquals( ReferralHandlingMethod.FOLLOW.ordinal(), referralsHandlingMethodOrdinal );
- // create the referral entry
- createReferralEntry();
-
- final SWTBotTree browserTree = SWTBotUtils.getLdapBrowserTree( bot );
-
- // select ou=system, don't expand yet
- final SWTBotTreeItem systemNode = SWTBotUtils.selectEntry( bot, browserTree, false, "DIT", "Root DSE",
- "ou=system" );
-
- // expand ou=system, that reads the referral and opens the referral
- // dialog
- UIThreadRunnable.asyncExec( bot.getDisplay(), new VoidResult()
- {
- public void run()
- {
- systemNode.expand();
- }
- } );
- bot.sleep( 1000 );
-
- // click Cancel in the referral dialog
- bot.button( "Cancel" ).click();
- SWTBotUtils.selectEntry( bot, browserTree, true, "DIT", "Root DSE", "ou=system" );
-
- // ensure that the referral URL and target is not visible
- SWTBotTreeItem referralNode = null;
- try
- {
- referralNode = systemNode.getNode( "ldap://localhost:" + ldapServer.getPort() + "/ou=users,ou=system" );
- }
- catch ( WidgetNotFoundException wnfe )
- {
- // that is expected
- }
- assertNull( referralNode );
+ // expand ou=system, that reads the referral and opens the referral dialog
+ ReferralDialogBot referralDialogBot = browserViewBot.expandEntryExpectingReferralDialog( parentPath );
+ assertEquals( connection.getName(), referralDialogBot.getSelectedConnection() );
+ referralDialogBot.clickCancelButton();
+
+ // ensure that neither the target, nor the referral exist
+ assertFalse( browserViewBot.existsEntry( referralPath ) );
+ assertFalse( browserViewBot.existsEntry( targetPath ) );
}
/**
* Tests ignore referral by setting the connection property to IGNORE.
- *
- * @throws Exception
- * the exception
*/
@Test
- public void testBrowseAndIgnoreReferral() throws Exception
+ public void testBrowseAndIgnoreReferral()
{
// ensure that referrals handling method is IGNORE
connection.getConnectionParameter().setExtendedIntProperty(
@@ -206,48 +172,22 @@
IBrowserConnection.CONNECTION_PARAMETER_REFERRALS_HANDLING_METHOD );
assertEquals( ReferralHandlingMethod.IGNORE.ordinal(), referralsHandlingMethodOrdinal );
- // create the referral entry
- createReferralEntry();
+ // expand ou=system, no referral dialog expected
+ browserViewBot.expandEntry( parentPath );
- // expand ou=system, the referral must be ignored, no referral dialog
- // expected
- SWTBotTree browserTree = SWTBotUtils.getLdapBrowserTree( bot );
- SWTBotTreeItem systemNode = SWTBotUtils.selectEntry( bot, browserTree, true, "DIT", "Root DSE", "ou=system" );
-
- // ensure that the referral entry is not visible
- SWTBotTreeItem referralNode1 = null;
- try
- {
- referralNode1 = systemNode.getNode( "ldap://localhost:" + ldapServer.getPort() + "/ou=users,ou=system" );
- }
- catch ( WidgetNotFoundException wnfe )
- {
- // that is expected
- }
- assertNull( referralNode1 );
- SWTBotTreeItem referralNode2 = null;
- try
- {
- referralNode2 = systemNode.getNode( "cn=referralDialogTest" );
- }
- catch ( WidgetNotFoundException wnfe )
- {
- // that is expected
- }
- assertNull( referralNode2 );
+ // ensure that neither the target, nor the referral exist
+ assertFalse( browserViewBot.existsEntry( referralPath ) );
+ assertFalse( browserViewBot.existsEntry( targetPath ) );
}
/**
- * Tests manage referral entry by setting the connection property to MANAGE.
- *
- * @throws Exception
- * the exception
+ * Tests manage referral entry by setting the ManageDsaIT control.
*/
@Test
- public void testBrowseAndManageReferralEntry() throws Exception
+ public void testBrowseAndManageReferralEntry()
{
- // ensure that referrals handling method is MANAGE
+ // ensure that ManageDsaIT is set
connection.getConnectionParameter().setExtendedIntProperty(
IBrowserConnection.CONNECTION_PARAMETER_REFERRALS_HANDLING_METHOD, ReferralHandlingMethod.IGNORE.ordinal() );
connection.getConnectionParameter().setExtendedBoolProperty(
@@ -259,28 +199,45 @@
assertEquals( ReferralHandlingMethod.IGNORE.ordinal(), referralsHandlingMethodOrdinal );
assertTrue( manageDsaIT );
- // create the referral entry
- createReferralEntry();
+ // expand ou=system, that reads the referral and opens the referral dialog
+ browserViewBot.expandEntry( parentPath );
- // expand ou=system, the referral is managed, no referral dialog
- // expected
- SWTBotTree browserTree = SWTBotUtils.getLdapBrowserTree( bot );
- SWTBotTreeItem systemNode = SWTBotUtils.selectEntry( bot, browserTree, true, "DIT", "Root DSE", "ou=system" );
-
- // ensure that the referral entry is visible
- SWTBotTreeItem referralNode = systemNode.getNode( "cn=referralDialogTest" );
- assertNotNull( referralNode );
- SWTBotUtils.selectEntry( bot, browserTree, false, "DIT", "Root DSE", "ou=system", "cn=referralDialogTest" );
+ // ensure that the referral entry exists
+ assertTrue( browserViewBot.existsEntry( referralPath ) );
+ assertFalse( browserViewBot.existsEntry( targetPath ) );
+ browserViewBot.selectEntry( referralPath );
}
- private void createReferralEntry() throws Exception
+ /**
+ * Tests manual referral following.
+ */
+ @Test
+ public void testBrowseAndFollowManuallyContinuationReference()
{
- ServerEntry entry = new DefaultServerEntry( ldapServer.getDirectoryService().getRegistries() );
- entry.setDn( new LdapDN( "cn=referralDialogTest,ou=system" ) );
- entry.add( "objectClass", "top", "referral", "extensibleObject" );
- entry.add( "cn", "referralDialogTest" );
- entry.add( "ref", "ldap://localhost:" + ldapServer.getPort() + "/ou=users,ou=system" );
- ldapServer.getDirectoryService().getAdminSession().add( entry );
+ // ensure that referrals handling method is FOLLOW_MANUALLY
+ connection.getConnectionParameter().setExtendedIntProperty(
+ IBrowserConnection.CONNECTION_PARAMETER_REFERRALS_HANDLING_METHOD,
+ ReferralHandlingMethod.FOLLOW_MANUALLY.ordinal() );
+ int referralsHandlingMethodOrdinal = connection.getConnectionParameter().getExtendedIntProperty(
+ IBrowserConnection.CONNECTION_PARAMETER_REFERRALS_HANDLING_METHOD );
+ assertEquals( ReferralHandlingMethod.FOLLOW_MANUALLY.ordinal(), referralsHandlingMethodOrdinal );
+
+ // expand ou=system, no referral dialog expected yet
+ browserViewBot.expandEntry( parentPath );
+
+ // ensure that the target exists, the referral is not visible
+ assertFalse( browserViewBot.existsEntry( referralPath ) );
+ assertTrue( browserViewBot.existsEntry( targetPath ) );
+
+ // select the target, that should popup the referral dialog
+ ReferralDialogBot referralDialogBot = browserViewBot.selectEntryExpectingReferralDialog( targetPath );
+ assertEquals( connection.getName(), referralDialogBot.getSelectedConnection() );
+ referralDialogBot.clickOkButton();
+
+ // ensure that the target exists, the referral is not visible
+ assertFalse( browserViewBot.existsEntry( referralPath ) );
+ assertTrue( browserViewBot.existsEntry( targetPath ) );
+ browserViewBot.selectEntry( targetPath );
}
-}
+}
\ No newline at end of file
Modified: directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/SWTBotUtils.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/SWTBotUtils.java?rev=828656&r1=828655&r2=828656&view=diff
==============================================================================
--- directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/SWTBotUtils.java (original)
+++ directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/SWTBotUtils.java Thu Oct 22 11:15:18 2009
@@ -217,7 +217,7 @@
* @throws Exception
* the exception
*/
- public static SWTBotTree getLdapBrowserTree( SWTWorkbenchBot bot ) throws Exception
+ public static SWTBotTree getLdapBrowserTree( SWTWorkbenchBot bot )
{
SWTBotView view = bot.viewByTitle( "LDAP Browser" );
view.show();
@@ -414,7 +414,7 @@
* the exception
*/
public static SWTBotTreeItem selectEntry( final SWTWorkbenchBot bot, final SWTBotTree tree,
- final boolean expandChild, final String... path ) throws Exception
+ final boolean expandChild, final String... path )
{
List<String> pathList = new ArrayList<String>( Arrays.asList( path ) );
SWTBotTreeItem entry = null;
@@ -468,7 +468,6 @@
* the exception
*/
public static void expandEntry( final SWTWorkbenchBot bot, final SWTBotTreeItem entry, final String nextName )
- throws Exception
{
UIThreadRunnable.asyncExec( bot.getDisplay(), new VoidResult()
{
Added: directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/BrowserViewBot.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/BrowserViewBot.java?rev=828656&view=auto
==============================================================================
--- directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/BrowserViewBot.java (added)
+++ directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/BrowserViewBot.java Thu Oct 22 11:15:18 2009
@@ -0,0 +1,204 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.studio.test.integration.ui.bots;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.directory.studio.test.integration.ui.SWTBotUtils;
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
+import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
+import org.eclipse.swtbot.swt.finder.results.VoidResult;
+import org.eclipse.swtbot.swt.finder.waits.DefaultCondition;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+
+
+public class BrowserViewBot
+{
+ private SWTWorkbenchBot bot = new SWTWorkbenchBot();
+
+
+ public boolean existsEntry( String... path )
+ {
+ // ensure the parent exists
+ String[] parentPath = new String[path.length - 1];
+ System.arraycopy( path, 0, parentPath, 0, parentPath.length );
+ getEntry( parentPath );
+
+ // check if the child exists
+ try
+ {
+ getEntry( path );
+ return true;
+ }
+ catch ( WidgetNotFoundException e )
+ {
+ return false;
+ }
+ }
+
+
+ public void selectEntry( String... path )
+ {
+ SWTBotTreeItem entry = getEntry( path );
+ select( entry );
+ }
+
+
+ public ReferralDialogBot selectEntryExpectingReferralDialog( String... path )
+ {
+ SWTBotTreeItem entry = getEntry( path );
+ select( entry );
+ return new ReferralDialogBot();
+ }
+
+
+ public void expandEntry( String... path )
+ {
+ SWTBotTreeItem entry = getEntry( path );
+ expand( entry, true, null );
+ }
+
+
+ public ReferralDialogBot expandEntryExpectingReferralDialog( String... path )
+ {
+ SWTBotTreeItem entry = getEntry( path );
+ expand( entry, false, null );
+ return new ReferralDialogBot();
+ }
+
+
+ private SWTBotTreeItem getEntry( String... path )
+ {
+ SWTBotTree browserTree = SWTBotUtils.getLdapBrowserTree( bot );
+ List<String> pathList = new ArrayList<String>( Arrays.asList( path ) );
+ SWTBotTreeItem entry = null;
+
+ while ( !pathList.isEmpty() )
+ {
+ String node = pathList.remove( 0 );
+
+ if ( entry == null )
+ {
+ node = adjustNodeName( browserTree, node );
+ entry = browserTree.getTreeItem( node );
+ }
+ else
+ {
+ // adjust current path, because the label is decorated with the
+ // number of children
+ node = adjustNodeName( entry, node );
+ System.out.println( node );
+ entry = entry.getNode( node );
+ }
+
+ if ( !pathList.isEmpty() )
+ {
+ // expand entry and wait till
+ // - children are displayed
+ // - next child is visible
+ final String nextNode = !pathList.isEmpty() ? pathList.get( 0 ) : null;
+ expand( entry, true, nextNode );
+ }
+ }
+
+ return entry;
+ }
+
+
+ private void expand( final SWTBotTreeItem entry, boolean wait, final String nextNode )
+ {
+ UIThreadRunnable.asyncExec( bot.getDisplay(), new VoidResult()
+ {
+ public void run()
+ {
+ entry.expand();
+ }
+ } );
+
+ if ( wait )
+ {
+ bot.waitUntil( new DefaultCondition()
+ {
+ public boolean test() throws Exception
+ {
+// if ( nextNode != null )
+// {
+// String adjustedNodeName = nextNode != null ? adjustNodeName( entry, nextNode ) : null;
+// SWTBotTreeItem node = entry.getNode( adjustedNodeName );
+// if ( node == null )
+// {
+// return false;
+// }
+// }
+ return !entry.getNodes().contains( "Fetching Entries..." )
+ && !entry.getNodes().contains( "Opening Connection..." );
+ }
+
+
+ public String getFailureMessage()
+ {
+ return "Could not find entry " + entry.getText() + " -> " + nextNode;
+ }
+ } );
+ }
+ }
+
+
+ private void select( SWTBotTreeItem entry )
+ {
+ entry.click();
+ entry.select();
+ }
+
+
+ private String adjustNodeName( SWTBotTreeItem child, String nodeName )
+ {
+ List<String> nodes = child.getNodes();
+ for ( String node : nodes )
+ {
+ if ( node.toUpperCase().startsWith( nodeName.toUpperCase() ) )
+ {
+ return node;
+ }
+ }
+ return nodeName;
+ }
+
+
+ private String adjustNodeName( SWTBotTree tree, String nodeName )
+ {
+ SWTBotTreeItem[] allItems = tree.getAllItems();
+ for ( SWTBotTreeItem item : allItems )
+ {
+ String node = item.getText();
+ if ( node.toUpperCase().startsWith( nodeName.toUpperCase() ) )
+ {
+ return node;
+ }
+ }
+ return nodeName;
+ }
+
+}
Added: directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ReferralDialogBot.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ReferralDialogBot.java?rev=828656&view=auto
==============================================================================
--- directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ReferralDialogBot.java (added)
+++ directory/studio/trunk/test-integration-ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ReferralDialogBot.java Thu Oct 22 11:15:18 2009
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.studio.test.integration.ui.bots;
+
+
+import org.eclipse.swtbot.swt.finder.utils.TableCollection;
+import org.eclipse.swtbot.swt.finder.utils.TableRow;
+
+
+public class ReferralDialogBot extends DialogBot
+{
+
+ public void clickOkButton()
+ {
+ super.clickButton( "OK" );
+ }
+
+
+ public void clickCancelButton()
+ {
+ super.clickButton( "Cancel" );
+ }
+
+
+ public void selectConnection( String connectionName )
+ {
+ bot.tree().select( connectionName );
+ }
+
+
+ public String getSelectedConnection()
+ {
+ TableCollection selection = bot.tree().selection();
+ if ( selection != null && selection.rowCount() == 1 )
+ {
+ TableRow row = selection.get( 0 );
+ return row.get( 0 );
+ }
+ return null;
+ }
+
+}