Author: dennyxu
Date: 2008-06-18 07:01:20 -0400 (Wed, 18 Jun 2008)
New Revision: 8822
Added:
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/hello_world.wsdl
Removed:
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/HelloWorld.wsdl
Modified:
trunk/ws/tests/org.jboss.tools.ws.core.test/META-INF/MANIFEST.MF
trunk/ws/tests/org.jboss.tools.ws.core.test/src/org/jboss/tools/ws/core/test/command/AbstractJBossWSCommandTest.java
Log:
JBIDE-2323: add unit test for commands
Modified: trunk/ws/tests/org.jboss.tools.ws.core.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.core.test/META-INF/MANIFEST.MF 2008-06-18 08:03:53
UTC (rev 8821)
+++ trunk/ws/tests/org.jboss.tools.ws.core.test/META-INF/MANIFEST.MF 2008-06-18 11:01:20
UTC (rev 8822)
@@ -14,5 +14,8 @@
org.eclipse.wst.common.frameworks,
org.eclipse.ui.ide,
org.jboss.tools.common.test,
- org.jboss.tools.ws.creation.core
+ org.jboss.tools.ws.creation.core,
+ org.eclipse.wst.command.env.ui,
+ org.eclipse.wst.ws,
+ org.jboss.tools.ws.creation.ui
Eclipse-LazyStart: true
Deleted:
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/HelloWorld.wsdl
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/HelloWorld.wsdl 2008-06-18
08:03:53 UTC (rev 8821)
+++
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/HelloWorld.wsdl 2008-06-18
11:01:20 UTC (rev 8822)
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<wsdl:definitions name="HelloWorld"
-
targetNamespace="http://www.example.org/HelloWorld/"
-
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
-
xmlns:tns="http://www.example.org/HelloWorld/"
-
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
- <wsdl:types/>
- <wsdl:message name="sayHelloRequest">
- <wsdl:part name="sayHelloRequest"
type="xsd:string"></wsdl:part>
- </wsdl:message>
- <wsdl:message name="sayHelloResponse">
- <wsdl:part name="sayHelloResponse"
type="xsd:string"></wsdl:part>
- </wsdl:message>
- <wsdl:portType name="IHelloWorld">
- <wsdl:operation name="sayHello">
- <wsdl:input message="tns:sayHelloRequest"></wsdl:input>
- <wsdl:output message="tns:sayHelloResponse"></wsdl:output>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="HelloWorld" type="tns:IHelloWorld">
- <soap:binding style="rpc"
-
transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="sayHello">
- <soap:operation
-
soapAction="http://www.example.org/HelloWorld/sayHello" />
- <wsdl:input>
- <soap:body use="literal"
-
namespace="http://www.example.org/HelloWorld/" />
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal"
-
namespace="http://www.example.org/HelloWorld/" />
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="HelloWorldService">
- <wsdl:port name="HelloWorldPort" binding="tns:HelloWorld">
- <soap:address location="http://localhost:8080/HelloWorld" />
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
Added:
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/hello_world.wsdl
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/hello_world.wsdl
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/hello_world.wsdl 2008-06-18
11:01:20 UTC (rev 8822)
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<wsdl:definitions name="HelloWorld"
targetNamespace="http://apache.org/hello_world_soap_http"
+
xmlns="http://schemas.xmlsoap.org/wsdl/"
+
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+
xmlns:tns="http://apache.org/hello_world_soap_http"
+
xmlns:x1="http://apache.org/hello_world_soap_http/types"
+
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+ <schema
targetNamespace="http://apache.org/hello_world_soap_http/types"
+
xmlns="http://www.w3.org/2001/XMLSchema"
+
xmlns:tns="http://apache.org/hello_world_soap_http/types"
+ elementFormDefault="qualified">
+ <simpleType name="MyStringType">
+ <restriction base="string">
+ <maxLength value="30" />
+ </restriction>
+ </simpleType>
+
+ <element name="sayHi">
+ <complexType/>
+ </element>
+ <element name="sayHiResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType"
type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMe">
+ <complexType>
+ <sequence>
+ <element name="requestType"
type="tns:MyStringType"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeResponse">
+ <complexType>
+ <sequence>
+ <element name="responseType"
type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="greetMeOneWay">
+ <complexType>
+ <sequence>
+ <element name="requestType"
type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="pingMe">
+ <complexType/>
+ </element>
+ <element name="pingMeResponse">
+ <complexType/>
+ </element>
+ <element name="faultDetail">
+ <complexType>
+ <sequence>
+ <element name="minor" type="short"/>
+ <element name="major" type="short"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+ <wsdl:message name="sayHiRequest">
+ <wsdl:part element="x1:sayHi" name="in"/>
+ </wsdl:message>
+ <wsdl:message name="sayHiResponse">
+ <wsdl:part element="x1:sayHiResponse" name="out"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeRequest">
+ <wsdl:part element="x1:greetMe" name="in"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeResponse">
+ <wsdl:part element="x1:greetMeResponse" name="out"/>
+ </wsdl:message>
+ <wsdl:message name="greetMeOneWayRequest">
+ <wsdl:part element="x1:greetMeOneWay" name="in"/>
+ </wsdl:message>
+ <wsdl:message name="pingMeRequest">
+ <wsdl:part name="in" element="x1:pingMe"/>
+ </wsdl:message>
+ <wsdl:message name="pingMeResponse">
+ <wsdl:part name="out" element="x1:pingMeResponse"/>
+ </wsdl:message>
+ <wsdl:message name="pingMeFault">
+ <wsdl:part name="faultDetail"
element="x1:faultDetail"/>
+ </wsdl:message>
+
+ <wsdl:portType name="Greeter">
+ <wsdl:operation name="sayHi">
+ <wsdl:input message="tns:sayHiRequest"
name="sayHiRequest"/>
+ <wsdl:output message="tns:sayHiResponse"
name="sayHiResponse"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMe">
+ <wsdl:input message="tns:greetMeRequest"
name="greetMeRequest"/>
+ <wsdl:output message="tns:greetMeResponse"
name="greetMeResponse"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMeOneWay">
+ <wsdl:input message="tns:greetMeOneWayRequest"
name="greetMeOneWayRequest"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="pingMe">
+ <wsdl:input name="pingMeRequest"
message="tns:pingMeRequest"/>
+ <wsdl:output name="pingMeResponse"
message="tns:pingMeResponse"/>
+ <wsdl:fault name="pingMeFault"
message="tns:pingMeFault"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="Greeter_SOAPBinding"
type="tns:Greeter">
+ <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="sayHi">
+ <soap:operation soapAction="" style="document"/>
+ <wsdl:input name="sayHiRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="sayHiResponse">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMe">
+ <soap:operation soapAction="" style="document"/>
+ <wsdl:input name="greetMeRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="greetMeResponse">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="greetMeOneWay">
+ <soap:operation soapAction="" style="document"/>
+ <wsdl:input name="greetMeOneWayRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ </wsdl:operation>
+
+ <wsdl:operation name="pingMe">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="pingMeFault">
+ <soap:fault name="pingMeFault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+
+ </wsdl:binding>
+ <wsdl:service name="SOAPService">
+ <wsdl:port binding="tns:Greeter_SOAPBinding"
name="SoapPort">
+ <soap:address
location="http://localhost:9000/SoapContext/SoapPort"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
+
Property changes on:
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/hello_world.wsdl
___________________________________________________________________
Name: svn:executable
+ *
Modified:
trunk/ws/tests/org.jboss.tools.ws.core.test/src/org/jboss/tools/ws/core/test/command/AbstractJBossWSCommandTest.java
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.core.test/src/org/jboss/tools/ws/core/test/command/AbstractJBossWSCommandTest.java 2008-06-18
08:03:53 UTC (rev 8821)
+++
trunk/ws/tests/org.jboss.tools.ws.core.test/src/org/jboss/tools/ws/core/test/command/AbstractJBossWSCommandTest.java 2008-06-18
11:01:20 UTC (rev 8822)
@@ -16,6 +16,7 @@
import junit.framework.TestCase;
+import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IProject;
@@ -23,13 +24,19 @@
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.command.internal.env.ui.widgets.DynamicWizard;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
import org.eclipse.wst.common.project.facet.core.IFacetedProject;
import org.eclipse.wst.common.project.facet.core.IProjectFacet;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.ws.internal.common.WSDLUtility;
+import org.eclipse.wst.ws.internal.wsrt.IWebService;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceInfo;
+import org.eclipse.wst.ws.internal.wsrt.WebServiceScenario;
import org.jboss.tools.common.test.util.TestProjectProvider;
import org.jboss.tools.test.util.JUnitUtils;
import org.jboss.tools.test.util.xpl.EditorTestHelper;
@@ -37,16 +44,19 @@
import org.jboss.tools.ws.core.classpath.JbossWSRuntimeManager;
import org.jboss.tools.ws.core.facet.delegate.IJBossWSFacetDataModelProperties;
import org.jboss.tools.ws.core.facet.delegate.JBossWSFacetInstallDataModelProvider;
+import org.jboss.tools.ws.creation.core.commands.InitialCommand;
+import org.jboss.tools.ws.creation.core.commands.WSDL2JavaCommand;
import org.jboss.tools.ws.creation.core.data.ServiceModel;
+import org.jboss.tools.ws.creation.ui.wsrt.JBossWebService;
-abstract public class AbstractJBossWSCommandTest extends TestCase {
+public class AbstractJBossWSCommandTest extends TestCase {
protected static final IWorkspace ws = ResourcesPlugin.getWorkspace();
protected static final IWorkbench wb = PlatformUI.getWorkbench();
protected static final String JBOSSWS_HOME =
"jbosstools.test.jbossws.eap.home";
- protected static final String JBOSSWS_HOME_DEFAULT =
"F:/jbdevstudio-ga/jboss-eap/seam";
+ protected static final String JBOSSWS_HOME_DEFAULT =
"/home/fugang/jboss-all/jboss-4.2.2.GA";
protected final Set<IResource> resourcesToCleanup = new
HashSet<IResource>();
@@ -56,10 +66,9 @@
protected static final IProjectFacetVersion jbosswsFacetVersion;
private static final IProjectFacet jbosswsFacet;
private static final String RuntimeName;
- private static final String RuntimeLocation;
private static final boolean isDeployed;
- static String wsdlFileName = "HelloWorld.wsdl";
+ static String wsdlFileName = "hello_world.wsdl";
static String BUNDLE = "org.jboss.tools.ws.core.test";
IProject project;
@@ -71,7 +80,6 @@
jbosswsFacet = ProjectFacetsManager.getProjectFacet("jbossws.core");
jbosswsFacetVersion = jbosswsFacet.getVersion("1.0");
RuntimeName = "testjbosswsruntime";
- RuntimeLocation = "";
isDeployed = false;
@@ -121,20 +129,47 @@
super.tearDown();
}
- public void testInitialCommand() throws CoreException{
+ public void testCommands() throws CoreException, ExecutionException{
IFacetedProject fproject = createJBossWSProject("JBossWSTestProject",
false);
IFile wsdlFile = fproject.getProject().getFile(wsdlFileName);
+
+ assertTrue(wsdlFile.exists());
+
ServiceModel model = new ServiceModel();
- model.setWsdlURI(wsdlFile.getFullPath().toOSString());
+ model.setWebProjectName(fproject.getProject().getName());
+ model.setWsdlURI(wsdlFile.getLocation().toOSString());
+
+ WebServiceInfo info = new WebServiceInfo();
+ info.setWsdlURL(wsdlFile.getFullPath().toOSString());
+ IWebService ws = new JBossWebService(info);
+ //test initial command
+ /*InitialCommand cmdInitial = new InitialCommand(model, ws,
WebServiceScenario.TOPDOWN);
+ IStatus status = cmdInitial.execute(null, null);
+ assertTrue(status.getMessage(), status.isOK());
+
+ assertTrue(model.getServiceNames().contains("SOAPService"));
+ assertEquals(wsdlFile.getFullPath().toOSString(), model.getWsdlURI());
+ assertTrue(model.getPortTypes().contains("Greeter"));
+ assertEquals("org.apache.hello_world_soap_http", model.getCustomPackage());
+
+ //test wsdl2Javacommand
+
+ WSDL2JavaCommand cmdW2j = new WSDL2JavaCommand(model);
+ status = cmdW2j.execute(null, null);
+ assertTrue("failed to execute WSDL2JavaCommand,namely failed to generate web
service code", status.isOK());*/
+
+
+
+
}
protected IFacetedProject createJBossWSProject(String baseProjectName, boolean
isServerSupplied) throws CoreException {
IProject project = createProject("JBossWSTestProject");
final IFacetedProject fproj = ProjectFacetsManager.create(project);
- installDependentFacets(fproj);
+ //installDependentFacets(fproj);
fproj.installProjectFacet(jbosswsFacetVersion,
createJBossWSDataModel(isServerSupplied), null);
assertNotNull(project);
@@ -148,20 +183,10 @@
protected void installDependentFacets(final IFacetedProject fproj) throws CoreException
{
fproj.installProjectFacet(javaVersion, null, null);
fproj.installProjectFacet(dynamicWebVersion, null, null);
- fproj.installProjectFacet(jbosswsFacetVersion, null, null);
+ //fproj.installProjectFacet(jbosswsFacetVersion, null, null);
}
-
-
-
-
-
- abstract protected IProject getProject();
- abstract void setUpSeamProjects();
-
- abstract void assertProjectsAreCreated();
-
protected IDataModel createJBossWSDataModel( boolean isServerSupplied) {
@@ -171,7 +196,7 @@
}else{
config.setBooleanProperty(IJBossWSFacetDataModelProperties.JBOSS_WS_DEPLOY,
isDeployed);
config.setStringProperty(IJBossWSFacetDataModelProperties.JBOSS_WS_RUNTIME_ID,
RuntimeName);
- config.setStringProperty(IJBossWSFacetDataModelProperties.JBOSS_WS_RUNTIME_HOME,
RuntimeLocation);
+ config.setStringProperty(IJBossWSFacetDataModelProperties.JBOSS_WS_RUNTIME_HOME,
getJBossWSHomeFolder().toString());
}
return config;
}