Author: dennyxu
Date: 2008-06-18 04:03:53 -0400 (Wed, 18 Jun 2008)
New Revision: 8821
Added:
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.classpath
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.project
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.jdt.core.prefs
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.jst.common.project.facet.core.prefs
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.wst.common.component
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.wst.common.project.facet.core.xml
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/HelloWorld.wsdl
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/WebContent/
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/WebContent/META-INF/
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/WebContent/META-INF/MANIFEST.MF
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/WebContent/WEB-INF/
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/WebContent/WEB-INF/lib/
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/WebContent/WEB-INF/web.xml
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/build/
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/build/classes/
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/src/
trunk/ws/tests/org.jboss.tools.ws.core.test/src/org/jboss/tools/ws/core/test/command/
trunk/ws/tests/org.jboss.tools.ws.core.test/src/org/jboss/tools/ws/core/test/command/AbstractJBossWSCommandTest.java
Modified:
trunk/ws/tests/org.jboss.tools.ws.core.test/META-INF/MANIFEST.MF
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-17 23:23:07
UTC (rev 8820)
+++ trunk/ws/tests/org.jboss.tools.ws.core.test/META-INF/MANIFEST.MF 2008-06-18 08:03:53
UTC (rev 8821)
@@ -8,5 +8,11 @@
org.eclipse.core.runtime,
org.junit,
org.jboss.tools.tests,
- org.jboss.tools.ws.core
+ org.jboss.tools.ws.core,
+ org.eclipse.core.resources,
+ org.eclipse.wst.common.project.facet.core,
+ org.eclipse.wst.common.frameworks,
+ org.eclipse.ui.ide,
+ org.jboss.tools.common.test,
+ org.jboss.tools.ws.creation.core
Eclipse-LazyStart: true
Added: trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.classpath
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.classpath
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.classpath 2008-06-18
08:03:53 UTC (rev 8821)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.5.0_15"/>
+ <classpathentry kind="con"
path="org.eclipse.jst.j2ee.internal.web.container"/>
+ <classpathentry kind="con"
path="org.eclipse.jst.j2ee.internal.module.container"/>
+ <classpathentry kind="output" path="build/classes"/>
+</classpath>
Added: trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.project
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.project
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.project 2008-06-18
08:03:53 UTC (rev 8821)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>JBossWSTestProject</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <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>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ </natures>
+</projectDescription>
Added:
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.jdt.core.prefs
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.jdt.core.prefs 2008-06-18
08:03:53 UTC (rev 8821)
@@ -0,0 +1,7 @@
+#Wed Jun 18 13:25:53 CST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
Added:
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.jst.common.project.facet.core.prefs
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.jst.common.project.facet.core.prefs
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.jst.common.project.facet.core.prefs 2008-06-18
08:03:53 UTC (rev 8821)
@@ -0,0 +1,3 @@
+#Wed Jun 18 13:25:53 CST 2008
+classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:jdk1.5.0_15/owners=jst.java\:5.0
+eclipse.preferences.version=1
Added:
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.wst.common.component
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.wst.common.component
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.wst.common.component 2008-06-18
08:03:53 UTC (rev 8821)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+<wb-module deploy-name="JBossWSTestProject">
+<wb-resource deploy-path="/" source-path="/WebContent"/>
+<wb-resource deploy-path="/WEB-INF/classes"
source-path="/src"/>
+<property name="context-root" value="JBossWSTestProject"/>
+<property name="java-output-path" value="build/classes"/>
+</wb-module>
+</project-modules>
Added:
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.wst.common.project.facet.core.xml
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.wst.common.project.facet.core.xml
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/.settings/org.eclipse.wst.common.project.facet.core.xml 2008-06-18
08:03:53 UTC (rev 8821)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <fixed facet="jst.web"/>
+ <fixed facet="jst.java"/>
+ <installed facet="jst.java" version="5.0"/>
+ <installed facet="jst.web" version="2.4"/>
+</faceted-project>
Added:
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
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/HelloWorld.wsdl 2008-06-18
08:03:53 UTC (rev 8821)
@@ -0,0 +1,42 @@
+<?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/WebContent/META-INF/MANIFEST.MF
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/WebContent/META-INF/MANIFEST.MF
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/WebContent/META-INF/MANIFEST.MF 2008-06-18
08:03:53 UTC (rev 8821)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Added:
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/WebContent/WEB-INF/web.xml
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/WebContent/WEB-INF/web.xml
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.core.test/projects/JBossWSTestProject/WebContent/WEB-INF/web.xml 2008-06-18
08:03:53 UTC (rev 8821)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+ <display-name>
+ JBossWSTestProject</display-name>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
+ <welcome-file>default.html</welcome-file>
+ <welcome-file>default.htm</welcome-file>
+ <welcome-file>default.jsp</welcome-file>
+ </welcome-file-list>
+</web-app>
Added:
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
(rev 0)
+++
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)
@@ -0,0 +1,200 @@
+/*******************************************************************************
+ * Copyright (c) 2008 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.ws.core.test.command;
+
+import java.io.File;
+import java.util.HashSet;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.PlatformUI;
+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.jboss.tools.common.test.util.TestProjectProvider;
+import org.jboss.tools.test.util.JUnitUtils;
+import org.jboss.tools.test.util.xpl.EditorTestHelper;
+import org.jboss.tools.ws.core.classpath.JbossWSRuntime;
+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.data.ServiceModel;
+
+abstract 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 final Set<IResource> resourcesToCleanup = new
HashSet<IResource>();
+
+ protected static final IProjectFacetVersion dynamicWebVersion;
+ protected static final IProjectFacetVersion javaVersion;
+ 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 BUNDLE = "org.jboss.tools.ws.core.test";
+
+ IProject project;
+ TestProjectProvider provider;
+
+ static {
+ javaVersion =
ProjectFacetsManager.getProjectFacet("jst.java").getVersion("5.0");
+ dynamicWebVersion =
ProjectFacetsManager.getProjectFacet("jst.web").getVersion("2.5");
+ jbosswsFacet = ProjectFacetsManager.getProjectFacet("jbossws.core");
+ jbosswsFacetVersion = jbosswsFacet.getVersion("1.0");
+ RuntimeName = "testjbosswsruntime";
+ RuntimeLocation = "";
+ isDeployed = false;
+
+
+ }
+
+ public AbstractJBossWSCommandTest() {
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ JbossWSRuntimeManager.getInstance().addRuntime(RuntimeName,
getJBossWSHomeFolder().toString(), "", true);
+ try { EditorTestHelper.joinBackgroundActivities(); }
+ catch (Exception e) { JUnitUtils.fail(e.getMessage(), e); }
+ EditorTestHelper.runEventQueue(3000);
+ }
+
+ private IProject createProject(String prjName) throws CoreException {
+ provider = new TestProjectProvider(BUNDLE,"/projects/"+prjName , prjName,
true);
+ IProject prj = provider.getProject();
+ EditorTestHelper.joinBackgroundActivities();
+ return prj;
+ }
+
+
+
+ protected void tearDown() throws Exception {
+ // Wait until all jobs is finished to avoid delete project problems
+ EditorTestHelper.joinBackgroundActivities();
+ EditorTestHelper.runEventQueue(3000);
+ Exception last = null;
+ for (IResource r : this.resourcesToCleanup) {
+ try {
+ System.out.println("Deleting " + r);
+ r.delete(true, null);
+ } catch(Exception e) {
+ System.out.println("Error deleting " + r);
+ e.printStackTrace();
+ last = e;
+ }
+ }
+
+ if(last!=null) throw last;
+
+ resourcesToCleanup.clear();
+ JbossWSRuntime runtime =
JbossWSRuntimeManager.getInstance().findRuntimeByName(RuntimeName);
+ JbossWSRuntimeManager.getInstance().removeRuntime(runtime);
+ super.tearDown();
+ }
+
+ public void testInitialCommand() throws CoreException{
+ IFacetedProject fproject = createJBossWSProject("JBossWSTestProject",
false);
+ IFile wsdlFile = fproject.getProject().getFile(wsdlFileName);
+ ServiceModel model = new ServiceModel();
+ model.setWsdlURI(wsdlFile.getFullPath().toOSString());
+
+
+ }
+
+ protected IFacetedProject createJBossWSProject(String baseProjectName, boolean
isServerSupplied) throws CoreException {
+ IProject project = createProject("JBossWSTestProject");
+ final IFacetedProject fproj = ProjectFacetsManager.create(project);
+
+ installDependentFacets(fproj);
+ fproj.installProjectFacet(jbosswsFacetVersion,
createJBossWSDataModel(isServerSupplied), null);
+
+ assertNotNull(project);
+ assertTrue(project.exists());
+ this.addResourceToCleanup(project);
+
+
+ return fproj;
+ }
+
+ protected void installDependentFacets(final IFacetedProject fproj) throws CoreException
{
+ fproj.installProjectFacet(javaVersion, null, null);
+ fproj.installProjectFacet(dynamicWebVersion, null, null);
+ fproj.installProjectFacet(jbosswsFacetVersion, null, null);
+ }
+
+
+
+
+
+
+ abstract protected IProject getProject();
+
+ abstract void setUpSeamProjects();
+
+ abstract void assertProjectsAreCreated();
+
+
+
+ protected IDataModel createJBossWSDataModel( boolean isServerSupplied) {
+ IDataModel config = (IDataModel) new JBossWSFacetInstallDataModelProvider().create();
+ if(isServerSupplied){
+ config.setBooleanProperty(IJBossWSFacetDataModelProperties.JBOSS_WS_RUNTIME_IS_SERVER_SUPPLIED,
true);
+ }else{
+ config.setBooleanProperty(IJBossWSFacetDataModelProperties.JBOSS_WS_DEPLOY,
isDeployed);
+ config.setStringProperty(IJBossWSFacetDataModelProperties.JBOSS_WS_RUNTIME_ID,
RuntimeName);
+ config.setStringProperty(IJBossWSFacetDataModelProperties.JBOSS_WS_RUNTIME_HOME,
RuntimeLocation);
+ }
+ return config;
+ }
+
+
+
+ protected final void addResourceToCleanup(final IResource resource) {
+ this.resourcesToCleanup.add(resource);
+ }
+
+
+
+
+ protected File getJBossWSHomeFolder() {
+ return new File(System.getProperty(JBOSSWS_HOME, JBOSSWS_HOME_DEFAULT));
+ }
+
+
+
+ protected String getPackagePath(String packageName) {
+ return (packageName == null ? "" : packageName.replace('.',
'/'));
+ }
+
+
+
+}
Property changes on:
trunk/ws/tests/org.jboss.tools.ws.core.test/src/org/jboss/tools/ws/core/test/command/AbstractJBossWSCommandTest.java
___________________________________________________________________
Name: svn:executable
+ *