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 2018/05/21 07:12:53 UTC

[directory-studio] branch master updated: Improve test execution and condition checks

This is an automated email from the ASF dual-hosted git repository.

seelmann pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-studio.git


The following commit(s) were added to refs/heads/master by this push:
     new fc9aec7  Improve test execution and condition checks
fc9aec7 is described below

commit fc9aec7add3ab02abb412f9744ec79a33ccc02a9
Author: Stefan Seelmann <ma...@stefan-seelmann.de>
AuthorDate: Mon May 21 09:12:42 2018 +0200

    Improve test execution and condition checks
---
 .../test/integration/ui/ApacheDSPluginTest.java    | 13 +++++++++++-
 .../ui/bots/ApacheDSServersViewBot.java            | 17 ++++++++++++++--
 .../test/integration/ui/bots/ConsoleViewBot.java   | 23 ++++++++++++++++++++++
 3 files changed, 50 insertions(+), 3 deletions(-)

diff --git a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/ApacheDSPluginTest.java b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/ApacheDSPluginTest.java
index 5d70349..5f50cea 100644
--- a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/ApacheDSPluginTest.java
+++ b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/ApacheDSPluginTest.java
@@ -44,6 +44,8 @@ import org.apache.directory.studio.test.integration.ui.bots.ModificationLogsView
 import org.apache.directory.studio.test.integration.ui.bots.NewApacheDSServerWizardBot;
 import org.apache.directory.studio.test.integration.ui.bots.StudioBot;
 import org.apache.directory.studio.test.integration.ui.bots.utils.FrameworkRunnerWithScreenshotCaptureListener;
+import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -75,6 +77,14 @@ public class ApacheDSPluginTest
     }
 
 
+    @After
+    public void tearDown() throws Exception
+    {
+        connectionsViewBot.deleteTestConnections();
+        serversViewBot.deleteTestServers();
+    }
+
+
     /**
      * Run the following tests:
      * <ul>
@@ -405,10 +415,11 @@ public class ApacheDSPluginTest
 
         // Repair the server
         serversViewBot.repairServer( serverName );
+        consoleViewBot.waitForConsoleText("Database repaired");
         serversViewBot.waitForServerStop( serverName );
 
         // Wait a bit more after repair, another weird race condition...
-        BotUtils.sleep( 5000 );
+        BotUtils.sleep( SWTBotPreferences.TIMEOUT );
 
         // Start the server after repair
         serversViewBot.runServer( serverName );
diff --git a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ApacheDSServersViewBot.java b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ApacheDSServersViewBot.java
index 46ba9fb..e1171ee 100644
--- a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ApacheDSServersViewBot.java
+++ b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ApacheDSServersViewBot.java
@@ -20,12 +20,15 @@
 package org.apache.directory.studio.test.integration.ui.bots;
 
 
+import java.util.ArrayList;
+
 import org.apache.directory.studio.ldapservers.LdapServersManager;
 import org.apache.directory.studio.ldapservers.model.LdapServer;
 import org.apache.directory.studio.ldapservers.model.LdapServerStatus;
 import org.apache.directory.studio.test.integration.ui.ContextMenuHelper;
 import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
 import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
+import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
 import org.eclipse.swtbot.swt.finder.waits.DefaultCondition;
 import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
 import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
@@ -224,7 +227,7 @@ public class ApacheDSServersViewBot
             {
                 return "Server " + serverName + " not started in servers view.";
             }
-        }, 60000 );
+        }, SWTBotPreferences.TIMEOUT * 20 );
     }
 
 
@@ -254,7 +257,7 @@ public class ApacheDSServersViewBot
             {
                 return "Server " + serverName + " not stopped in servers view.";
             }
-        }, 30000 );
+        }, SWTBotPreferences.TIMEOUT * 10 );
 
         // Wait a bit more to avoid unknown race conditions...
         BotUtils.sleep( 1000 );
@@ -300,4 +303,14 @@ public class ApacheDSServersViewBot
 
         return 0;
     }
+
+
+    public void deleteTestServers()
+    {
+        LdapServersManager ldapServersManager = LdapServersManager.getDefault();
+        for ( LdapServer server : new ArrayList<>( ldapServersManager.getServersList() ) )
+        {
+            ldapServersManager.removeServer( server );
+        }
+    }
 }
diff --git a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ConsoleViewBot.java b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ConsoleViewBot.java
index 9d7bd5c..ae5f8f5 100644
--- a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ConsoleViewBot.java
+++ b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ConsoleViewBot.java
@@ -22,6 +22,8 @@ package org.apache.directory.studio.test.integration.ui.bots;
 
 import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
 import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
+import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
+import org.eclipse.swtbot.swt.finder.waits.DefaultCondition;
 
 
 public class ConsoleViewBot
@@ -43,4 +45,25 @@ public class ConsoleViewBot
         return view.bot().styledText().getText();
     }
 
+
+    public void waitForConsoleText( String text )
+    {
+        bot.waitUntil( new DefaultCondition()
+        {
+
+            @Override
+            public boolean test() throws Exception
+            {
+                return getConsoleText().contains( text );
+            }
+
+
+            @Override
+            public String getFailureMessage()
+            {
+                return "Text " + text + " was not found in console";
+            }
+        }, SWTBotPreferences.TIMEOUT * 20 );
+    }
+
 }

-- 
To stop receiving notification emails like this one, please contact
seelmann@apache.org.