[jbosstools-commits] JBoss Tools SVN: r21905 - in trunk: drools/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke and 6 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed May 5 09:02:08 EDT 2010


Author: vpakan at redhat.com
Date: 2010-05-05 09:02:06 -0400 (Wed, 05 May 2010)
New Revision: 21905

Added:
   trunk/drools/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/GuvnorRepositoriesTest.java
   trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/config/requirement/StopServer.java
   trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/GuvnorRepositories.java
Modified:
   trunk/drools/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/DroolsAllBotTests.java
   trunk/jst/tests/org.jboss.tools.ui.bot.ext/META-INF/MANIFEST.MF
   trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTEclipseExt.java
   trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTUtilExt.java
   trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/config/requirement/StartServer.java
   trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/SWTBotBrowserExt.java
   trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java
   trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/PerspectiveType.java
   trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/ViewType.java
   trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/ExplorerBase.java
   trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/ServersView.java
Log:
Added Guvnor Repositories Test.

Modified: trunk/drools/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/DroolsAllBotTests.java
===================================================================
--- trunk/drools/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/DroolsAllBotTests.java	2010-05-05 12:27:43 UTC (rev 21904)
+++ trunk/drools/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/DroolsAllBotTests.java	2010-05-05 13:02:06 UTC (rev 21905)
@@ -17,6 +17,7 @@
 import org.jboss.tools.drools.ui.bot.test.smoke.DecisionTableTest;
 import org.jboss.tools.drools.ui.bot.test.smoke.DomainSpecificLanguageEditorTest;
 import org.jboss.tools.drools.ui.bot.test.smoke.GuidedDroolsRulesEditorTest;
+import org.jboss.tools.drools.ui.bot.test.smoke.GuvnorRepositoriesTest;
 import org.jboss.tools.drools.ui.bot.test.smoke.ManageDroolsRuntime;
 import org.jboss.tools.drools.ui.bot.test.smoke.ManageDroolsProject;
 import org.jboss.tools.drools.ui.bot.test.smoke.ManageDroolsRules;
@@ -47,7 +48,8 @@
   GuidedDroolsRulesEditorTest.class,
   DomainSpecificLanguageEditorTest.class,
   RuleFlowTest.class,
-  DecisionTableTest.class})  
+  DecisionTableTest.class,
+  GuvnorRepositoriesTest.class})  
 public class DroolsAllBotTests extends SWTTestExt {
   public static final String DROOLS_PROJECT_NAME = "droolsTest";
   public static final String DROOLS_RUNTIME_NAME = "Drools Test Runtime";
@@ -64,6 +66,7 @@
   public static final String RULE_FLOW_JAVA_TEST_FILE_NAME = "ProcessTest.java";
   public static final String RULE_FLOW_RF_FILE_NAME = "ruleflow.rf";
   public static final String DECISION_TABLE_JAVA_TEST_FILE_NAME = "DecisionTableTest.java";
+  public static final String EAP_50_WITH_GUVNOR_PROPERTY_NAME= "jboss-eap5.0-with-drools-home";
   private static String testDroolsRuntimeName = null;
   public static String getTestDroolsRuntimeName() {
     return testDroolsRuntimeName;

Added: trunk/drools/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/GuvnorRepositoriesTest.java
===================================================================
--- trunk/drools/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/GuvnorRepositoriesTest.java	                        (rev 0)
+++ trunk/drools/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/GuvnorRepositoriesTest.java	2010-05-05 13:02:06 UTC (rev 21905)
@@ -0,0 +1,153 @@
+ /*******************************************************************************
+  * Copyright (c) 2007-2010 Red Hat, Inc.
+  * Distributed under license by Red Hat, Inc. All rights reserved.
+  * This program is made available under the terms of the
+  * Eclipse Public License v1.0 which accompanies this distribution,
+  * and is available at http://www.eclipse.org/legal/epl-v10.html
+  *
+  * Contributor:
+  *     Red Hat, Inc. - initial API and implementation
+  ******************************************************************************/
+
+package org.jboss.tools.drools.ui.bot.test.smoke;
+
+import static org.jboss.tools.ui.bot.ext.SWTTestExt.bot;
+
+import java.awt.event.KeyEvent;
+
+import org.eclipse.swtbot.swt.finder.SWTBot;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.jboss.tools.ui.bot.ext.config.requirement.RequirementNotFulfilledException;
+import org.jboss.tools.ui.bot.ext.config.requirement.StartServer;
+import org.jboss.tools.ui.bot.ext.config.requirement.StopServer;
+import org.jboss.tools.ui.bot.ext.gen.ActionItem;
+import org.jboss.tools.ui.bot.ext.gen.ActionItem.View.GeneralInternalWebBrowser;
+import org.jboss.tools.ui.bot.ext.helper.ContextMenuHelper;
+import org.jboss.tools.ui.bot.ext.helper.KeyboardHelper;
+import org.jboss.tools.ui.bot.ext.parts.SWTBotBrowserExt;
+import org.jboss.tools.ui.bot.ext.types.IDELabel;
+import org.jboss.tools.ui.bot.ext.types.PerspectiveType;
+import org.jboss.tools.ui.bot.ext.types.ViewType;
+import org.jboss.tools.ui.bot.ext.view.GuvnorRepositories;
+import org.jboss.tools.ui.bot.ext.SWTEclipseExt;
+import org.jboss.tools.ui.bot.ext.SWTTestExt;
+import org.jboss.tools.ui.bot.ext.SWTUtilExt;
+import org.jboss.tools.ui.bot.ext.Timing;
+import org.junit.Test;
+/**
+ * Tests Guvnor Repositories
+ * @author Vladimir Pakan
+ *
+ */
+public class GuvnorRepositoriesTest extends SWTTestExt{
+  private GuvnorRepositories guvnorRepositories = new GuvnorRepositories(); 
+  /**
+   * Tests Guvnor Repositories
+   */
+  @Test
+  public void testGuvnorRepositories() {
+    //startGuvnor();
+    addGuvnorRepository();
+    deleteGuvnorRepository();
+    addGuvnorRepository();
+    openGuvnorConsole();
+    browseGuvnorRepository();
+    //stopGuvnor();
+  }
+
+  /**
+   * Adds Guvnor Repository
+   */
+  private void addGuvnorRepository(){
+    eclipse.openPerspective(PerspectiveType.GUVNOR_REPOSITORY_EXPLORING);
+    SWTBot guvnorRepositoriesBot = guvnorRepositories.show().bot();
+    SWTUtilExt.getViewToolbarButtonWithTooltip(
+      guvnorRepositories.show(),
+      IDELabel.GuvnorRepositories.ADD_GUVNOR_REPOSITORY_TOOLTIP)
+        .click();
+    eclipse.waitForShell("");
+    guvnorRepositoriesBot.activeShell().bot().button(IDELabel.Button.FINISH).click();
+    assertTrue("Guvnor repository was not created properly",
+      guvnorRepositoriesBot.tree().rowCount() == 1);
+  }
+  /**
+   * Deletes Guvnor Repostiry
+   */
+  private void deleteGuvnorRepository(){
+    SWTBot guvnorRepositoriesBot = guvnorRepositories.show().bot();;
+    SWTBotTree guvnorRepositoryTree = guvnorRepositoriesBot.tree();
+    guvnorRepositoryTree.select(0);
+    SWTUtilExt.getViewToolbarButtonWithTooltip(
+      guvnorRepositories.show(),
+      IDELabel.GuvnorRepositories.REMOVE_GUVNOR_REPOSITORY_TOOLTIP)
+        .click();
+    guvnorRepositoriesBot.shell(IDELabel.GuvnorRepositories.REMOVE_GUVNOR_REPOSITORY_DIALOG_TITLE)
+      .activate();
+    bot.button(IDELabel.Button.OK).click();
+    assertTrue("Guvnor repository was not deleted properly",
+      guvnorRepositoriesBot.tree().rowCount() == 0);
+  }
+  /**
+   * Opens Guvnor Console
+   */
+  private void openGuvnorConsole(){
+    SWTBot guvnorRepositoriesBot = guvnorRepositories.show().bot();
+    SWTBotTree guvnorRepositoryTree = guvnorRepositoriesBot.tree();
+    SWTBotTreeItem tiGuvnorRepository = guvnorRepositoryTree.getAllItems()[0];
+    ContextMenuHelper.prepareTreeItemForContextMenu(guvnorRepositoryTree, tiGuvnorRepository);
+    new SWTBotMenu(ContextMenuHelper.getContextMenu(guvnorRepositoryTree, 
+      IDELabel.Menu.OPEN_GUVNOR_CONSOLE, false)).click();
+    bot.sleep(Timing.time5S());
+    SWTBotBrowserExt browser = bot.browserByTitle(IDELabel.GuvnorConsole.GUVNOR_CONSOLE_TITLE);
+    browser.clickOnButtonViaJavaScript(0, bot);
+    browser.clickOnButtonViaJavaScript(IDELabel.GuvnorConsole.BUTTON_YES_INSTALL_SAMPLES, bot);
+    bot.sleep(Timing.time1S());
+    KeyboardHelper.pressKeyCodeUsingAWT(KeyEvent.VK_RIGHT);
+    KeyboardHelper.releaseKeyCodeUsingAWT(KeyEvent.VK_RIGHT);
+    bot.sleep(Timing.time1S());
+    KeyboardHelper.pressKeyCodeUsingAWT(KeyEvent.VK_ENTER);
+    KeyboardHelper.releaseKeyCodeUsingAWT(KeyEvent.VK_ENTER);
+    bot.sleep(Timing.time10S());
+    KeyboardHelper.pressKeyCodeUsingAWT(KeyEvent.VK_ENTER);
+    KeyboardHelper.releaseKeyCodeUsingAWT(KeyEvent.VK_ENTER);
+  }
+  /**
+   * Browse Guvnor Repository
+   */
+  private void browseGuvnorRepository(){
+    
+    guvnorRepositories.show();
+
+    String fileToOpen = "Underage.brl";
+    guvnorRepositories.openFile(Timing.time1S(),IDELabel.GuvnorRepositories.GUVNOR_REPOSITORY_ROOT_TREE_ITEM,
+      IDELabel.GuvnorRepositories.PACKAGES_TREE_ITEM,
+      IDELabel.GuvnorRepositories.MORTGAGE_TREE_ITEM,
+      fileToOpen);
+    
+    assertTrue("File from Guvnor Repository was not opened properly. File " + fileToOpen + " is not opened in editor",
+      SWTEclipseExt.existEditorWithLabel(bot,fileToOpen + " (Read only)"));
+    
+  }
+  /**
+   * Starts Guvnor AS
+   */
+  private void startGuvnor(){
+    try {
+      new StartServer().fulfill();
+    } catch (RequirementNotFulfilledException e) {
+      throw new RuntimeException(e);
+    } 
+  }
+  /**
+   * Stops Guvnor AS
+   */
+  private void stopGuvnor(){
+    try {
+      new StopServer().fulfill();
+    } catch (RequirementNotFulfilledException e) {
+      throw new RuntimeException(e);
+    } 
+  }
+}
\ No newline at end of file


Property changes on: trunk/drools/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/GuvnorRepositoriesTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/META-INF/MANIFEST.MF
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/META-INF/MANIFEST.MF	2010-05-05 12:27:43 UTC (rev 21904)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/META-INF/MANIFEST.MF	2010-05-05 13:02:06 UTC (rev 21905)
@@ -25,6 +25,7 @@
 Eclipse-RegisterBuddy: org.apache.log4j
 Export-Package: org.jboss.tools.ui.bot.ext,
  org.jboss.tools.ui.bot.ext.config,
+ org.jboss.tools.ui.bot.ext.config.requirement,
  org.jboss.tools.ui.bot.ext.entity,
  org.jboss.tools.ui.bot.ext.gen,
  org.jboss.tools.ui.bot.ext.helper,

Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTEclipseExt.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTEclipseExt.java	2010-05-05 12:27:43 UTC (rev 21904)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTEclipseExt.java	2010-05-05 13:02:06 UTC (rev 21905)
@@ -158,7 +158,10 @@
 			break;
 		case DEBUG:
       perspectiveLabel = IDELabel.SelectPerspectiveDialog.DEBUG;
-      break;		
+      break;	
+		case GUVNOR_REPOSITORY_EXPLORING:
+      perspectiveLabel = IDELabel.SelectPerspectiveDialog.GUVNOR_REPOSITORY_EXPLORING;
+      break;
 		default:
 			fail("Unknown perspective to open");
 		}
@@ -430,6 +433,7 @@
 	 * @param serverName
 	 */
 	public void addServer(IServer server, String serverName) {
+	  log.info("Adding server: " + serverName);
 		SWTBot wiz = open.newObject(ActionItem.NewObject.ServerServer.LABEL);
 		open.selectTreeNode(server);
 		wiz.textWithLabel(ServerServer.TEXT_SERVER_NAME).setText(serverName);
@@ -442,6 +446,9 @@
 	 * @param seamHome path to seam home directory
 	 */
 	public void addSeamRuntime(String name, String version, String seamHome) {
+	  log.info("Adding Seam Runtime: " + name +
+	    "\nVersion: " + version +
+	    "\nHome: " + seamHome);
 		SWTBot wiz = open.preferenceOpen(ActionItem.Preference.JBossToolsWebSeam.LABEL);
 		SWTBotTable tbRuntimeEnvironments = bot.table();
 		boolean createRuntime = true;
@@ -505,6 +512,9 @@
 	 */
 	public void addJbossServerRuntime(IServerRuntime runtime,
 			String runtimeHome, String name, String jreToUse) {
+    log.info("Adding JBoss Server Runtime: " + name +
+      "\nHome: " + runtimeHome +
+      "\nJRE: " + jreToUse);	  
 		Properties props = new Properties();
 		props
 				.put(IDELabel.JBossServerRuntimeDialog.HOME_DIRECTORY,
@@ -522,6 +532,8 @@
 	 */
 	public void addServerRuntime(IServerRuntime runtime, Properties properties,
 			String jreToUse) {
+	  log.info("Addding Server Runtime: " + runtime.getName() +
+	    "\nJRE: " + jreToUse);
 		SWTBot wiz = open
 				.preferenceOpen(ActionItem.Preference.ServerRuntimeEnvironments.LABEL);
 		
@@ -569,6 +581,7 @@
 	 *            path to jre
 	 */
 	public void addJavaVM(String vmName, String jreHome) {
+	  log.info("Adding Java Virtual Machine: " + vmName + "\nHome: " + jreHome);
 		SWTBot pref = open
 				.preferenceOpen(ActionItem.Preference.JavaInstalledJREs.LABEL);
 		pref.button(IDELabel.Button.ADD).click();
@@ -591,7 +604,10 @@
 	 */
 	public void addServerRuntime(String runtimeName, String runtimeGroup,
 			String runtimeType, String runtimeHomeDir) {
-
+	  log.info("Adding Server Runtime: " + runtimeName +
+	    "\nRuntime Group: " + runtimeGroup +
+	    "\nRuntime Type: " + runtimeType +
+	    "\nHome: " + runtimeHomeDir);
 		bot.menu(IDELabel.Menu.WINDOW).menu(IDELabel.Menu.PREFERENCES).click();
 		bot.shell(IDELabel.Shell.PREFERENCES).activate();
 		bot.tree().expandNode(IDELabel.PreferencesDialog.SERVER_GROUP).select(

Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTUtilExt.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTUtilExt.java	2010-05-05 12:27:43 UTC (rev 21904)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/SWTUtilExt.java	2010-05-05 13:02:06 UTC (rev 21905)
@@ -10,6 +10,7 @@
  ******************************************************************************/
 package org.jboss.tools.ui.bot.ext;
 
+import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.withTooltip;
 import static org.junit.Assert.fail;
 
 import java.io.BufferedReader;
@@ -19,6 +20,7 @@
 import java.io.InputStream;
 import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Properties;
 
@@ -46,6 +48,7 @@
 import org.osgi.framework.Bundle;
 import org.hamcrest.BaseMatcher;
 import org.hamcrest.Description;
+import org.hamcrest.Matcher;
 
 /**
  * Base class for all classes using SWTBot
@@ -662,10 +665,38 @@
     List<SWTBotToolbarButton> buttons = view.getToolbarButtons();
     for (SWTBotToolbarButton button : buttons){
       System.out.println("Button Tooltip: " + button.getToolTipText() +
-        " Text: " + button.getText());
+        " Text: " + button.getText() + 
+        " Class: " + button.getClass());
     }
   }
   /**
+   * Returns Toolbar Button of view with specified toolTip
+   * @param view 
+   * @param toolTip
+   */
+  public static SWTBotToolbarButton getViewToolbarButtonWithTooltip (SWTBotView view, String toolTip){
+    List<SWTBotToolbarButton> buttons = view.getToolbarButtons();
+    SWTBotToolbarButton result = null;
+    if (buttons != null){
+      Matcher<Widget> withTooltip = withTooltip(toolTip);
+      Iterator<SWTBotToolbarButton> iterator = buttons.iterator();
+      while (iterator.hasNext() && result == null){
+        SWTBotToolbarButton button = iterator.next();
+        if (withTooltip.matches(button)){
+          result = button;  
+        }
+      }
+    }  
+    
+    if (result == null){
+      throw new WidgetNotFoundException("Unable to find Toolbar Button with ToolTip " +
+        toolTip);      
+    }else{
+      return result;
+    }
+    
+  }
+  /**
    * Invoke method on object and returns result as String
    * @param object
    * @param method

Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/config/requirement/StartServer.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/config/requirement/StartServer.java	2010-05-05 12:27:43 UTC (rev 21904)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/config/requirement/StartServer.java	2010-05-05 13:02:06 UTC (rev 21905)
@@ -20,8 +20,9 @@
 
 	@Override
 	public void handle(){
-		SWTTestExt.servers.startServer(SWTTestExt.configuredState.getServer().name);
-		SWTTestExt.configuredState.getServer().isRunning = true;
-
+	  if (!SWTTestExt.configuredState.getServer().isRunning){
+	    SWTTestExt.servers.startServer(SWTTestExt.configuredState.getServer().name);
+	    SWTTestExt.configuredState.getServer().isRunning = true;
+	  }
 	}
 }

Added: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/config/requirement/StopServer.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/config/requirement/StopServer.java	                        (rev 0)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/config/requirement/StopServer.java	2010-05-05 13:02:06 UTC (rev 21905)
@@ -0,0 +1,23 @@
+package org.jboss.tools.ui.bot.ext.config.requirement;
+
+import org.jboss.tools.ui.bot.ext.SWTTestExt;
+/**
+ * Stops server (as dependent requirement has {@link AddServer}
+ * @author Vladimir Pakan
+ *
+ */
+public class StopServer extends RequirementBase {
+
+	@Override
+	public boolean checkFulfilled() {
+		return !SWTTestExt.configuredState.getServer().isRunning;
+	}
+
+	@Override
+	public void handle(){
+	  if (SWTTestExt.configuredState.getServer().isRunning){
+	    SWTTestExt.servers.stopServer(SWTTestExt.configuredState.getServer().name);
+	    SWTTestExt.configuredState.getServer().isRunning = false;
+	  }
+	}
+}


Property changes on: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/config/requirement/StopServer.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/SWTBotBrowserExt.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/SWTBotBrowserExt.java	2010-05-05 12:27:43 UTC (rev 21904)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/parts/SWTBotBrowserExt.java	2010-05-05 13:02:06 UTC (rev 21905)
@@ -8,12 +8,15 @@
 import org.eclipse.swt.browser.Browser;
 import org.eclipse.swt.browser.ProgressEvent;
 import org.eclipse.swt.browser.ProgressListener;
+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.Result;
 import org.eclipse.swtbot.swt.finder.results.VoidResult;
 import org.eclipse.swtbot.swt.finder.widgets.AbstractSWTBotControl;
 import org.hamcrest.SelfDescribing;
+import org.jboss.tools.ui.bot.ext.SWTUtilExt;
+import org.jboss.tools.ui.bot.ext.Timing;
 
 /**
  * browser component
@@ -201,5 +204,35 @@
 			}
 		});
 	}
-
+  /**
+   * Click on the button generated via Java script on position specified by index 
+   * @param index
+   */
+	public void clickOnButtonViaJavaScript(int index,SWTWorkbenchBot bot){
+	  executeScriptAsync("document.getElementsByTagName('button')[" +
+	    index +
+	    "].click();");
+	  bot.sleep(Timing.time5S());
+	}
+	/**
+   * Click on the button generated via Java script with specified label
+   * @param label
+   */
+  public void clickOnButtonViaJavaScript(String label,SWTWorkbenchBot bot){
+    executeScriptAsync("var buttons = document.getElementsByTagName('button');" +
+      "for (var i=0; i <=(buttons.length-1); i++){" +
+      "if (buttons[i].innerHTML == \"" + label + "\") {" + 
+      " buttons[i].click();}" + "}");
+    bot.sleep(Timing.time5S());
+  }
+	/**
+	 * Navigate Browser to url and wait until page is completely loaded
+	 * @param url
+	 * @param bot
+	 */
+	public void loadUrlToBrowser(String url,SWTWorkbenchBot bot){
+	  goURL(url);
+	  new SWTUtilExt(bot).waitForBrowserLoadsPage(this);
+	  bot.sleep(Timing.time5S());
+	}
 }

Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java	2010-05-05 12:27:43 UTC (rev 21904)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/IDELabel.java	2010-05-05 13:02:06 UTC (rev 21905)
@@ -65,6 +65,7 @@
     public static final String TOGGLE_BREAKPOINT="Toggle Breakpoint";
     public static final String DEBUG_AS = "Debug As";
     public static final String DEBUG_AS_DROOLS_APPLICATION = "Drools Application";
+    public static final String OPEN_GUVNOR_CONSOLE = "Open Guvnor Console";
 	}
 
 	public class Button {
@@ -171,6 +172,7 @@
 		public static final String WEB_PROJECTS = "Web Projects";
 		public static final String PROBLEMS = "Problems";
 		public static final String DEBUG = "Debug";
+		public static final String GUVNOR_REPOSITORIES = "Guvnor Repositories";
 	}
 	
 	public class ViewGroup {
@@ -180,6 +182,7 @@
 		public static final String SERVER = "Server";
 		public static final String JBOSS_TOOLS_WEB = "JBoss Tools Web";
 		public static final String DEBUG = "Debug";
+		public static final String GUVNOR = "Guvnor";
 	}
 
 	public class SelectPerspectiveDialog {
@@ -190,6 +193,7 @@
 		public static final String DB_DEVELOPMENT = "Database Development";
 		public static final String JPA = "JPA";
 		public static final String DEBUG = "Debug";
+		public static final String GUVNOR_REPOSITORY_EXPLORING = "Guvnor Repository Exploring";
 	}
 	/**
 	 * Hibernate Console Wizard (ConsoleConfigurationCreationWizard) Labels (
@@ -430,4 +434,21 @@
      public static final String SCOPE_COMBO_VALUE = "condition";
      
    }
+   
+   public static final class GuvnorRepositories {
+     
+     public static final String ADD_GUVNOR_REPOSITORY_TOOLTIP = "Add a Guvnor respository connection";
+     public static final String REMOVE_GUVNOR_REPOSITORY_TOOLTIP = "Delete Guvnor repository connection";
+     public static final String REMOVE_GUVNOR_REPOSITORY_DIALOG_TITLE = "Remove repository connection";
+     public static final String GUVNOR_REPOSITORY_ROOT_TREE_ITEM = "http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/webdav";
+     public static final String PACKAGES_TREE_ITEM = "packages/";
+     public static final String MORTGAGE_TREE_ITEM = "mortgages/";
+   }
+   
+   public static final class GuvnorConsole {
+     
+     public static final String GUVNOR_CONSOLE_TITLE = "JBoss Guvnor";
+     public static final String BUTTON_YES_INSTALL_SAMPLES = "Yes, please install samples";
+     
+   }
  }

Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/PerspectiveType.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/PerspectiveType.java	2010-05-05 12:27:43 UTC (rev 21904)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/PerspectiveType.java	2010-05-05 13:02:06 UTC (rev 21905)
@@ -16,6 +16,6 @@
  *
  */
 public enum PerspectiveType {
-	SEAM, JAVA, WEB_DEVELOPMENT, HIBERNATE, DB_DEVELOPMENT, JPA, DEBUG;
+	SEAM, JAVA, WEB_DEVELOPMENT, HIBERNATE, DB_DEVELOPMENT, JPA, DEBUG, GUVNOR_REPOSITORY_EXPLORING;
 }
 

Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/ViewType.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/ViewType.java	2010-05-05 12:27:43 UTC (rev 21904)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/types/ViewType.java	2010-05-05 13:02:06 UTC (rev 21905)
@@ -18,7 +18,8 @@
  *
  */
 public enum ViewType {
-	PACKAGE_EXPLORER, PROJECT_EXPLORER, WELCOME, DATA_SOURCE_EXPLORER,SERVERS,WEB_PROJECTS,PROBLEMS,DEBUG;
+	PACKAGE_EXPLORER, PROJECT_EXPLORER, WELCOME, DATA_SOURCE_EXPLORER,
+	SERVERS,WEB_PROJECTS,PROBLEMS,DEBUG,GUVNOR_REPOSITORIES;
 	
 	
 	public String getGroupLabel() {
@@ -31,6 +32,7 @@
 			case WEB_PROJECTS: viewLabel = IDELabel.ViewGroup.JBOSS_TOOLS_WEB; break;
 			case PROBLEMS: viewLabel = IDELabel.ViewGroup.GENERAL; break;
 			case DEBUG: viewLabel = IDELabel.ViewGroup.DEBUG; break;
+			case GUVNOR_REPOSITORIES: viewLabel = IDELabel.ViewGroup.GUVNOR; break;
 			default: fail("Unknown View Type");
 		}
 		return viewLabel;	
@@ -46,6 +48,7 @@
 			case WEB_PROJECTS: viewLabel = IDELabel.View.WEB_PROJECTS; break;
 			case PROBLEMS: viewLabel = IDELabel.View.PROBLEMS; break;
 			case DEBUG: viewLabel = IDELabel.View.DEBUG; break;
+			case GUVNOR_REPOSITORIES: viewLabel = IDELabel.View.GUVNOR_REPOSITORIES; break;
 			default: fail("Unknown View Type");
 		}
 		return viewLabel;

Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/ExplorerBase.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/ExplorerBase.java	2010-05-05 12:27:43 UTC (rev 21904)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/ExplorerBase.java	2010-05-05 13:02:06 UTC (rev 21905)
@@ -90,18 +90,21 @@
 	}
 	/**
 	 * opens file (selects in tree and doubleclicks)
+	 * @param timeOut
 	 * @param projectName
 	 * @param path to file
 	 * @return editor with opened file
 	 */
-	public SWTBotEditor openFile(String projectName, String... path) {
+	public SWTBotEditor openFile(int timeOut, String projectName, String... path) {
 		SWTBot viewBot = show().bot();
 		SWTBotTree tree = viewBot.tree();
 		SWTBotTreeItem item = tree.expandNode(projectName);
+		viewBot.sleep(timeOut);
 		StringBuilder builder = new StringBuilder(projectName);
 		// Go through path
 		for (String nodeName : path) {
 			item = item.expandNode(nodeName);
+			viewBot.sleep(timeOut);
 			builder.append("/" + nodeName);
 		}
 		item.select().doubleClick();
@@ -110,6 +113,15 @@
 		return editor;
 	}
 	/**
+   * opens file (selects in tree and doubleclicks) with zero timeOut for expandNode() method
+   * @param projectName
+   * @param path to file
+   * @return editor with opened file
+   */
+  public SWTBotEditor openFile(String projectName, String... path) {
+    return openFile(0,projectName,path);
+  }
+	/**
 	 * runs given project on Server (uses default server, the first one) server MUST be running
 	 * @param projectName
 	 */

Added: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/GuvnorRepositories.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/GuvnorRepositories.java	                        (rev 0)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/GuvnorRepositories.java	2010-05-05 13:02:06 UTC (rev 21905)
@@ -0,0 +1,16 @@
+package org.jboss.tools.ui.bot.ext.view;
+
+import org.apache.log4j.Logger;
+import org.jboss.tools.ui.bot.ext.gen.ActionItem.View.GuvnorGuvnorRepositories;
+
+/**
+ * Class provides bot routines related to Repositories View
+ * @author Vlado Pakan
+ *
+ */
+public class GuvnorRepositories extends ExplorerBase {
+  Logger log = Logger.getLogger(GuvnorRepositories.class);
+	public GuvnorRepositories() {
+		viewObject = GuvnorGuvnorRepositories.LABEL;
+	}
+}


Property changes on: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/GuvnorRepositories.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/ServersView.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/ServersView.java	2010-05-05 12:27:43 UTC (rev 21904)
+++ trunk/jst/tests/org.jboss.tools.ui.bot.ext/src/org/jboss/tools/ui/bot/ext/view/ServersView.java	2010-05-05 13:02:06 UTC (rev 21905)
@@ -81,8 +81,11 @@
 	        new SWTBotMenu(ContextMenuHelper.getContextMenu(tree, IDELabel.Menu.START, false)).click();
 		    new SWTUtilExt(this).waitForNonIgnoredJobs(Timing.time100S());
 		    new SWTUtilExt(this).waitForAll(Timing.time3S());
-	        
 		}
+		else{
+		  throw new RuntimeException("Unable to start server witn name: " + serverName +
+		    "\nThis server is not defined within Servers view");
+		}
 	}
 	
 	private SWTBotTreeItem findServerByName(SWTBotTree tree, String name) {



More information about the jbosstools-commits mailing list