Author: jgargula
Date: 2012-10-16 05:47:12 -0400 (Tue, 16 Oct 2012)
New Revision: 44521
Modified:
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/resources/project.properties
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/DroolsAllBotTests.java
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/DroolsViewsTest.java
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/ManageDroolsRuntime.java
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/RuleFlowTest.java
Log:
Added support for jBPM runtime.
Modified:
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/resources/project.properties
===================================================================
---
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/resources/project.properties 2012-10-16
09:40:45 UTC (rev 44520)
+++
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/resources/project.properties 2012-10-16
09:47:12 UTC (rev 44521)
@@ -1,3 +1,5 @@
use-external-drools-runtime=true
-guvnor-repository-url=/jboss-brms/org.drools.guvnor.Guvnor/webdav
external-drools-runtime-home=/home/jgargula/Programs/drools-runtime
+use-external-jbpm-runtime=true
+external-jbpm-runtime-home=/home/jgargula/Programs/jbpm-runtime
+guvnor-repository-url=/jboss-brms/org.drools.guvnor.Guvnor/webdav
\ No newline at end of file
Modified:
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/DroolsAllBotTests.java
===================================================================
---
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/DroolsAllBotTests.java 2012-10-16
09:40:45 UTC (rev 44520)
+++
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/DroolsAllBotTests.java 2012-10-16
09:47:12 UTC (rev 44521)
@@ -24,6 +24,7 @@
import org.jboss.tools.drools.ui.bot.test.smoke.ManageDroolsProject;
import org.jboss.tools.drools.ui.bot.test.smoke.ManageDroolsRules;
import org.jboss.tools.drools.ui.bot.test.smoke.ManageDroolsRuntime;
+import org.jboss.tools.drools.ui.bot.test.smoke.ManageJbpmRuntime;
import org.jboss.tools.drools.ui.bot.test.smoke.OpenDroolsPerspective;
import org.jboss.tools.drools.ui.bot.test.smoke.RuleFlowTest;
import org.jboss.tools.ui.bot.ext.RequirementAwareSuite;
@@ -49,6 +50,7 @@
@SuiteClasses({
OpenDroolsPerspective.class,
ManageDroolsRuntime.class,
+ ManageJbpmRuntime.class,
ManageDroolsProject.class,
ManageDroolsRules.class,
DroolsRulesEditorTest.class,
@@ -63,7 +65,10 @@
public static final String DROOLS_PROJECT_NAME = "droolsTest";
public static final String DROOLS_RUNTIME_NAME = "Drools Test Runtime";
public static String DROOLS_RUNTIME_LOCATION = null;
+ public static String JBPM_RUNTIME_LOCATION = null;
+ public static final String JBPM_RUNTIME_NAME = "jBPM Test Runtime";
public static String CREATE_DROOLS_RUNTIME_LOCATION = null;
+ public static String CREATE_JBPM_RUNTIME_LOCATION = null;
public static String SRC_MAIN_JAVA_TREE_NODE = "src/main/java";
public static String SRC_MAIN_RULES_TREE_NODE = "src/main/rules";
public static String COM_SAMPLE_TREE_NODE = "com.sample";
@@ -80,12 +85,17 @@
public static final String DECISION_TABLE_JAVA_TEST_FILE_NAME =
"DecisionTableTest.java";
public static final String USE_EXTERNAL_DROOLS_RUNTIME_PROPERTY_NAME =
"use-external-drools-runtime";
public static final String EXTERNAL_DROOLS_RUTIME_HOME_PROPERTY_NAME =
"external-drools-runtime-home";
+ public static final String USE_EXTERNAL_JBPM_RUNTIME_PROPERTY_NAME =
"use-external-jbpm-runtime";
+ public static final String EXTERNAL_JBPM_RUTIME_HOME_PROPERTY_NAME =
"external-jbpm-runtime-home";
public static final String GUVNOR_REPOSITORY_URL_PROPERTY_NAME =
"guvnor-repository-url";
private static boolean USE_EXTERNAL_DROOLS_RUNTIME;
+ private static boolean USE_EXTERNAL_JBPM_RUNTIME;
private static boolean isFirstRun = true;
private static String testDroolsRuntimeName = null;
private static String testDroolsRuntimeLocation = null;
+ private static String testJbpmRuntimeName = null;
+ private static String testJbpmRuntimeLocation = null;
private static String guvnorRepositoryUrl = null;
private static String guvnorRepositoryRootTreeItem =
"http://localhost:8080/jboss-brms/org.drools.guvnor.Guvnor/webdav/";
@@ -105,6 +115,22 @@
DroolsAllBotTests.testDroolsRuntimeLocation = testDroolsRuntimeLocation;
}
+ public static String getTestJbpmRuntimeName() {
+ return testJbpmRuntimeName;
+ }
+
+ public static void setTestJbpmRuntimeName(String testJbmpRuntimeName) {
+ DroolsAllBotTests.testJbpmRuntimeName = testJbmpRuntimeName;
+ }
+
+ public static String getTestJbpmRuntimeLocation() {
+ return testJbpmRuntimeLocation;
+ }
+
+ public static void setTestJbpmRuntimeLocation(String testJbpmRuntimeLocation) {
+ DroolsAllBotTests.testJbpmRuntimeLocation = testJbpmRuntimeLocation;
+ }
+
public static String getGuvnorRepositoryUrl() {
return guvnorRepositoryUrl;
}
@@ -138,7 +164,7 @@
DroolsAllBotTests.USE_EXTERNAL_DROOLS_RUNTIME = useExternalDroolRuntime != null
&& useExternalDroolRuntime.equalsIgnoreCase("true");
String droolsRuntimeLocation =
props.getProperty(DroolsAllBotTests.EXTERNAL_DROOLS_RUTIME_HOME_PROPERTY_NAME);
String tmpDir = System.getProperty("java.io.tmpdir");
- if (droolsRuntimeLocation == null || droolsRuntimeLocation.length() == 0) {
+ if (droolsRuntimeLocation == null || droolsRuntimeLocation.trim().length() == 0)
{
DroolsAllBotTests.DROOLS_RUNTIME_LOCATION = tmpDir;
} else {
DroolsAllBotTests.DROOLS_RUNTIME_LOCATION = droolsRuntimeLocation;
@@ -146,6 +172,19 @@
DroolsAllBotTests.CREATE_DROOLS_RUNTIME_LOCATION = tmpDir + File.separator +
"drools";
// Create directory for Drools Runtime which will be created as a part of test
new File(DroolsAllBotTests.CREATE_DROOLS_RUNTIME_LOCATION).mkdir();
+
+ String useExternalJbpmRuntime =
props.getProperty(DroolsAllBotTests.USE_EXTERNAL_JBPM_RUNTIME_PROPERTY_NAME);
+ DroolsAllBotTests.USE_EXTERNAL_JBPM_RUNTIME = useExternalJbpmRuntime != null
&& useExternalJbpmRuntime.equalsIgnoreCase("true");
+ String jbpmRuntimeLocation =
props.getProperty(DroolsAllBotTests.EXTERNAL_JBPM_RUTIME_HOME_PROPERTY_NAME);
+ if (jbpmRuntimeLocation == null || jbpmRuntimeLocation.trim().length() == 0) {
+ DroolsAllBotTests.JBPM_RUNTIME_LOCATION = tmpDir;
+ } else {
+ DroolsAllBotTests.JBPM_RUNTIME_LOCATION = jbpmRuntimeLocation;
+ }
+ DroolsAllBotTests.CREATE_JBPM_RUNTIME_LOCATION = tmpDir + File.separator +
"jBPM";
+ // Create directory for jBPM Runtime which will be created as a part of test
+ new File(DroolsAllBotTests.CREATE_JBPM_RUNTIME_LOCATION).mkdir();
+
try {
bot.button(IDELabel.Button.NO).click();
} catch (WidgetNotFoundException wnfe) {
@@ -204,10 +243,14 @@
public static boolean useExternalDroolsRuntime() {
return USE_EXTERNAL_DROOLS_RUNTIME;
}
+
+ public static boolean useExternalJbpmRuntime() {
+ return USE_EXTERNAL_JBPM_RUNTIME;
+ }
@AfterClass
public static void tearDownTest() {
// delete created drools runtime
SWTUtilExt.deleteDirectory(DroolsAllBotTests.CREATE_DROOLS_RUNTIME_LOCATION);
- }
+ }
}
\ No newline at end of file
Modified:
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/DroolsViewsTest.java
===================================================================
---
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/DroolsViewsTest.java 2012-10-16
09:40:45 UTC (rev 44520)
+++
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/DroolsViewsTest.java 2012-10-16
09:47:12 UTC (rev 44521)
@@ -133,7 +133,7 @@
* Test of Agenda view.
*/
@Test
- public void agendaTest() {
+ public void testAgenda() {
bot.editorByTitle(RULES_FILE).show();
eclipse.stepOver();
SWTUtilExt.startCapturingStandardOutput();
@@ -170,7 +170,7 @@
*/
@Test
@Ignore
- public void refreshAgendaTest() {
+ public void testRefreshAgenda() {
openView(IDELabel.View.AGENDA);
eclipse.stepOver();
assertTrue("Agenda is not refreshing automatically.",
bot.tree().getAllItems()[0].getItems().length > 0);
@@ -180,7 +180,7 @@
* Test of global variable in Global Data.
*/
@Test
- public void globalDataTest() {
+ public void testGlobalData() {
openView(IDELabel.View.GLOBAL_DATA);
assertTrue("Global data has wrong number of items. Expected 1 but was
"
+ bot.tree().getAllItems().length, bot.tree().getAllItems().length ==
1);
@@ -193,7 +193,7 @@
* Test of Audit view.
*/
@Test
- public void auditTest() {
+ public void testAudit() {
eclipse.finishDebug();
openView(IDELabel.View.AUDIT);
SWTBotView auditView = bot.viewByTitle(IDELabel.View.AUDIT);
@@ -250,7 +250,7 @@
* Test of Working Memory view
*/
@Test
- public void workingMemoryTest() {
+ public void testWorkingMemory() {
openView(IDELabel.View.WORKING_MEMORY);
SWTBotTree workingMemoryTree = bot.tree();
Modified:
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/ManageDroolsRuntime.java
===================================================================
---
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/ManageDroolsRuntime.java 2012-10-16
09:40:45 UTC (rev 44520)
+++
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/ManageDroolsRuntime.java 2012-10-16
09:47:12 UTC (rev 44521)
@@ -25,12 +25,14 @@
import org.jboss.tools.ui.bot.ext.gen.ActionItem;
import org.jboss.tools.ui.bot.ext.types.IDELabel;
import org.junit.Test;
+
/**
* Test managing of Drools Runtime
* @author Vladimir Pakan
*
*/
-public class ManageDroolsRuntime extends SWTTestExt{
+public class ManageDroolsRuntime extends SWTTestExt {
+
/**
* Test manage Drools Runtime
*/
@@ -42,18 +44,19 @@
"edited" , "testedit");
removeDroolsRuntime(DroolsAllBotTests.getTestDroolsRuntimeName());
createDroolsRuntime(DroolsAllBotTests.DROOLS_RUNTIME_NAME,DroolsAllBotTests.CREATE_DROOLS_RUNTIME_LOCATION);
- if (DroolsAllBotTests.useExternalDroolsRuntime()){
+ if (DroolsAllBotTests.useExternalDroolsRuntime()) {
removeDroolsRuntime(DroolsAllBotTests.DROOLS_RUNTIME_NAME);
addDroolsRuntime(DroolsAllBotTests.DROOLS_RUNTIME_NAME,DroolsAllBotTests.DROOLS_RUNTIME_LOCATION,true);
}
}
+
/**
* Adds Drools Runtime
* @param runtimeName
* @param runtimeLocation
* @param setAsDefault
*/
- private void addDroolsRuntime(String runtimeName, String runtimeLocation, boolean
setAsDefault){
+ private void addDroolsRuntime(String runtimeName, String runtimeLocation, boolean
setAsDefault) {
selectDroolsPreferences();
bot.button(IDELabel.Button.ADD).click();
bot.shell(IDELabel.Shell.DROOLS_RUNTIME).activate();
@@ -66,7 +69,7 @@
SWTEclipseExt.isItemInTableColumn(table,runtimeName,IDELabel.DroolsRuntimeDialog.COLUMN_NAME_INDEX)
&&
SWTEclipseExt.isItemInTableColumn(table,runtimeLocation,IDELabel.DroolsRuntimeDialog.COLUMN_LOCATION_INDEX);
// Set new runtime as default
- if (setAsDefault){
+ if (setAsDefault) {
table.getTableItem(0).check();
}
bot.button(IDELabel.Button.OK).click();
@@ -77,13 +80,15 @@
DroolsAllBotTests.setTestDroolsRuntimeLocation(runtimeLocation);
SWTEclipseExt.hideWarningIfDisplayed(bot);
}
+
/**
* Selects Drools Preferences within Preferences Dialog
*/
- private void selectDroolsPreferences(){
+ private void selectDroolsPreferences() {
jbt.delay();
new SWTOpenExt(new
SWTBotExt()).preferenceOpen(ActionItem.Preference.DroolsInstalledDroolsRuntimes.LABEL);
}
+
/**
* Edits Drools Runtime
* @param runtimeName
@@ -91,7 +96,7 @@
* @param nameSuffix
* @param locationSuffix
*/
- private void editDroolsRuntime(String runtimeName, String runtimeLocation, String
nameSuffix, String locationSuffix){
+ private void editDroolsRuntime(String runtimeName, String runtimeLocation, String
nameSuffix, String locationSuffix) {
selectDroolsPreferences();
SWTBotTable table = bot.table();
table.getTableItem(runtimeName).select();
@@ -123,7 +128,7 @@
* @param runtimeName
* @param runtimeLocation
*/
- private void removeDroolsRuntime(String runtimeName){
+ private void removeDroolsRuntime(String runtimeName) {
selectDroolsPreferences();
SWTBotTable table = bot.table();
table.getTableItem(runtimeName).select();
@@ -134,9 +139,9 @@
assertTrue("Drools Runtime with name [" + runtimeName +
"] was not removed properly.",droolsRuntimeRemoved);
// Remove temporary directory created within editDroolsRuntime() method
- if
(!DroolsAllBotTests.getTestDroolsRuntimeName().equals(DroolsAllBotTests.DROOLS_RUNTIME_NAME)){
+ if
(!DroolsAllBotTests.getTestDroolsRuntimeName().equals(DroolsAllBotTests.DROOLS_RUNTIME_NAME))
{
File tempDir = new File (DroolsAllBotTests.getTestDroolsRuntimeLocation());
- if (tempDir.isDirectory()){
+ if (tempDir.isDirectory()) {
tempDir.delete();
}
}
@@ -144,12 +149,13 @@
DroolsAllBotTests.setTestDroolsRuntimeLocation(null);
SWTEclipseExt.hideWarningIfDisplayed(bot);
}
+
/**
* Creates Drools Runtime
* @param runtimeName
* @param runtimeLocation
*/
- private void createDroolsRuntime(String runtimeName, String runtimeLocation){
+ private void createDroolsRuntime(String runtimeName, String runtimeLocation) {
DroolsRuntimeManager.createDefaultRuntime(runtimeLocation);
DroolsRuntime droolsRuntime = new DroolsRuntime();
droolsRuntime.setName(runtimeName);
@@ -172,7 +178,5 @@
DroolsAllBotTests.setTestDroolsRuntimeName(runtimeName);
DroolsAllBotTests.setTestDroolsRuntimeLocation(runtimeLocation);
- }
-
+ }
}
-
Modified:
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/RuleFlowTest.java
===================================================================
---
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/RuleFlowTest.java 2012-10-16
09:40:45 UTC (rev 44520)
+++
trunk/build/aggregate/soatests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/RuleFlowTest.java 2012-10-16
09:47:12 UTC (rev 44521)
@@ -41,6 +41,7 @@
import org.jboss.tools.ui.bot.ext.SWTUtilExt;
import org.jboss.tools.ui.bot.ext.Timing;
import org.jboss.tools.ui.bot.ext.gen.ActionItem;
+import org.jboss.tools.ui.bot.ext.helper.ContextMenuHelper;
import org.jboss.tools.ui.bot.ext.types.IDELabel;
import org.jboss.tools.ui.bot.ext.types.ViewType;
import org.junit.Test;
@@ -75,11 +76,22 @@
*/
@Test
public void testRuleFlow() {
+ configureJbpmProject();
runRuleFlowCheck(DroolsAllBotTests.RULE_FLOW_JAVA_TEST_FILE_NAME);
ruleFlowEditorCheck(DroolsAllBotTests.RULE_FLOW_FILE_NAME);
}
/**
+ * Sets jBPM library
+ */
+ private void configureJbpmProject() {
+ SWTBotTree tree = eclipse.showView(ViewType.PACKAGE_EXPLORER).tree();
+ tree.getTreeItem(DroolsAllBotTests.DROOLS_PROJECT_NAME).select();
+ ContextMenuHelper.clickContextMenu(tree,
IDELabel.Menu.PACKAGE_EXPLORER_CONFIGURE,
+ IDELabel.Menu.CONVERT_TO_JBPM_PROJECT);
+ }
+
+ /**
* Sets all drools flow nodes.
*/
@SuppressWarnings("unused")