Author: psrna
Date: 2011-09-30 09:00:47 -0400 (Fri, 30 Sep 2011)
New Revision: 35216
Added:
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/.project
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/.settings/
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/.settings/org.eclipse.wst.common.component
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/.settings/org.eclipse.wst.common.project.facet.core.xml
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/HelloWorld.bpel
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/HelloWorld.bpelex
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/HelloWorldArtifacts.wsdl
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/deploy.xml
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/src/org/jboss/tools/bpel/ui/bot/test/ToolingCompatibilityTest.java
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/src/org/jboss/tools/bpel/ui/bot/test/util/CompositeControl.java
Modified:
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/META-INF/MANIFEST.MF
Log:
https://issues.jboss.org/browse/JBQA-5310
Modified: trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/META-INF/MANIFEST.MF 2011-09-30
12:14:58 UTC (rev 35215)
+++ trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/META-INF/MANIFEST.MF 2011-09-30
13:00:47 UTC (rev 35216)
@@ -21,3 +21,4 @@
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: JBoss by Red Hat
+Import-Package: org.eclipse.ui.internal.views.properties.tabbed.view
Added:
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/.project
===================================================================
---
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/.project
(rev 0)
+++
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/.project 2011-09-30
13:00:47 UTC (rev 35216)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>eclipse_tooling_proj</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.bpel.validator.builder</name>
+ <arguments>
+ <dictionary>
+ <key>debug</key>
+ <value>false</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ </natures>
+</projectDescription>
Added:
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/.settings/org.eclipse.wst.common.component
===================================================================
---
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/.settings/org.eclipse.wst.common.component
(rev 0)
+++
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/.settings/org.eclipse.wst.common.component 2011-09-30
13:00:47 UTC (rev 35216)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+ <wb-module deploy-name="eclipse_tooling_proj">
+ <wb-resource deploy-path="/"
source-path="/bpelContent"/>
+ </wb-module>
+</project-modules>
Added:
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/.settings/org.eclipse.wst.common.project.facet.core.xml
===================================================================
---
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/.settings/org.eclipse.wst.common.project.facet.core.xml
(rev 0)
+++
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/.settings/org.eclipse.wst.common.project.facet.core.xml 2011-09-30
13:00:47 UTC (rev 35216)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <runtime name="Apache Ode 1.x Runtime"/>
+ <fixed facet="bpel.facet.core"/>
+ <installed facet="bpel.facet.core" version="2.0"/>
+</faceted-project>
Added:
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/HelloWorld.bpel
===================================================================
---
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/HelloWorld.bpel
(rev 0)
+++
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/HelloWorld.bpel 2011-09-30
13:00:47 UTC (rev 35216)
@@ -0,0 +1,88 @@
+<!-- HelloWorld BPEL Process [Generated by the Eclipse BPEL Designer] -->
+<!-- Date: Fri Aug 26 13:41:11 CEST 2011 -->
+<bpel:process name="HelloWorld"
+ targetNamespace="http://helloWorld"
+ suppressJoinFailure="yes"
+ xmlns:tns="http://helloWorld"
+
xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable...
+ >
+
+ <!-- Import the client WSDL -->
+ <bpel:import location="HelloWorldArtifacts.wsdl"
namespace="http://helloWorld"
+
importType="http://schemas.xmlsoap.org/wsdl/" />
+
+ <!-- ================================================================= -->
+ <!-- PARTNERLINKS -->
+ <!-- List of services participating in this BPEL process -->
+ <!-- ================================================================= -->
+ <bpel:partnerLinks>
+ <!-- The 'client' role represents the requester of this service.
-->
+ <bpel:partnerLink name="client"
+ partnerLinkType="tns:HelloWorld"
+ myRole="HelloWorldProvider"
+ />
+ </bpel:partnerLinks>
+
+ <!-- ================================================================= -->
+ <!-- VARIABLES -->
+ <!-- List of messages and XML documents used within this BPEL process -->
+ <!-- ================================================================= -->
+ <bpel:variables>
+ <!-- Reference to the message passed as input during initiation -->
+ <bpel:variable name="input"
+ messageType="tns:HelloWorldRequestMessage"/>
+
+ <!--
+ Reference to the message that will be returned to the requester
+ -->
+ <bpel:variable name="output"
+ messageType="tns:HelloWorldResponseMessage"/>
+ </bpel:variables>
+
+ <!-- ================================================================= -->
+ <!-- ORCHESTRATION LOGIC -->
+ <!-- Set of activities coordinating the flow of messages across the -->
+ <!-- services integrated within this business process -->
+ <!-- ================================================================= -->
+ <bpel:sequence name="main">
+
+ <!-- Receive input from requester.
+ Note: This maps to operation defined in HelloWorld.wsdl
+ -->
+ <bpel:receive name="receiveInput" partnerLink="client"
+ portType="tns:HelloWorld"
+ operation="process" variable="input"
+ createInstance="yes"/>
+
+ <!-- Generate reply to synchronous request -->
+ <bpel:assign validate="no" name="Assign">
+ <bpel:copy>
+ <bpel:from>
+ <bpel:literal>
+ <tns:HelloWorldResponse
xmlns:tns="http://helloWorld"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><tn...
+
+ </tns:HelloWorldResponse>
+ </bpel:literal>
+ </bpel:from>
+ <bpel:to variable="output"
part="payload"></bpel:to>
+ </bpel:copy>
+ <bpel:copy>
+ <bpel:from part="payload" variable="input">
+ <bpel:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
+ <![CDATA[tns:input]]>
+ </bpel:query>
+ </bpel:from>
+ <bpel:to part="payload" variable="output">
+ <bpel:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:result]]></bpel:query>
+ </bpel:to>
+ </bpel:copy>
+ </bpel:assign>
+ <bpel:reply name="replyOutput"
+ partnerLink="client"
+ portType="tns:HelloWorld"
+ operation="process"
+ variable="output"
+ />
+ </bpel:sequence>
+</bpel:process>
+
Added:
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/HelloWorld.bpelex
===================================================================
---
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/HelloWorld.bpelex
(rev 0)
+++
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/HelloWorld.bpelex 2011-09-30
13:00:47 UTC (rev 35216)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ASCII"?>
+<extensionmodel:ExtensionMap xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:extensionmodel="http:///extensionmodel.ecore"
xmlns:org.eclipse.bpel.ui.uiextensionmodel="http:///org/eclipse/bpel/ui/uiextensionmodel.ecore"
namespace="http://org.eclipse.bpel.ui/">
+ <extensions>
+ <extendedObject href="HelloWorld.bpel#//@variables/(a)children.0"/>
+ <extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
+ </extensions>
+ <extensions>
+ <extendedObject href="HelloWorld.bpel#//@variables/(a)children.1"/>
+ <extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
+ </extensions>
+ <extensions>
+ <extendedObject href="HelloWorld.bpel#//@activity"/>
+ <extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
+ </extensions>
+ <extensions>
+ <extendedObject href="HelloWorld.bpel#//@activity/(a)activities.0"/>
+ <extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
+ </extensions>
+ <extensions>
+ <extendedObject href="HelloWorld.bpel#//@activity/(a)activities.2"/>
+ <extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
+ </extensions>
+ <extensions>
+ <extendedObject href="HelloWorld.bpel#/"/>
+ <extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ProcessExtension"
modificationStamp="1314359046000"/>
+ </extensions>
+ <extensions>
+ <extendedObject href="HelloWorld.bpel#//@activity/(a)activities.1"/>
+ <extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
+ </extensions>
+ <extensions>
+ <extendedObject
href="HelloWorld.bpel#//@activity/@activities.1/(a)copy.1"/>
+ <extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
+ </extensions>
+ <extensions>
+ <extendedObject
href="HelloWorld.bpel#//@activity/@activities.1/(a)copy.0"/>
+ <extensionObject
xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
+ </extensions>
+</extensionmodel:ExtensionMap>
Added:
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/HelloWorldArtifacts.wsdl
===================================================================
---
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/HelloWorldArtifacts.wsdl
(rev 0)
+++
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/HelloWorldArtifacts.wsdl 2011-09-30
13:00:47 UTC (rev 35216)
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<definitions name="HelloWorld"
+ targetNamespace="http://helloWorld"
xmlns:tns="http://helloWorld"
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ TYPE DEFINITION - List of types participating in this BPEL process
+ The BPEL Designer will generate default request and response types
+ but you can define or import any XML Schema type and use them as part
+ of the message types.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <types>
+ <schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
+ targetNamespace="http://helloWorld"
+
xmlns="http://www.w3.org/2001/XMLSchema">
+
+ <element name="HelloWorldRequest">
+ <complexType>
+ <sequence>
+ <element name="input" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="HelloWorldResponse">
+ <complexType>
+ <sequence>
+ <element name="result" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </types>
+
+
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ MESSAGE TYPE DEFINITION - Definition of the message types used as
+ part of the port type defintions
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <message name="HelloWorldRequestMessage">
+ <part name="payload" element="tns:HelloWorldRequest"/>
+ </message>
+ <message name="HelloWorldResponseMessage">
+ <part name="payload"
element="tns:HelloWorldResponse"/>
+ </message>
+
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ PORT TYPE DEFINITION - A port type groups a set of operations into
+ a logical service unit.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+
+ <!-- portType implemented by the HelloWorld BPEL process -->
+ <portType name="HelloWorld">
+ <operation name="process">
+ <input message="tns:HelloWorldRequestMessage" />
+ <output message="tns:HelloWorldResponseMessage"/>
+ </operation>
+ </portType>
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ PARTNER LINK TYPE DEFINITION
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <plnk:partnerLinkType name="HelloWorld">
+ <plnk:role name="HelloWorldProvider"
portType="tns:HelloWorld"/>
+ </plnk:partnerLinkType>
+
+
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ BINDING DEFINITION - Defines the message format and protocol details
+ for a web service.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ SERVICE DEFINITION - A service groups a set of ports into
+ a service unit.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <binding name="HelloWorldSOAPBinding"
type="tns:HelloWorld">
+ <soap:binding style="document"
+
transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="process">
+ <soap:operation soapAction="http://helloWorld/process" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+ </binding>
+ <service name="HelloWorldProcessService">
+ <port name="HelloWorldProcessPort"
binding="tns:HelloWorldSOAPBinding">
+ <soap:address
location="http://localhost:8080/ode/processes/HelloWorld" />
+ </port>
+ </service>
+</definitions>
\ No newline at end of file
Added:
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/deploy.xml
===================================================================
---
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/deploy.xml
(rev 0)
+++
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/projects/eclipse_tooling_proj/bpelContent/deploy.xml 2011-09-30
13:00:47 UTC (rev 35216)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deploy
xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
xmlns:helloWorld="http://helloWorld">
+ <process name="helloWorld:HelloWorld">
+ <active>true</active>
+ <retired>false</retired>
+ <process-events generate="all"/>
+ <provide partnerLink="client">
+ <service name="helloWorld:HelloWorldProcessService"
port="HelloWorldProcessPort"/>
+ </provide>
+ </process>
+</deploy>
\ No newline at end of file
Added:
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/src/org/jboss/tools/bpel/ui/bot/test/ToolingCompatibilityTest.java
===================================================================
---
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/src/org/jboss/tools/bpel/ui/bot/test/ToolingCompatibilityTest.java
(rev 0)
+++
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/src/org/jboss/tools/bpel/ui/bot/test/ToolingCompatibilityTest.java 2011-09-30
13:00:47 UTC (rev 35216)
@@ -0,0 +1,212 @@
+package org.jboss.tools.bpel.ui.bot.test;
+
+import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.widgetOfType;
+import static org.eclipse.swtbot.swt.finder.waits.Conditions.waitForWidget;
+
+import java.awt.event.ComponentEvent;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swtbot.eclipse.gef.finder.SWTGefBot;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.SWTBot;
+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.utils.MessageFormat;
+import org.eclipse.swtbot.swt.finder.utils.SWTUtils;
+import org.eclipse.swtbot.swt.finder.widgets.AbstractSWTBotControl;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import
org.eclipse.ui.internal.views.properties.tabbed.view.TabbedPropertyList.ListElement;
+import org.hamcrest.Matcher;
+import org.hamcrest.SelfDescribing;
+import org.jboss.tools.bpel.ui.bot.ext.widgets.BotBpelEditor;
+import org.jboss.tools.bpel.ui.bot.test.suite.BPELTest;
+import org.jboss.tools.bpel.ui.bot.test.util.CompositeControl;
+import org.jboss.tools.bpel.ui.bot.test.util.ResourceHelper;
+import org.jboss.tools.bpel.util.SendSoapMessage;
+import org.jboss.tools.ui.bot.ext.config.Annotations.Require;
+import org.jboss.tools.ui.bot.ext.config.Annotations.Server;
+import org.jboss.tools.ui.bot.ext.config.Annotations.ServerState;
+import org.jboss.tools.ui.bot.ext.config.Annotations.ServerType;
+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.view.PropertiesView;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+
+@Require(server = @Server(type = ServerType.SOA, state = ServerState.Running),
perspective="BPEL")
+public class ToolingCompatibilityTest extends BPELTest{
+
+ final static String BUNDLE = "org.jboss.tools.bpel.ui.bot.test";
+ final static String ENDPOINT =
"http://localhost:8080/ode/processes/HelloWorld";
+ final static String MESSAGE =
+ "<soapenv:Envelope
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" " +
+ "xmlns:q0=\"http://helloWorld\" " +
+ "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
+ "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" +
+ " <soapenv:Header/>" +
+ " <soapenv:Body>" +
+ " <q0:HelloWorldRequest>" +
+ " <q0:input>Kitty</q0:input>" +
+ " </q0:HelloWorldRequest>" +
+ " </soapenv:Body>" +
+ "</soapenv:Envelope>";
+
+
+ @BeforeClass
+ public static void setupWorkspace() throws Exception {
+ ResourceHelper.importProject(BUNDLE, "/projects/eclipse_tooling_proj",
"eclipse_tooling_proj");
+ bot.viewByTitle("Project Explorer").setFocus();
+ }
+
+
+ @Test
+ public void deployEclipseProjectTest(){
+
+ String serverName = ToolingCompatibilityTest.configuredState.getServer().name;
+ // Publish the process
+ projExplorer.runOnServer("eclipse_tooling_proj");
+
+ Assert.assertFalse(console.getConsoleText().contains("DEPLOYMENTS IN
ERROR:"));
+ Assert.assertFalse(console.getConsoleText().contains("deploy failed"));
+
+ bot.viewByTitle("Servers").show();
+ bot.viewByTitle("Servers").setFocus();
+
+ SWTBotTree tree = bot.viewByTitle("Servers").bot().tree();
+ SWTBotTreeItem server = tree.getTreeItem(serverName + " [Started,
Synchronized]").select();
+ server.expand();
+ bot.sleep(TIME_5S);
+ assertTrue(server.getNode("eclipse_tooling_proj [Started,
Synchronized]").isVisible());
+ }
+
+ @Test
+ public void requestResponseTest() throws Exception {
+
+ // Test the process
+ String response = SendSoapMessage.sendMessage(ENDPOINT, MESSAGE, "simple");
+
+ Assert.assertTrue(response != null);
+ Assert.assertTrue(response.contains("<SOAP-ENV:Envelope
xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">...;
+ Assert.assertTrue(response.contains("<SOAP-ENV:Header />"));
+ Assert.assertTrue(response.contains("<SOAP-ENV:Body>"));
+ Assert.assertTrue(response.contains("<HelloWorldResponse
xmlns=\"http://helloWorld\">"));
+ Assert.assertTrue(response.contains("<tns:result
xmlns:tns=\"http://helloWorld\">Kitty</tns:result>"));
+ Assert.assertTrue(response.contains("</HelloWorldResponse>"));
+ Assert.assertTrue(response.contains("</SOAP-ENV:Body>"));
+ Assert.assertTrue(response.contains("</SOAP-ENV:Envelope>"));
+
+ }
+
+
+ @SuppressWarnings({ "static-access", "restriction" })
+ @Test
+ public void simpleEditingTest() throws Exception {
+
+ openFile("eclipse_tooling_proj", "bpelContent",
"HelloWorld.bpel");
+
+ SWTGefBot gefBot = new SWTGefBot();
+ final SWTBotGefEditor editor = gefBot.gefEditor("HelloWorld.bpel");
+ final BotBpelEditor bpel = new BotBpelEditor(editor, gefBot);
+ bpel.activatePage("Design");
+
+ log.info("Opening Properties View");
+ PropertiesView pView = new PropertiesView();
+ pView.show();
+ pView.show().setFocus();
+ log.info("Properties View opened!");
+
+ log.info("Click on \"Assign\"");
+ bpel.getEditPart(bpel.getSelectedPart(), "Assign").click();
+
+ Matcher matcher = widgetOfType(ListElement.class);
+ List<ListElement> tabs = pView.bot().widgets(matcher);
+ Composite foundtab = tabs.get(1);
+ CompositeControl mw = new CompositeControl(foundtab, matcher);
+ mw.click();
+
+ log.info("Selecting Variable to Variable from the list");
+ pView.bot().list().select("Variable to Variable");
+ log.info("ComboBox: choose 'Expression'");
+ pView.bot().comboBoxWithLabel("From:").setSelection("Expression");
+ pView.bot().styledText().setText("concat('Hello ',
$input.payload/tns:input)");
+ log.info("Save");
+ bpel.save();
+ bot.sleep(TIME_5S);
+
+ log.info("Remove from server");
+ removeFromServer("eclipse_tooling_proj");
+ bot.sleep(TIME_5S);
+ log.info("Run on server");
+ projExplorer.runOnServer("eclipse_tooling_proj");
+
+ String serverName = OdeDeployTest.configuredState.getServer().name;
+
+ Assert.assertFalse(console.getConsoleText().contains("DEPLOYMENTS IN
ERROR:"));
+ Assert.assertFalse(console.getConsoleText().contains("deploy failed"));
+
+ bot.viewByTitle("Servers").show();
+ bot.viewByTitle("Servers").setFocus();
+
+ SWTBotTree tree = bot.viewByTitle("Servers").bot().tree();
+ SWTBotTreeItem server = tree.getTreeItem(serverName + " [Started,
Synchronized]").select();
+ server.expand();
+ bot.sleep(TIME_5S);
+ assertTrue(server.getNode("eclipse_tooling_proj [Started,
Synchronized]").isVisible());
+
+ }
+
+ @Test
+ public void requestResponseEditedTest() throws Exception {
+
+ // Test the process
+ String response = SendSoapMessage.sendMessage(ENDPOINT, MESSAGE, "simple");
+
+ Assert.assertTrue(response != null);
+ Assert.assertTrue(response.contains("<SOAP-ENV:Envelope
xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">...;
+ Assert.assertTrue(response.contains("<SOAP-ENV:Header />"));
+ Assert.assertTrue(response.contains("<SOAP-ENV:Body>"));
+ Assert.assertTrue(response.contains("<HelloWorldResponse
xmlns=\"http://helloWorld\">"));
+ Assert.assertTrue(response.contains("<tns:result
xmlns:tns=\"http://helloWorld\">Hello Kitty</tns:result>"));
+ Assert.assertTrue(response.contains("</HelloWorldResponse>"));
+ Assert.assertTrue(response.contains("</SOAP-ENV:Body>"));
+ Assert.assertTrue(response.contains("</SOAP-ENV:Envelope>"));
+
+ }
+
+
+ public void removeFromServer(String projectName){
+ String serverName = ToolingCompatibilityTest.configuredState.getServer().name;
+
+ bot.viewByTitle("Servers").show();
+ bot.viewByTitle("Servers").setFocus();
+
+ SWTBotTree tree = bot.viewByTitle("Servers").bot().tree();
+ bot.sleep(TIME_5S);
+ SWTBotTreeItem server = tree.getTreeItem(serverName + " [Started,
Synchronized]").select();
+
+ ContextMenuHelper.prepareTreeItemForContextMenu(tree, server);
+ new SWTBotMenu(ContextMenuHelper.getContextMenu(tree, IDELabel.Menu.ADD_AND_REMOVE,
false)).click();
+
+ SWTBotShell shell = OdeDeployTest.bot.shell("Add and Remove...");
+ shell.activate();
+
+
+ SWTBot viewBot = shell.bot();
+ viewBot.tree(1).setFocus();
+ viewBot.tree(1).select(projectName);
+ viewBot.button("< Remove").click();
+ viewBot.button("Finish").click();
+
+ }
+
+}
Added:
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/src/org/jboss/tools/bpel/ui/bot/test/util/CompositeControl.java
===================================================================
---
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/src/org/jboss/tools/bpel/ui/bot/test/util/CompositeControl.java
(rev 0)
+++
trunk/bpel/tests/org.jboss.tools.bpel.ui.bot.test/src/org/jboss/tools/bpel/ui/bot/test/util/CompositeControl.java 2011-09-30
13:00:47 UTC (rev 35216)
@@ -0,0 +1,23 @@
+package org.jboss.tools.bpel.ui.bot.test.util;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
+import org.eclipse.swtbot.swt.finder.utils.MessageFormat;
+import org.eclipse.swtbot.swt.finder.utils.SWTUtils;
+import org.eclipse.swtbot.swt.finder.widgets.AbstractSWTBotControl;
+import org.hamcrest.SelfDescribing;
+
+public class CompositeControl extends AbstractSWTBotControl<Composite> {
+
+ public CompositeControl(Composite w, SelfDescribing description) throws
WidgetNotFoundException {
+ super(w);
+ }
+
+ public CompositeControl click() {
+ waitForEnabled();
+ notify(SWT.MouseDown);
+ notify(SWT.MouseUp);
+ return this;
+ }
+}