Author: jlukas(a)redhat.com
Date: 2011-07-15 15:26:20 -0400 (Fri, 15 Jul 2011)
New Revision: 32950
Added:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/EAPCompAllTests.launch
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/AreaService.wsdl
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/AreaWS.java.ws
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/Echo.java.ws
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/Person.java.ws
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/clientsample.java.ws
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/index.jsp.ws
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/EAPCompAllTests.java
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/EAPFromJavaTest.java
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/EAPFromWSDLTest.java
Modified:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/jbt/SampleWSTest.java
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/jbt/WsTesterTest.java
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/uiutils/wizards/WsWizardBase.java
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/widgets/WsTesterView.java
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/wtp/BottomUpWSTest.java
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/wtp/TopDownWSTest.java
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/wtp/WSTestBase.java
Log:
JBQA-4798: Prepare automated solution for EAP-JBDS compatibility testing
web services related parts
Added: trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/EAPCompAllTests.launch
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/EAPCompAllTests.launch
(rev 0)
+++ trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/EAPCompAllTests.launch 2011-07-15
19:26:20 UTC (rev 32950)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<launchConfiguration
type="org.eclipse.swtbot.eclipse.ui.launcher.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation"
value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location"
value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry
value="/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/EAPCompAllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<mapAttribute key="org.eclipse.debug.core.environmentVariables">
+<mapEntry key="DISPLAY" value=":1"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER"
value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR"
value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME"
value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND"
value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE"
value="org.jboss.tools.ws.ui.bot.test.eap.EAPCompAllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"
value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}
-consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR"
value="org.jboss.tools.ws.ui.bot.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"
value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS"
value="-Dosgi.requiredJavaVersion=1.5 -XX:MaxPermSize=256m -Xms256m -Xmx1024m
-Dswtbot.test.properties.file=${env_var:HOME}/swtbot.properties
-Dusage_reporting_enabled=false"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product"
value="com.jboss.jbds.product.product"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="templateConfig"
value="${target_home}/configuration/config.ini"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="true"/>
+</launchConfiguration>
Added: trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/AreaService.wsdl
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/AreaService.wsdl
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/AreaService.wsdl 2011-07-15
19:26:20 UTC (rev 32950)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://tempuri.org/AreaService/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="AreaService"
targetNamespace="http://tempuri.org/AreaService/">
+ <wsdl:types>
+ <xsd:schema
targetNamespace="http://tempuri.org/AreaService/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:element name="area" type="xsd:float"/>
+ <xsd:element name="parameters" type="tns:dimensions"/>
+ <xsd:complexType name="dimensions">
+ <xsd:sequence>
+ <xsd:element name="width"
type="xsd:float"></xsd:element>
+ <xsd:element name="height"
type="xsd:float"></xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="CalculateRectAreaResponse">
+ <wsdl:part element="tns:area" name="area"/>
+ </wsdl:message>
+ <wsdl:message name="CalculateRectAreaRequest">
+ <wsdl:part element="tns:parameters" name="parameters"/>
+ </wsdl:message>
+ <wsdl:portType name="AreaService">
+ <wsdl:operation name="CalculateRectArea">
+ <wsdl:input message="tns:CalculateRectAreaRequest"/>
+ <wsdl:output message="tns:CalculateRectAreaResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="AreaServiceSOAP" type="tns:AreaService">
+ <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="CalculateRectArea">
+ <soap:operation
soapAction="http://tempuri.org/AreaService/NewOperation"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="AreaService">
+ <wsdl:port binding="tns:AreaServiceSOAP"
name="AreaServiceSOAP">
+ <soap:address location="http://tempuri.org"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
Added: trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/AreaWS.java.ws
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/AreaWS.java.ws
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/AreaWS.java.ws 2011-07-15
19:26:20 UTC (rev 32950)
@@ -0,0 +1,11 @@
+package org.jboss.ws;
+
+import javax.jws.WebService;
+
+@WebService(serviceName = "AreaService",
+ endpointInterface = "org.jboss.ws.AreaService")
+public class AreaServiceImpl implements AreaService {
+ public float calculateRectArea(Dimensions parameters) {
+ return parameters.getHeight() * parameters.getWidth();
+ }
+}
Added: trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/Echo.java.ws
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/Echo.java.ws
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/Echo.java.ws 2011-07-15
19:26:20 UTC (rev 32950)
@@ -0,0 +1,16 @@
+package {0};
+
+import javax.jws.WebService;
+import test.Person;
+
+@WebService
+public class {1} '{'
+
+ public Person echo(Person p) '{'
+ return p;
+ '}'
+
+ public Person test() '{'
+ return new Person();
+ '}'
+'}'
Added: trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/Person.java.ws
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/Person.java.ws
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/Person.java.ws 2011-07-15
19:26:20 UTC (rev 32950)
@@ -0,0 +1,32 @@
+package test;
+
+public class Person {
+
+ private String login;
+ private int age;
+
+ public Person() {
+ this("BartSimpson", 12);
+ }
+
+ public Person(String login, int age) {
+ this.login = login;
+ this.age = age;
+ }
+
+ public String getLogin() {
+ return login;
+ }
+
+ public void setLogin(String login) {
+ this.login = login;
+ }
+
+ public int getAge() {
+ return age;
+ }
+
+ public void setAge(int age) {
+ this.age = age;
+ }
+}
Added:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/clientsample.java.ws
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/clientsample.java.ws
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/clientsample.java.ws 2011-07-15
19:26:20 UTC (rev 32950)
@@ -0,0 +1,31 @@
+package org.jboss.wsclient.clientsample;
+
+import org.jboss.wsclient.*;
+
+public class ClientSample {
+
+ public static void main(String[] args) {
+ System.out.println("***********************");
+ System.out.println("Create Web Service Client...");
+ AreaService_Service service1 = new AreaService_Service();
+ System.out.println("Create Web Service...");
+ AreaService port1 = service1.getAreaServiceImplPort();
+ Dimensions d1 = new Dimensions();
+ d1.setHeight(5);
+ d1.setWidth(7.5f);
+ System.out.println("Call Web Service Operation...");
+ System.out.println(
+ "Server said: " + port1.calculateRectArea(d1));
+
+ System.out.println("Create Web Service...");
+ AreaService port2 = service1.getAreaServiceImplPort();
+ Dimensions d2 = new Dimensions();
+ d2.setHeight(362.1f);
+ d2.setWidth(9.7f);
+ System.out.println("Call Web Service Operation...");
+ System.out.println(
+ "Server said: " + port2.calculateRectArea(d2));
+ System.out.println("***********************");
+ System.out.println("Call Over!");
+ }
+}
Added: trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/index.jsp.ws
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/index.jsp.ws
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/resources/jbossws/index.jsp.ws 2011-07-15
19:26:20 UTC (rev 32950)
@@ -0,0 +1,35 @@
+<%@page language="java" contentType="text/html; charset=UTF-8"
+ pageEncoding="UTF-8"%>
+<%@page import="test.ws.EchoService"%>
+<%@page import="test.ws.Echo"%>
+<%@page import="test.ws.Person"%>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
+ <title>Web service client...</title>
+ </head>
+ <body>
+ <p>operation "test()":
+ <%=personToString(getPort().test())%></p>
+ <p>operation "echo(Person("Homer", 44)":
+ <%=personToString(getPort().echo(getHomer()))%></p>
+ </body>
+</html>
+
+<%!
+ private Echo getPort() {
+ EchoService service1 = new EchoService();
+ return service1.getEchoPort();
+ }
+
+ private String personToString(Person p) {
+ return p.getLogin() + "(age: " + p.getAge() + ")";
+ }
+
+ private Person getHomer() {
+ Person homer = new Person();
+ homer.setLogin("Homer");
+ homer.setAge(44);
+ return homer;
+ }
+%>
Added:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/EAPCompAllTests.java
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/EAPCompAllTests.java
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/EAPCompAllTests.java 2011-07-15
19:26:20 UTC (rev 32950)
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.ui.bot.test.eap;
+
+import org.jboss.tools.ui.bot.ext.RequirementAwareSuite;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * Documentation/description is available at <a
href="https://docspace.corp.redhat.com/docs/DOC-43675">Docsp...
+ *
+ * @author jlukas
+ * @see <a
href="https://docspace.corp.redhat.com/docs/DOC-43675">DOC-4...
+ */
+@SuiteClasses({
+ EAPFromJavaTest.class,
+ EAPFromWSDLTest.class
+})
+(a)RunWith(RequirementAwareSuite.class)
+public class EAPCompAllTests {
+}
Added:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/EAPFromJavaTest.java
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/EAPFromJavaTest.java
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/EAPFromJavaTest.java 2011-07-15
19:26:20 UTC (rev 32950)
@@ -0,0 +1,157 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.ui.bot.test.eap;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor;
+import org.jboss.tools.ui.bot.ext.config.Annotations.SWTBotTestRequires;
+import org.jboss.tools.ui.bot.ext.config.Annotations.Server;
+import org.jboss.tools.ui.bot.ext.config.Annotations.ServerType;
+import org.jboss.tools.ws.ui.bot.test.uiutils.actions.NewFileWizardAction;
+import org.jboss.tools.ws.ui.bot.test.uiutils.wizards.Wizard;
+import org.jboss.tools.ws.ui.bot.test.uiutils.wizards.WsWizardBase.Slider_Level;
+import org.jboss.tools.ws.ui.bot.test.wtp.WSTestBase;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+@SWTBotTestRequires(server =
+@Server(type = ServerType.EAP), perspective = "Java EE")
+public class EAPFromJavaTest extends WSTestBase {
+
+ private static final Logger L = Logger.getLogger(EAPFromJavaTest.class.getName());
+ private static boolean servicePassed = false;
+
+ public EAPFromJavaTest() {
+ }
+
+ @Before
+ @Override
+ public void setup() {
+ if (!projectExists(getWsProjectName())) {
+ createProject(getWsProjectName());
+ }
+ if (!projectExists(getWsClientProjectName())) {
+ createProject(getWsClientProjectName());
+ }
+ }
+
+ @After
+ @Override
+ public void cleanup() {
+ //do nothing here
+ //we don't want to undeploy our app yet
+ }
+
+ @AfterClass
+ public static void removeAllProjects() {
+ servers.removeAllProjectsFromServer();
+ }
+
+ @Override
+ protected String getWsProjectName() {
+ return "TestWSProject";
+ }
+
+ @Override
+ protected String getEarProjectName() {
+ return getWsProjectName() + "EAR";
+ }
+
+ protected String getWsClientProjectName() {
+ return "TestWSClientProject";
+ }
+
+ protected String getClientEarProjectName() {
+ return getWsClientProjectName() + "EAR";
+ }
+
+ @Override
+ protected String getWsPackage() {
+ return "test.ws";
+ }
+
+ @Override
+ protected String getWsName() {
+ return "Echo";
+ }
+
+ @Override
+ protected Slider_Level getLevel() {
+ return Slider_Level.DEPLOY;
+ }
+
+ @Test
+ public void testService() {
+ //create a class representing some complex type
+ SWTBotEclipseEditor st = createClass("test",
"Person").toTextEditor();
+ st.selectRange(0, 0, st.getText().length());
+
st.setText(readStream(EAPFromJavaTest.class.getResourceAsStream("/resources/jbossws/Person.java.ws")));
+ st.saveAndClose();
+ //refresh workspace - workaround??? for JBIDE-6731
+ try {
+
ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IWorkspaceRoot.DEPTH_INFINITE, new
NullProgressMonitor());
+ } catch (CoreException e) {
+ L.log(Level.WARNING, e.getMessage(), e);
+ }
+ bot.sleep(500);
+
bottomUpJbossWebService(EAPFromJavaTest.class.getResourceAsStream("/resources/jbossws/Echo.java.ws"));
+ IProject project =
ResourcesPlugin.getWorkspace().getRoot().getProject(getWsProjectName());
+ IFile f = project.getFile("WebContent/WEB-INF/web.xml");
+ String content = readFile(f);
+ Assert.assertNotNull(content);
+
Assert.assertTrue(content.contains("<servlet-class>test.ws.Echo</servlet-class>"));
+
Assert.assertTrue(content.contains("<url-pattern>/Echo</url-pattern>"));
+ runProject(getEarProjectName());
+ assertServiceDeployed(getWSDLUrl(), 10000);
+ servicePassed = true;
+ }
+
+ @Test
+ public void testClient() {
+ Assert.assertTrue("service must exist", servicePassed);
+ createClient(getWSDLUrl(), getWsClientProjectName(), getLevel(), "");
+ IProject p =
ResourcesPlugin.getWorkspace().getRoot().getProject(getWsClientProjectName());
+ String pkg = "test/ws";
+ String cls = "src/" + pkg + "/EchoService.java";
+ Assert.assertTrue(p.getFile(cls).exists());
+ cls = "src/" + pkg + "/clientsample/ClientSample.java";
+ Assert.assertTrue(p.getFile(cls).exists());
+ //create JSP
+ new NewFileWizardAction().run().selectTemplate("Web", "JSP
File").next();
+ Wizard w = new Wizard();
+ w.bot().textWithLabel("File name:").setText("index");
+ w.bot().textWithLabel("Enter or select the parent
folder:").setText(getWsClientProjectName() + "/WebContent");
+ w.finish();
+ bot.sleep(5000);
+ bot.activeShell().bot().button("Skip").click();
+ bot.sleep(5000);
+ SWTBotEclipseEditor st =
bot.editorByTitle("index.jsp").toTextEditor();
+ st.selectRange(0, 0, st.getText().length());
+
st.setText(readStream(EAPFromJavaTest.class.getResourceAsStream("/resources/jbossws/index.jsp.ws")));
+ st.saveAndClose();
+ runProject(getWsClientProjectName());
+ String pageContent = getPage("http://localhost:8080/" +
getWsClientProjectName() + "/index.jsp", 15000);
+ L.info(pageContent);
+ Assert.assertTrue(pageContent.contains("BartSimpson(age: 12)"));
+ Assert.assertTrue(pageContent.contains("Homer(age: 44)"));
+ }
+}
Added:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/EAPFromWSDLTest.java
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/EAPFromWSDLTest.java
(rev 0)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/eap/EAPFromWSDLTest.java 2011-07-15
19:26:20 UTC (rev 32950)
@@ -0,0 +1,174 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.ui.bot.test.eap;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.jboss.tools.ui.bot.ext.config.Annotations.SWTBotTestRequires;
+import org.jboss.tools.ui.bot.ext.config.Annotations.Server;
+import org.jboss.tools.ui.bot.ext.config.Annotations.ServerType;
+import org.jboss.tools.ws.ui.bot.test.uiutils.wizards.WsWizardBase.Slider_Level;
+import org.jboss.tools.ws.ui.bot.test.wtp.TopDownWSTest;
+import org.jboss.tools.ws.ui.bot.test.wtp.WSTestBase;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+@SWTBotTestRequires(server =
+@Server(type = ServerType.EAP), perspective = "Java EE")
+public class EAPFromWSDLTest extends WSTestBase {
+
+ private static final Logger L = Logger.getLogger(EAPFromWSDLTest.class.getName());
+ private static boolean servicePassed = false;
+
+ public EAPFromWSDLTest() {
+ }
+
+ @Before
+ @Override
+ public void setup() {
+ if (!projectExists(getWsProjectName())) {
+ createProject(getWsProjectName());
+ }
+ if (!projectExists(getWsClientProjectName())) {
+ createProject(getWsClientProjectName());
+ }
+ }
+
+ @After
+ @Override
+ public void cleanup() {
+ L.info("overridden");
+ }
+
+ @AfterClass
+ public static void x() {
+ L.info("x");
+ servers.removeAllProjectsFromServer();
+ }
+
+ @Override
+ protected String getWsProjectName() {
+ return "AreaWSProject";
+ }
+
+ @Override
+ protected String getEarProjectName() {
+ return getWsProjectName() + "EAR";
+ }
+
+ protected String getWsClientProjectName() {
+ return "AreaWSClientProject";
+ }
+
+ protected String getClientEarProjectName() {
+ return getWsClientProjectName() + "EAR";
+ }
+
+ @Override
+ protected String getWsPackage() {
+ return "org.jboss.ws";
+ }
+
+ @Override
+ protected String getWsName() {
+ return "AreaService";
+ }
+
+ @Override
+ protected Slider_Level getLevel() {
+ return Slider_Level.DEPLOY;
+ }
+
+ @Test
+ public void testService() {
+
topDownWS(TopDownWSTest.class.getResourceAsStream("/resources/jbossws/AreaService.wsdl"),
getWsPackage());
+
+ IProject project =
ResourcesPlugin.getWorkspace().getRoot().getProject(getWsProjectName());
+ IFile f = project.getFile("src/" +
getWsPackage().replace(".", "/") +
"/AreaServiceImpl.java");
+ String content = readFile(f);
+ Assert.assertNotNull(content);
+ Assert.assertTrue(content.contains("public class AreaServiceImpl implements
AreaService {"));
+ Assert.assertTrue(content.contains("public float
calculateRectArea(Dimensions parameters)"));
+ replaceContent(f, "/resources/jbossws/AreaWS.java.ws");
+
+ f = project.getFile("WebContent/WEB-INF/web.xml");
+ content = readFile(f);
+ Assert.assertNotNull(content);
+
Assert.assertTrue(content.contains("<servlet-class>org.jboss.ws.AreaServiceImpl</servlet-class>"));
+
Assert.assertTrue(content.contains("<url-pattern>/AreaService</url-pattern>"));
+ runProject(getEarProjectName());
+ assertServiceDeployed(getWSDLUrl(), 10000);
+ servicePassed = true;
+ }
+
+ @Test
+ public void testClient() {
+ Assert.assertTrue("service must exist", servicePassed);
+ createClient(getWSDLUrl(), getWsClientProjectName(), Slider_Level.DEVELOP,
"org.jboss.wsclient");
+ IProject p =
ResourcesPlugin.getWorkspace().getRoot().getProject(getWsClientProjectName());
+ String pkg = "org/jboss/wsclient";
+ String cls = "src/" + pkg + "/AreaService.java";
+ Assert.assertTrue(p.getFile(cls).exists());
+ cls = "src/" + pkg + "/clientsample/ClientSample.java";
+ IFile f = p.getFile(cls);
+ Assert.assertTrue(f.exists());
+ replaceContent(f, "/resources/jbossws/clientsample.java.ws");
+ eclipse.runJavaApplication(getWsClientProjectName(),
"org.jboss.wsclient.clientsample.ClientSample", null);
+ util.waitForNonIgnoredJobs();
+ bot.sleep(15000);
+ String output = console.getConsoleText();
+ L.info(output);
+ Assert.assertTrue(output.contains("Server said: 37.5"));
+ Assert.assertTrue(output.contains("Server said: 3512.3699"));
+ }
+
+ private void replaceContent(IFile f, String content) {
+ try {
+ f.delete(true, new NullProgressMonitor());
+ } catch (CoreException ce) {
+ L.log(Level.WARNING, ce.getMessage(), ce);
+ }
+ InputStream is = null;
+ try {
+ is = EAPFromWSDLTest.class.getResourceAsStream(content);
+ f.create(is, true, new NullProgressMonitor());
+ } catch (CoreException ce) {
+ L.log(Level.WARNING, ce.getMessage(), ce);
+ } finally {
+ if (is != null) {
+ try {
+ is.close();
+ } catch (IOException ioe) {
+ //ignore
+ }
+ }
+ }
+ try {
+
ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IWorkspaceRoot.DEPTH_INFINITE, new
NullProgressMonitor());
+ } catch (CoreException e) {
+ L.log(Level.WARNING, e.getMessage(), e);
+ }
+ util.waitForNonIgnoredJobs();
+ bot.sleep(1000);
+ }
+}
Modified:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/jbt/SampleWSTest.java
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/jbt/SampleWSTest.java 2011-07-15
19:10:20 UTC (rev 32949)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/jbt/SampleWSTest.java 2011-07-15
19:26:20 UTC (rev 32950)
@@ -22,7 +22,6 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
@@ -37,160 +36,152 @@
import org.junit.AfterClass;
import org.junit.Test;
-@SWTBotTestRequires(server=@Server(),perspective="Java EE")
+@SWTBotTestRequires(server =
+@Server(), perspective = "Java EE")
public class SampleWSTest extends WSTestBase {
- private static final String SOAP_REQUEST = getSoapRequest("<ns1:sayHello
xmlns:ns1=\"http://{0}/\"><arg0>{1}</arg0></ns1:sayHello>");
- private static final String SERVER_URL = "localhost:8080";
- private static final Logger L = Logger.getLogger(SampleWSTest.class.getName());
-
- @AfterClass
- public static void clean() {
- servers.removeAllProjectsFromServer();
- projectExplorer.deleteAllProjects();
- }
-
- @Override
- protected String getWsProjectName() {
- return "SampleSOAPWS";
- }
+ private static final String SOAP_REQUEST = getSoapRequest("<ns1:sayHello
xmlns:ns1=\"http://{0}/\"><arg0>{1}</arg0></ns1:sayHello>");
+ private static final String SERVER_URL = "localhost:8080";
+ private static final Logger L = Logger.getLogger(SampleWSTest.class.getName());
- @Override
- protected String getWsPackage() {
- return null;
- }
+ @AfterClass
+ public static void clean() {
+ servers.removeAllProjectsFromServer();
+ projectExplorer.deleteAllProjects();
+ }
- @Override
- protected String getWsName() {
- return null;
- }
-
- @Test
- public void testSampleSoapWS() {
- IFile dd = getDD(getWsProjectName());
- if (!dd.exists()) {
- createDD(getWsProjectName());
- }
- assertTrue(dd.exists());
- createSampleSOAPWS(getWsProjectName(), "HelloService", "sample",
"SampleService");
- checkSOAPService(getWsProjectName(), "HelloService", "sample",
"SampleService", "You");
+ @Override
+ protected String getWsProjectName() {
+ return "SampleSOAPWS";
+ }
- createSampleSOAPWS(getWsProjectName(), "GreetService", "greeter",
"Greeter");
- checkSOAPService(getWsProjectName(), "GreetService", "greeter",
"Greeter", "Tester");
- }
+ @Override
+ protected String getWsPackage() {
+ return null;
+ }
- @Test
- public void testSampleRestWS() {
- if ("JBOSS_AS".equals(configuredState.getServer().type)) {
- fail("This test requires RESTEasy jars in the server");
- }
- String project = "SampleRESTWS";
- createProject(project);
- IFile dd = getDD(project);
- if (!dd.exists()) {
- createDD(project);
- }
- assertTrue(dd.exists());
- createSampleRESTWS(project, "RESTSample", "rest.sample",
"Sample", "RESTApp");
- checkRESTService(project, "RESTSample", "rest.sample",
"Sample", "Hello World!", "RESTApp");
- }
+ @Override
+ protected String getWsName() {
+ return null;
+ }
- private void createDD(String project) {
- SWTBotTree tree = projectExplorer.bot().tree();
- SWTBotTreeItem ti = tree.expandNode(project);
- bot.sleep(1500);
- ti = ti.getNode("Deployment Descriptor: " + project);
- new TreeItemAction(ti, "Generate Deployment Descriptor Stub").run();
- bot.sleep(1500);
- util.waitForNonIgnoredJobs();
- bot.sleep(1500);
- }
+ @Test
+ public void testSampleSoapWS() {
+ IFile dd = getDD(getWsProjectName());
+ if (!dd.exists()) {
+ createDD(getWsProjectName());
+ }
+ assertTrue(dd.exists());
+ createSampleSOAPWS(getWsProjectName(), "HelloService",
"sample", "SampleService");
+ checkSOAPService(getWsProjectName(), "HelloService",
"sample", "SampleService", "You");
- private void createSampleSOAPWS(String project, String name, String pkg, String cls) {
- createSampleService(Type.SOAP, project, name, pkg, cls, null);
- }
-
- private void checkSOAPService(String project, String svcName, String svcPkg, String
svcClass, String msgContent) {
- checkService(Type.SOAP, project, svcName, svcPkg, svcClass, msgContent, null);
- }
-
- private void checkRESTService(String project, String svcName, String svcPkg, String
svcClass, String msgContent, String appCls) {
- checkService(Type.REST, project, svcName, svcPkg, svcClass, msgContent, appCls);
- }
-
- private void createSampleRESTWS(String project, String name, String pkg, String cls,
String appCls) {
- createSampleService(Type.REST, project, name, pkg, cls, appCls);
- }
-
- private void createSampleService(Type type, String project, String name, String pkg,
String cls, String appCls) {
- SampleWSWizard w = new NewSampleWSWizardAction(type).run();
- w.setProjectName(project).setServiceName(name);
- w.setPackageName(pkg).setClassName(cls);
- if (type == Type.REST) {
- w.setApplicationClassName(appCls);
- }
- w.finish();
- util.waitForNonIgnoredJobs();
- }
-
- private void checkService(Type type, String project, String svcName, String svcPkg,
String svcClass, String msgContent, String appCls) {
- SWTBotEditor ed = bot.activeEditor();
- assertEquals(svcClass + ".java", ed.getTitle());
- String code = ed.toTextEditor().getText();
- assertContains("package " + svcPkg + ";", code);
- String dd = readFile(getDD(project));
- switch (type) {
- case REST:
- assertContains("@Path(\"/" + svcName + "\")", code);
- assertContains("@GET()", code);
- assertContains("@Produces(\"text/plain\")", code);
- assertContains("<servlet-name>Resteasy</servlet-name>", dd);
- assertContains("<param-value>" + svcPkg + "." + appCls +
"</param-value>", dd);
- break;
- case SOAP:
- assertContains("<servlet-name>" + svcName +
"</servlet-name>", dd);
- break;
- }
- runProject(project);
- switch (type) {
- case REST:
- try {
- URL u = new URL("http://" + SERVER_URL + "/" + project +
"/" + svcName);
- String s = readStream(u.openConnection().getInputStream());
- assertEquals(msgContent, s);
- } catch (MalformedURLException e) {
- L.log(Level.WARNING, e.getMessage(), e);
- } catch (IOException e) {
- L.log(Level.WARNING, e.getMessage(), e);
- }
- break;
- case SOAP:
- try {
- WSClient c = new WSClient(new URL("http://" + SERVER_URL + "/" +
project + "/" + svcName),
- new QName("http://" + svcPkg + "/", svcClass +
"Service"),
- new QName("http://" + svcPkg + "/", svcClass +
"Port"));
- assertContains("Hello " + msgContent + "!",
c.callService(MessageFormat.format(SOAP_REQUEST, svcPkg, msgContent)));
- } catch (MalformedURLException e) {
- L.log(Level.WARNING, e.getMessage(), e);
- }
- break;
- }
- }
-
- private IProject getProject(String project) {
- return ResourcesPlugin.getWorkspace().getRoot().getProject(project);
- }
-
- private IFile getDD(String project) {
- return getProject(project).getFile("WebContent/WEB-INF/web.xml");
- }
-
- private String readFile(IFile file) {
- try {
- return readStream(file.getContents());
- } catch (CoreException e) {
- L.log(Level.WARNING, e.getMessage(), e);
- }
- return "";
- }
+ createSampleSOAPWS(getWsProjectName(), "GreetService",
"greeter", "Greeter");
+ checkSOAPService(getWsProjectName(), "GreetService",
"greeter", "Greeter", "Tester");
+ }
+
+ @Test
+ public void testSampleRestWS() {
+ if ("JBOSS_AS".equals(configuredState.getServer().type)) {
+ fail("This test requires RESTEasy jars in the server");
+ }
+ String project = "SampleRESTWS";
+ createProject(project);
+ IFile dd = getDD(project);
+ if (!dd.exists()) {
+ createDD(project);
+ }
+ assertTrue(dd.exists());
+ createSampleRESTWS(project, "RESTSample", "rest.sample",
"Sample", "RESTApp");
+ checkRESTService(project, "RESTSample", "rest.sample",
"Sample", "Hello World!", "RESTApp");
+ }
+
+ private void createDD(String project) {
+ SWTBotTree tree = projectExplorer.bot().tree();
+ SWTBotTreeItem ti = tree.expandNode(project);
+ bot.sleep(1500);
+ ti = ti.getNode("Deployment Descriptor: " + project);
+ new TreeItemAction(ti, "Generate Deployment Descriptor Stub").run();
+ bot.sleep(1500);
+ util.waitForNonIgnoredJobs();
+ bot.sleep(1500);
+ }
+
+ private void createSampleSOAPWS(String project, String name, String pkg, String cls)
{
+ createSampleService(Type.SOAP, project, name, pkg, cls, null);
+ }
+
+ private void checkSOAPService(String project, String svcName, String svcPkg, String
svcClass, String msgContent) {
+ checkService(Type.SOAP, project, svcName, svcPkg, svcClass, msgContent, null);
+ }
+
+ private void checkRESTService(String project, String svcName, String svcPkg, String
svcClass, String msgContent, String appCls) {
+ checkService(Type.REST, project, svcName, svcPkg, svcClass, msgContent, appCls);
+ }
+
+ private void createSampleRESTWS(String project, String name, String pkg, String cls,
String appCls) {
+ createSampleService(Type.REST, project, name, pkg, cls, appCls);
+ }
+
+ private void createSampleService(Type type, String project, String name, String pkg,
String cls, String appCls) {
+ SampleWSWizard w = new NewSampleWSWizardAction(type).run();
+ w.setProjectName(project).setServiceName(name);
+ w.setPackageName(pkg).setClassName(cls);
+ if (type == Type.REST) {
+ w.setApplicationClassName(appCls);
+ }
+ w.finish();
+ util.waitForNonIgnoredJobs();
+ }
+
+ private void checkService(Type type, String project, String svcName, String svcPkg,
String svcClass, String msgContent, String appCls) {
+ SWTBotEditor ed = bot.activeEditor();
+ assertEquals(svcClass + ".java", ed.getTitle());
+ String code = ed.toTextEditor().getText();
+ assertContains("package " + svcPkg + ";", code);
+ String dd = readFile(getDD(project));
+ switch (type) {
+ case REST:
+ assertContains("@Path(\"/" + svcName +
"\")", code);
+ assertContains("@GET()", code);
+ assertContains("@Produces(\"text/plain\")", code);
+
assertContains("<servlet-name>Resteasy</servlet-name>", dd);
+ assertContains("<param-value>" + svcPkg + "." +
appCls + "</param-value>", dd);
+ break;
+ case SOAP:
+ assertContains("<servlet-name>" + svcName +
"</servlet-name>", dd);
+ break;
+ }
+ runProject(project);
+ switch (type) {
+ case REST:
+ try {
+ URL u = new URL("http://" + SERVER_URL + "/" +
project + "/" + svcName);
+ String s = readStream(u.openConnection().getInputStream());
+ assertEquals(msgContent, s);
+ } catch (MalformedURLException e) {
+ L.log(Level.WARNING, e.getMessage(), e);
+ } catch (IOException e) {
+ L.log(Level.WARNING, e.getMessage(), e);
+ }
+ break;
+ case SOAP:
+ try {
+ WSClient c = new WSClient(new URL("http://" + SERVER_URL +
"/" + project + "/" + svcName),
+ new QName("http://" + svcPkg + "/",
svcClass + "Service"),
+ new QName("http://" + svcPkg + "/",
svcClass + "Port"));
+ assertContains("Hello " + msgContent + "!",
c.callService(MessageFormat.format(SOAP_REQUEST, svcPkg, msgContent)));
+ } catch (MalformedURLException e) {
+ L.log(Level.WARNING, e.getMessage(), e);
+ }
+ break;
+ }
+ }
+
+ private IProject getProject(String project) {
+ return ResourcesPlugin.getWorkspace().getRoot().getProject(project);
+ }
+
+ private IFile getDD(String project) {
+ return getProject(project).getFile("WebContent/WEB-INF/web.xml");
+ }
}
Modified:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/jbt/WsTesterTest.java
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/jbt/WsTesterTest.java 2011-07-15
19:10:20 UTC (rev 32949)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/jbt/WsTesterTest.java 2011-07-15
19:26:20 UTC (rev 32950)
@@ -41,344 +41,345 @@
*
* @author jlukas
*/
-@SWTBotTestRequires(perspective="Java")
+@SWTBotTestRequires(perspective = "Java")
public class WsTesterTest extends SWTTestExt {
- private static final Logger L = Logger.getLogger(WsTesterTest.class.getName());
- private static final String SERVICE_URL =
"http://www.webservicex.net/BibleWebservice.asmx";
+ private static final Logger L = Logger.getLogger(WsTesterTest.class.getName());
+ private static final String SERVICE_URL =
"http://www.webservicex.net/BibleWebservice.asmx";
- /**
- * Test behavior of UI
- */
- @Test
- public void testUI() {
- WsTesterView wstv = new WsTesterView();
- SWTBotView viewBot = wstv.show();
- Assert.assertTrue("Tester View is not active", viewBot.isActive());
- wstv.setRequestType(Request_Type.PUT);
- Assert.assertEquals(Request_Type.PUT, wstv.getRequestType());
- wstv.setRequestType(Request_Type.JAX_WS);
- Assert.assertEquals(Request_Type.JAX_WS, wstv.getRequestType());
+ /**
+ * Test behavior of UI
+ */
+ @Test
+ public void testUI() {
+ WsTesterView wstv = new WsTesterView();
+ SWTBotView viewBot = wstv.show();
+ Assert.assertTrue("Tester View is not active", viewBot.isActive());
+ wstv.setRequestType(Request_Type.PUT);
+ Assert.assertEquals(Request_Type.PUT, wstv.getRequestType());
+ wstv.setRequestType(Request_Type.JAX_WS);
+ Assert.assertEquals(Request_Type.JAX_WS, wstv.getRequestType());
- wstv.setRequestType(Request_Type.DELETE);
- Assert.assertEquals(Request_Type.DELETE, wstv.getRequestType());
- wstv.expandSection(Request_Arg_Type.HEADER.toString());
- wstv.addRequestArg(Request_Arg_Type.HEADER, "a", "1");
- wstv.addRequestArg(Request_Arg_Type.HEADER, "b", "2");
- wstv.addRequestArg(Request_Arg_Type.HEADER, "c", "3");
- Assert.assertEquals(3, wstv.getRequestArgs(Request_Arg_Type.HEADER).keySet().size());
- Assert.assertTrue(wstv.getRequestArgs(Request_Arg_Type.HEADER).containsKey("b"));
- wstv.addRequestArg(Request_Arg_Type.HEADER, "d", "4");
- Assert.assertEquals(4, wstv.getRequestArgs(Request_Arg_Type.HEADER).keySet().size());
- Assert.assertTrue(wstv.getRequestArgs(Request_Arg_Type.HEADER).containsKey("d"));
- Assert.assertEquals(4, wstv.getRequestArgs(Request_Arg_Type.HEADER).keySet().size());
- wstv.removeRequestArg(Request_Arg_Type.HEADER, "a", "1");
- wstv.removeRequestArg(Request_Arg_Type.HEADER, "c", "3");
- Assert.assertEquals(2, wstv.getRequestArgs(Request_Arg_Type.HEADER).keySet().size());
- wstv.clearRequestArgs(Request_Arg_Type.HEADER);
- Assert.assertEquals(0, wstv.getRequestArgs(Request_Arg_Type.HEADER).keySet().size());
+ wstv.setRequestType(Request_Type.DELETE);
+ Assert.assertEquals(Request_Type.DELETE, wstv.getRequestType());
+ wstv.expandSection(Request_Arg_Type.HEADER.toString());
+ wstv.addRequestArg(Request_Arg_Type.HEADER, "a", "1");
+ wstv.addRequestArg(Request_Arg_Type.HEADER, "b", "2");
+ wstv.addRequestArg(Request_Arg_Type.HEADER, "c", "3");
+ Assert.assertEquals(3,
wstv.getRequestArgs(Request_Arg_Type.HEADER).keySet().size());
+
Assert.assertTrue(wstv.getRequestArgs(Request_Arg_Type.HEADER).containsKey("b"));
+ wstv.addRequestArg(Request_Arg_Type.HEADER, "d", "4");
+ Assert.assertEquals(4,
wstv.getRequestArgs(Request_Arg_Type.HEADER).keySet().size());
+
Assert.assertTrue(wstv.getRequestArgs(Request_Arg_Type.HEADER).containsKey("d"));
+ Assert.assertEquals(4,
wstv.getRequestArgs(Request_Arg_Type.HEADER).keySet().size());
+ wstv.removeRequestArg(Request_Arg_Type.HEADER, "a", "1");
+ wstv.removeRequestArg(Request_Arg_Type.HEADER, "c", "3");
+ Assert.assertEquals(2,
wstv.getRequestArgs(Request_Arg_Type.HEADER).keySet().size());
+ wstv.clearRequestArgs(Request_Arg_Type.HEADER);
+ Assert.assertEquals(0,
wstv.getRequestArgs(Request_Arg_Type.HEADER).keySet().size());
- wstv.setRequestType(Request_Type.JAX_WS);
- selectPort(wstv, "BibleWebserviceSoap");
-
Assert.assertTrue(wstv.getRequestBody().contains("http://schemas.xml...;
- selectPort(wstv, "BibleWebserviceSoap12");
- Assert.assertTrue("Got: " + wstv.getRequestBody(),
wstv.getRequestBody().contains("http://www.w3.org/2003/05/soap-envel...);
- viewBot.close();
- }
+ wstv.setRequestType(Request_Type.JAX_WS);
+ selectPort(wstv, "BibleWebserviceSoap");
+
Assert.assertTrue(wstv.getRequestBody().contains("http://schemas.xml...;
+ selectPort(wstv, "BibleWebserviceSoap12");
+ Assert.assertTrue("Got: " + wstv.getRequestBody(),
wstv.getRequestBody().contains("http://www.w3.org/2003/05/soap-envel...);
+ viewBot.close();
+ }
- /**
- * Test refreshing body requests in the UI
- */
- @Test
- public void testNamespaces() {
- String uri = new File(prepareWsdl(), "original.wsdl").toURI().toString();
- WsTesterView wstv = new WsTesterView();
- SWTBotView viewBot = wstv.show();
- Assert.assertTrue("Tester View is not active", viewBot.isActive());
- SelectWSDLDialog dlg = wstv.getFromWSDL();
- dlg.setURI(uri);
- bot.sleep(1000);
- List<String> items = dlg.getServices();
- L.log(Level.FINE, "Services: {0}", items);
- Assert.assertEquals(2, items.size());
- Assert.assertTrue(items.contains("EchoService"));
- items = dlg.getPorts();
- L.log(Level.FINE, "Ports: {0}", items);
- Assert.assertEquals(1, items.size());
- Assert.assertTrue(items.contains("EchoPort"));
- items = dlg.getOperations();
- L.log(Level.FINE, "Operations: {0}", items);
- Assert.assertEquals(1, items.size());
- Assert.assertTrue(items.contains("echo"));
- dlg.ok();
- L.log(Level.INFO, "Request: {0}", wstv.getRequestBody());
- Assert.assertTrue(wstv.getRequestBody().contains(
- "<tns:echo
xmlns:tns=\"http://test.jboss.org/ns\">"));
+ /**
+ * Test refreshing body requests in the UI
+ */
+ @Test
+ public void testNamespaces() {
+ String uri = new File(prepareWsdl(),
"original.wsdl").toURI().toString();
+ WsTesterView wstv = new WsTesterView();
+ SWTBotView viewBot = wstv.show();
+ Assert.assertTrue("Tester View is not active", viewBot.isActive());
+ SelectWSDLDialog dlg = wstv.getFromWSDL();
+ dlg.setURI(uri);
+ bot.sleep(1000);
+ List<String> items = dlg.getServices();
+ L.log(Level.FINE, "Services: {0}", items);
+ Assert.assertEquals(2, items.size());
+ Assert.assertTrue(items.contains("EchoService"));
+ items = dlg.getPorts();
+ L.log(Level.FINE, "Ports: {0}", items);
+ Assert.assertEquals(1, items.size());
+ Assert.assertTrue(items.contains("EchoPort"));
+ items = dlg.getOperations();
+ L.log(Level.FINE, "Operations: {0}", items);
+ Assert.assertEquals(1, items.size());
+ Assert.assertTrue(items.contains("echo"));
+ dlg.ok();
+ L.log(Level.INFO, "Request: {0}", wstv.getRequestBody());
+ Assert.assertTrue(wstv.getRequestBody().contains(
+ "<tns:echo
xmlns:tns=\"http://test.jboss.org/ns\">"));
- dlg = wstv.getFromWSDL();
- dlg.setURI(uri);
- bot.sleep(1000);
- items = dlg.getServices();
- L.log(Level.FINE, "Services: {0}", items);
- Assert.assertEquals(2, items.size());
- Assert.assertTrue(items.contains("gsearch_rss"));
- dlg.selectService("gsearch_rss");
- items = dlg.getPorts();
- L.log(Level.FINE, "Ports: {0}", items);
- Assert.assertEquals(1, items.size());
- Assert.assertTrue(items.contains("gsearch_rssSoap"));
- items = dlg.getOperations();
- L.log(Level.FINE, "Operations: {0}", items);
- Assert.assertEquals(1, items.size());
- Assert.assertTrue(items.contains("GetSearchResults"));
- dlg.ok();
- L.log(Level.INFO, "Request: {0}", wstv.getRequestBody());
- Assert.assertTrue(wstv.getRequestBody().contains(
- "<tns:GetSearchResults
xmlns:tns=\"http://www.ecubicle.net/webservices\">"));
- }
+ dlg = wstv.getFromWSDL();
+ dlg.setURI(uri);
+ bot.sleep(1000);
+ items = dlg.getServices();
+ L.log(Level.FINE, "Services: {0}", items);
+ Assert.assertEquals(2, items.size());
+ Assert.assertTrue(items.contains("gsearch_rss"));
+ dlg.selectService("gsearch_rss");
+ items = dlg.getPorts();
+ L.log(Level.FINE, "Ports: {0}", items);
+ Assert.assertEquals(1, items.size());
+ Assert.assertTrue(items.contains("gsearch_rssSoap"));
+ items = dlg.getOperations();
+ L.log(Level.FINE, "Operations: {0}", items);
+ Assert.assertEquals(1, items.size());
+ Assert.assertTrue(items.contains("GetSearchResults"));
+ dlg.ok();
+ L.log(Level.INFO, "Request: {0}", wstv.getRequestBody());
+ Assert.assertTrue(wstv.getRequestBody().contains(
+ "<tns:GetSearchResults
xmlns:tns=\"http://www.ecubicle.net/webservices\">"));
+ }
- /**
- * Test SOAP service invocation
- */
- @Test
- public void testSOAPService() {
- WsTesterView wstv = new WsTesterView();
- wstv.show();
- wstv.setRequestType(Request_Type.JAX_WS);
- Assert.assertEquals(Request_Type.JAX_WS, wstv.getRequestType());
- wstv.setServiceURL(SERVICE_URL + "?WSDL");
- InputStream is =
WsTesterTest.class.getResourceAsStream("/resources/jbossws/message_soap_out.xml");
- wstv.setRequestBody(readResource(is));
- wstv.invoke();
- bot.sleep(5000);
- String rsp = wstv.getResponseBody();
- L.log(Level.FINE, "SOAP response: {0}", rsp);
- Assert.assertTrue(rsp.trim().length() > 0);
- checkResponse(rsp,
"<BookTitle>Mark</BookTitle>");
- }
+ /**
+ * Test SOAP service invocation
+ */
+ @Test
+ public void testSOAPService() {
+ WsTesterView wstv = new WsTesterView();
+ wstv.show();
+ wstv.setRequestType(Request_Type.JAX_WS);
+ Assert.assertEquals(Request_Type.JAX_WS, wstv.getRequestType());
+ wstv.setServiceURL(SERVICE_URL + "?WSDL");
+ InputStream is =
WsTesterTest.class.getResourceAsStream("/resources/jbossws/message_soap_out.xml");
+ wstv.setRequestBody(readResource(is));
+ wstv.invoke();
+ bot.sleep(5000);
+ String rsp = wstv.getResponseBody();
+ L.log(Level.FINE, "SOAP response: {0}", rsp);
+ Assert.assertTrue(rsp.trim().length() > 0);
+ checkResponse(rsp,
"<BookTitle>Mark</BookTitle>");
+ }
- /**
- * Test SOAP 1.2 service invocation
- */
- @Test
- public void testSOAP12Service() {
- WsTesterView wstv = new WsTesterView();
- wstv.show();
- wstv.setRequestType(Request_Type.JAX_WS);
- Assert.assertEquals(Request_Type.JAX_WS, wstv.getRequestType());
- SelectWSDLDialog dlg = wstv.getFromWSDL();
- try {
- dlg.openURL();
- SWTBotShell sh = bot.activeShell();
- sh.bot().text().typeText(SERVICE_URL + "?WSDL");
- sh.bot().button("OK").click();
- bot.sleep(1000);
- Assert.assertEquals(SERVICE_URL + "?WSDL", dlg.getURI());
- dlg.selectPort("BibleWebserviceSoap12");
- dlg.ok();
- } finally {
- if (dlg.isOpen()) {
- dlg.close();
- }
- }
- Assert.assertEquals(SERVICE_URL + "?WSDL", wstv.getServiceURL());
- InputStream is =
WsTesterTest.class.getResourceAsStream("/resources/jbossws/message_soap12_out.xml");
- wstv.setRequestBody(readResource(is));
- wstv.invoke();
- String rsp = wstv.getResponseBody();
- L.log(Level.FINE, "SOAP response: {0}", rsp);
- Assert.assertTrue(rsp.trim().length() > 0);
- checkResponse(rsp,
"<BookTitle>Mark</BookTitle>");
- }
+ /**
+ * Test SOAP 1.2 service invocation
+ */
+ @Test
+ public void testSOAP12Service() {
+ WsTesterView wstv = new WsTesterView();
+ wstv.show();
+ wstv.setRequestType(Request_Type.JAX_WS);
+ Assert.assertEquals(Request_Type.JAX_WS, wstv.getRequestType());
+ SelectWSDLDialog dlg = wstv.getFromWSDL();
+ try {
+ dlg.openURL();
+ SWTBotShell sh = bot.activeShell();
+ sh.bot().text().typeText(SERVICE_URL + "?WSDL");
+ sh.bot().button("OK").click();
+ bot.sleep(1000);
+ Assert.assertEquals(SERVICE_URL + "?WSDL", dlg.getURI());
+ dlg.selectPort("BibleWebserviceSoap12");
+ dlg.ok();
+ } finally {
+ if (dlg.isOpen()) {
+ dlg.close();
+ }
+ }
+ Assert.assertEquals(SERVICE_URL + "?WSDL", wstv.getServiceURL());
+ InputStream is =
WsTesterTest.class.getResourceAsStream("/resources/jbossws/message_soap12_out.xml");
+ wstv.setRequestBody(readResource(is));
+ wstv.invoke();
+ String rsp = wstv.getResponseBody();
+ L.log(Level.FINE, "SOAP response: {0}", rsp);
+ Assert.assertTrue(rsp.trim().length() > 0);
+ checkResponse(rsp,
"<BookTitle>Mark</BookTitle>");
+ }
- /**
- * Test REST service invocation (GET request)
- */
- @Test
- public void testRESTGETService() {
- WsTesterView wstv = new WsTesterView();
- wstv.show();
- wstv.setRequestType(Request_Type.GET);
- wstv.setServiceURL(SERVICE_URL + "/GetBibleWordsByChapterAndVerse");
- wstv.expandSection(Request_Arg_Type.PARAMETER.toString());
- wstv.addRequestArg(Request_Arg_Type.PARAMETER, "BookTitle",
"Luke");
- wstv.addRequestArg(Request_Arg_Type.PARAMETER, "chapter", "2");
- wstv.addRequestArg(Request_Arg_Type.PARAMETER, "Verse", "2");
- wstv.editRequestArg(Request_Arg_Type.PARAMETER, "chapter", "2",
"chapter", "1");
- try {
- wstv.invoke();
- String rsp = wstv.getResponseBody();
- String[] rspHeaders = wstv.getResponseHeaders();
- L.log(Level.FINE, "REST response: {0}", rsp);
- L.log(Level.FINE, "Response headers: {0}", Arrays.asList(rspHeaders));
- Assert.assertTrue(rsp.trim().length() > 0);
- checkResponse(rsp, "<Chapter>1</Chapter>");
- checkResponse(rsp, "ministers of the word");
- } finally {
- wstv.clearRequestArgs(Request_Arg_Type.PARAMETER);
- }
- }
+ /**
+ * Test REST service invocation (GET request)
+ */
+ @Test
+ public void testRESTGETService() {
+ WsTesterView wstv = new WsTesterView();
+ wstv.show();
+ wstv.setRequestType(Request_Type.GET);
+ wstv.setServiceURL(SERVICE_URL + "/GetBibleWordsByChapterAndVerse");
+ wstv.expandSection(Request_Arg_Type.PARAMETER.toString());
+ wstv.addRequestArg(Request_Arg_Type.PARAMETER, "BookTitle",
"Luke");
+ wstv.addRequestArg(Request_Arg_Type.PARAMETER, "chapter",
"2");
+ wstv.addRequestArg(Request_Arg_Type.PARAMETER, "Verse",
"2");
+ wstv.editRequestArg(Request_Arg_Type.PARAMETER, "chapter",
"2", "chapter", "1");
+ try {
+ wstv.invoke();
+ String rsp = wstv.getResponseBody();
+ String[] rspHeaders = wstv.getResponseHeaders();
+ L.log(Level.FINE, "REST response: {0}", rsp);
+ L.log(Level.FINE, "Response headers: {0}",
Arrays.asList(rspHeaders));
+ Assert.assertTrue(rsp.trim().length() > 0);
+ checkResponse(rsp,
"<Chapter>1</Chapter>");
+ checkResponse(rsp, "ministers of the word");
+ } finally {
+ wstv.clearRequestArgs(Request_Arg_Type.PARAMETER);
+ }
+ }
- /**
- * Test REST service invocation (POST request)
- */
- @Test
- public void testRESTPOSTService() {
- WsTesterView wstv = new WsTesterView();
- wstv.show();
- wstv.setRequestType(WsTesterView.Request_Type.POST);
- wstv.setServiceURL(SERVICE_URL + "/GetBibleWordsByChapterAndVerse");
- String requestBody = "BookTitle=John&chapter=3&Verse=1\r";
- wstv.setRequestBody(requestBody);
- wstv.expandSection(JBossWSUIMessages.JAXRSWSTestView2_ResponseHeaders_Section);
- wstv.addRequestArg(Request_Arg_Type.HEADER, "Content-Type",
"application/x-www-form-urlencoded");
- wstv.addRequestArg(Request_Arg_Type.HEADER, "Content-Length",
String.valueOf(requestBody.length()));
- try {
- wstv.invoke();
- String rsp = wstv.getResponseBody();
- String[] rspHeaders = wstv.getResponseHeaders();
- L.log(Level.FINE, "REST response: {0}", rsp);
- L.log(Level.FINE, "Response headers: {0}", Arrays.asList(rspHeaders));
- Assert.assertTrue(rsp.trim().length() > 0);
- checkResponse(rsp, "<Chapter>3</Chapter>");
- checkResponse(rsp, "There was a man of the Pharisees, named Nicodemus, a ruler of
the Jews");
- } finally {
- wstv.clearRequestArgs(Request_Arg_Type.HEADER);
- }
- }
+ /**
+ * Test REST service invocation (POST request)
+ */
+ @Test
+ public void testRESTPOSTService() {
+ WsTesterView wstv = new WsTesterView();
+ wstv.show();
+ wstv.setRequestType(WsTesterView.Request_Type.POST);
+ wstv.setServiceURL(SERVICE_URL + "/GetBibleWordsByChapterAndVerse");
+ String requestBody = "BookTitle=John&chapter=3&Verse=1\r";
+ wstv.setRequestBody(requestBody);
+ wstv.expandSection(JBossWSUIMessages.JAXRSWSTestView2_ResponseHeaders_Section);
+ wstv.addRequestArg(Request_Arg_Type.HEADER, "Content-Type",
"application/x-www-form-urlencoded");
+ wstv.addRequestArg(Request_Arg_Type.HEADER, "Content-Length",
String.valueOf(requestBody.length()));
+ try {
+ wstv.invoke();
+ String rsp = wstv.getResponseBody();
+ String[] rspHeaders = wstv.getResponseHeaders();
+ L.log(Level.FINE, "REST response: {0}", rsp);
+ L.log(Level.FINE, "Response headers: {0}",
Arrays.asList(rspHeaders));
+ Assert.assertTrue(rsp.trim().length() > 0);
+ checkResponse(rsp,
"<Chapter>3</Chapter>");
+ checkResponse(rsp, "There was a man of the Pharisees, named Nicodemus, a
ruler of the Jews");
+ } finally {
+ wstv.clearRequestArgs(Request_Arg_Type.HEADER);
+ }
+ }
- @Test
- public void testErrorResponse() {
- WsTesterView wstv = new WsTesterView();
- wstv.show();
- wstv.setRequestType(Request_Type.GET);
-
wstv.setServiceURL("http://www.zvents.com/rest/event_update");
- wstv.invoke();
- Assert.assertEquals(0, wstv.getRequestArgs(Request_Arg_Type.PARAMETER).size());
- String rsp = wstv.getResponseBody();
- String[] rspHeaders = wstv.getResponseHeaders();
- L.log(Level.FINE, "REST response: {0}", rsp);
- L.log(Level.FINE, "Response headers: {0}", Arrays.asList(rspHeaders));
- Assert.assertTrue(rsp.trim().length() > 0);
- checkResponse(rsp, "Invalid API Key.");
- }
+ @Test
+ public void testErrorResponse() {
+ WsTesterView wstv = new WsTesterView();
+ wstv.show();
+ wstv.setRequestType(Request_Type.GET);
+
wstv.setServiceURL("http://www.zvents.com/rest/event_update");
+ wstv.invoke();
+ Assert.assertEquals(0, wstv.getRequestArgs(Request_Arg_Type.PARAMETER).size());
+ String rsp = wstv.getResponseBody();
+ String[] rspHeaders = wstv.getResponseHeaders();
+ L.log(Level.FINE, "REST response: {0}", rsp);
+ L.log(Level.FINE, "Response headers: {0}", Arrays.asList(rspHeaders));
+ Assert.assertTrue(rsp.trim().length() > 0);
+ checkResponse(rsp, "Invalid API Key.");
+ }
- private String readResource(InputStream is) {
- StringBuilder sb = new StringBuilder();
- BufferedReader br = null;
- try {
- br = new BufferedReader(new InputStreamReader(is));
- String s;
- while ((s = br.readLine()) != null) {
- sb.append(s);
- sb.append('\n');
- }
- } catch (IOException e) {
- L.log(Level.WARNING, e.getMessage(), e);
- } finally {
- if (br != null) {
- try {
- br.close();
- } catch (IOException e) {
- L.log(Level.FINEST, e.getMessage(), e);
- }
- }
- }
- return sb.toString();
- }
+ private String readResource(InputStream is) {
+ StringBuilder sb = new StringBuilder();
+ BufferedReader br = null;
+ try {
+ br = new BufferedReader(new InputStreamReader(is));
+ String s;
+ while ((s = br.readLine()) != null) {
+ sb.append(s);
+ sb.append('\n');
+ }
+ } catch (IOException e) {
+ L.log(Level.WARNING, e.getMessage(), e);
+ } finally {
+ if (br != null) {
+ try {
+ br.close();
+ } catch (IOException e) {
+ L.log(Level.FINEST, e.getMessage(), e);
+ }
+ }
+ }
+ return sb.toString();
+ }
- private void checkResponse(String rsp, String expContent) {
- try {
- Assert.assertTrue(rsp, rsp.contains(expContent));
- } catch (AssertionError t) {
- if (rsp.contains("503")) {
- L.log(Level.WARNING, "Service Unavailable: {0}", SERVICE_URL);
- } else {
- throw t;
- }
- }
- }
+ private void checkResponse(String rsp, String expContent) {
+ try {
+ Assert.assertTrue(rsp, rsp.contains(expContent));
+ } catch (AssertionError t) {
+ if (rsp.contains("503")) {
+ L.log(Level.WARNING, "Service Unavailable: {0}", SERVICE_URL);
+ } else {
+ throw t;
+ }
+ }
+ }
- private File prepareWsdl() {
- String[] files = { "imported.wsdl", "original.wsdl",
"schema.xsd" };
- File targetFolder = new File(System.getProperty("java.io.tmpdir"),
- "WsTesterTest");
- targetFolder.mkdirs();
- for (String file : files) {
- InputStream is = WsTesterTest.class.getResourceAsStream("/wsdl/"
- + file);
- File target = new File(targetFolder, file);
- if (target.exists()) {
- target.delete();
- }
- try {
- OutputStream os = new BufferedOutputStream(
- new FileOutputStream(target));
- copy(is, os);
- } catch (FileNotFoundException fnfe) {
- throw new RuntimeException(fnfe);
- }
- }
- return targetFolder;
- }
+ private File prepareWsdl() {
+ String[] files = {"imported.wsdl", "original.wsdl",
"schema.xsd"};
+ File targetFolder = new File(System.getProperty("java.io.tmpdir"),
+ "WsTesterTest");
+ targetFolder.mkdirs();
+ for (String file : files) {
+ InputStream is = WsTesterTest.class.getResourceAsStream("/wsdl/"
+ + file);
+ File target = new File(targetFolder, file);
+ if (target.exists()) {
+ target.delete();
+ }
+ try {
+ OutputStream os = new BufferedOutputStream(
+ new FileOutputStream(target));
+ copy(is, os);
+ } catch (FileNotFoundException fnfe) {
+ throw new RuntimeException(fnfe);
+ }
+ }
+ return targetFolder;
+ }
- private void copy(InputStream in, OutputStream out) {
- byte[] buf = new byte[1024];
- int len;
- try {
- while ((len = in.read(buf)) > 0) {
- out.write(buf, 0, len);
- }
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- } finally {
- if (in != null) {
- try {
- in.close();
- } catch (IOException ioe2) {
- L.log(Level.WARNING, ioe2.getMessage(), ioe2);
- }
- }
- if (out != null) {
- try {
- out.close();
- } catch (IOException ioe2) {
- L.log(Level.WARNING, ioe2.getMessage(), ioe2);
- }
- }
- }
- }
+ private void copy(InputStream in, OutputStream out) {
+ byte[] buf = new byte[1024];
+ int len;
+ try {
+ while ((len = in.read(buf)) > 0) {
+ out.write(buf, 0, len);
+ }
+ } catch (IOException ioe) {
+ throw new RuntimeException(ioe);
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException ioe2) {
+ L.log(Level.WARNING, ioe2.getMessage(), ioe2);
+ }
+ }
+ if (out != null) {
+ try {
+ out.close();
+ } catch (IOException ioe2) {
+ L.log(Level.WARNING, ioe2.getMessage(), ioe2);
+ }
+ }
+ }
+ }
- private void selectPort(WsTesterView wstv, String portName) {
- SelectWSDLDialog dlg = wstv.getFromWSDL();
- try {
- dlg.openURL();
- SWTBotShell sh = bot.activeShell();
- sh.bot().text().typeText(SERVICE_URL + "?WSDL");
- sh.bot().button("OK").click();
- bot.sleep(1000);
- Assert.assertEquals(SERVICE_URL + "?WSDL", dlg.getURI());
- List<String> items = dlg.getServices();
- L.log(Level.FINE, "Services: {0}", items);
- Assert.assertEquals(1, items.size());
- Assert.assertTrue(items.contains("BibleWebservice"));
- items = dlg.getPorts();
- L.log(Level.FINE, "Ports: {0}", items);
- Assert.assertEquals(2, items.size());
- Assert.assertTrue(items.contains("BibleWebserviceSoap"));
- Assert.assertTrue(items.contains("BibleWebserviceSoap12"));
- dlg.selectPort(portName);
- items = dlg.getOperations();
- L.log(Level.FINE, "Operations: {0}", items);
- Assert.assertEquals(4, items.size());
- Assert.assertTrue(items.contains("GetBookTitles"));
- Assert.assertTrue(items.contains("GetBibleWordsByChapterAndVerse"));
- dlg.selectOperation("GetBibleWordsbyKeyWord");
- dlg.ok();
-
Assert.assertEquals("http://www.webservicex.net/BibleWebservice.asmx...;,
wstv.getServiceURL());
- } finally {
- if (dlg.isOpen()) {
- dlg.close();
- }
- } }
+ private void selectPort(WsTesterView wstv, String portName) {
+ SelectWSDLDialog dlg = wstv.getFromWSDL();
+ try {
+ dlg.openURL();
+ SWTBotShell sh = bot.activeShell();
+ sh.bot().text().typeText(SERVICE_URL + "?WSDL");
+ sh.bot().button("OK").click();
+ bot.sleep(1000);
+ Assert.assertEquals(SERVICE_URL + "?WSDL", dlg.getURI());
+ List<String> items = dlg.getServices();
+ L.log(Level.FINE, "Services: {0}", items);
+ Assert.assertEquals(1, items.size());
+ Assert.assertTrue(items.contains("BibleWebservice"));
+ items = dlg.getPorts();
+ L.log(Level.FINE, "Ports: {0}", items);
+ Assert.assertEquals(2, items.size());
+ Assert.assertTrue(items.contains("BibleWebserviceSoap"));
+ Assert.assertTrue(items.contains("BibleWebserviceSoap12"));
+ dlg.selectPort(portName);
+ items = dlg.getOperations();
+ L.log(Level.FINE, "Operations: {0}", items);
+ Assert.assertEquals(4, items.size());
+ Assert.assertTrue(items.contains("GetBookTitles"));
+
Assert.assertTrue(items.contains("GetBibleWordsByChapterAndVerse"));
+ dlg.selectOperation("GetBibleWordsbyKeyWord");
+ dlg.ok();
+
Assert.assertEquals("http://www.webservicex.net/BibleWebservice.asmx...;,
wstv.getServiceURL());
+ } finally {
+ if (dlg.isOpen()) {
+ dlg.close();
+ }
+ }
+ }
}
Modified:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/uiutils/wizards/WsWizardBase.java
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/uiutils/wizards/WsWizardBase.java 2011-07-15
19:10:20 UTC (rev 32949)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/uiutils/wizards/WsWizardBase.java 2011-07-15
19:26:20 UTC (rev 32950)
@@ -25,105 +25,117 @@
public abstract class WsWizardBase extends Wizard {
- public enum Slider_Level {
- TEST, START, INSTALL, DEPLOY, ASSEMBLE, DEVELOP, NO_CLIENT;
-
- @Override
- public String toString() {
- return name().charAt(0) + name().substring(1).toLowerCase();
- }
- }
-
- public WsWizardBase() {
- super();
- }
-
- public WsWizardBase(Shell shell) {
- super(shell);
- }
+ public enum Slider_Level {
+ TEST, START, INSTALL, DEPLOY, ASSEMBLE, DEVELOP, NO_CLIENT;
- public WsWizardBase setSource(String s) {
- SWTBotCombo c = bot().comboBoxWithLabel(getSourceComboLabel());
- c.typeText(s);
- return this;
- }
+ @Override
+ public String toString() {
+ return name().charAt(0) + name().substring(1).toLowerCase();
+ }
+ }
- public WsWizardBase setServerRuntime(String name) {
- setServerRuntime(name, 0);
- return this;
- }
+ public WsWizardBase() {
+ super();
+ }
- public WsWizardBase setWebServiceRuntime(String name) {
- setWebServiceRuntime(name, 0);
- return this;
- }
+ public WsWizardBase(Shell shell) {
+ super(shell);
+ }
- protected abstract String getSourceComboLabel();
-
- protected WsWizardBase setServerRuntime(String name, int idx) {
- findLink("Server runtime:").get(idx).click();
- SWTBotShell sh = bot().activeShell();
- SWTBotTree tree = sh.bot().treeInGroup("Server runtime:");
- tree.expandNode("Existing Servers", name).select();
- sh.bot().button("OK").click();
- sleep(50);
- return this;
- }
+ public WsWizardBase setSource(String s) {
+ SWTBotCombo c = bot().comboBoxWithLabel(getSourceComboLabel());
+ c.typeText(s);
+ return this;
+ }
- protected WsWizardBase setWebServiceRuntime(String name, int idx) {
- findLink("Web service runtime:").get(idx).click();
- sleep(100);
- SWTBotShell sh = bot().activeShell();
- sleep(100);
- SWTBotTree tree = sh.bot().treeInGroup("Web service runtime:");
- tree.select(name);
- sh.bot().button("OK").click();
- sleep(50);
- return this;
- }
+ public WsWizardBase setServerRuntime(String name) {
+ setServerRuntime(name, 0);
+ return this;
+ }
- protected WsWizardBase setTargetProject(String label, String name) {
- findLink(label).get(0).click();
- SWTBotShell sh = bot().activeShell();
- sh.bot().comboBoxWithLabel(label).setSelection(name);
- sh.bot().button("OK").click();
- sleep(50);
- return this;
- }
+ public WsWizardBase setWebServiceRuntime(String name) {
+ setWebServiceRuntime(name, 0);
+ return this;
+ }
- public WsWizardBase setSlider(Slider_Level level, int idx) {
- scale(idx).setSelection(level.ordinal());
- return this;
- }
-
- //second panel
- public WsWizardBase setPackageName(String pkg) {
- bot().textWithLabel("Package name").typeText(pkg);
- return this;
- }
+ protected abstract String getSourceComboLabel();
+ protected WsWizardBase setServerRuntime(String name, int idx) {
+ findLink("Server runtime:").get(idx).click();
+ SWTBotShell sh = bot().activeShell();
+ SWTBotTree tree = sh.bot().treeInGroup("Server runtime:");
+ tree.expandNode("Existing Servers", name).select();
+ sh.bot().button("OK").click();
+ sleep(50);
+ return this;
+ }
- protected boolean isScaleEnabled(int i) {
- return scale(i).isEnabled();
- }
-
- private List<SWTBotHyperlinkExt> findLink(String text) {
- List<? extends Hyperlink> widgets =
bot().widgets(WidgetMatcherFactory.widgetOfType(Hyperlink.class));
- List<SWTBotHyperlinkExt> ret = new ArrayList<SWTBotHyperlinkExt>();
- for (Hyperlink h: widgets) {
- if (h.getText().indexOf(text) > -1) {
- ret.add(new SWTBotHyperlinkExt(h));
- }
- }
- return ret;
- }
+ protected WsWizardBase setWebServiceRuntime(String name, int idx) {
+ findLink("Web service runtime:").get(idx).click();
+ sleep(100);
+ SWTBotShell sh = bot().activeShell();
+ sleep(100);
+ SWTBotTree tree = sh.bot().treeInGroup("Web service runtime:");
+ tree.select(name);
+ sh.bot().button("OK").click();
+ sleep(50);
+ return this;
+ }
- private SWTBotScaleExt scale(int i) {
- List<? extends Scale> widgets =
bot().widgets(WidgetMatcherFactory.widgetOfType(Scale.class));
- List<SWTBotScaleExt> ret = new ArrayList<SWTBotScaleExt>();
- for (Scale s: widgets) {
- ret.add(new SWTBotScaleExt(s));
- }
- return ret.get(i);
- }
+ protected WsWizardBase setTargetProject(String label, String name) {
+ findLink(label).get(0).click();
+ SWTBotShell sh = bot().activeShell();
+ SWTBotCombo c = sh.bot().comboBoxWithLabel(label);
+ String[] items = c.items();
+ boolean found = false;
+ for (String item : items) {
+ if (item.equals(name)) {
+ found = true;
+ break;
+ }
+ }
+ if (found) {
+ c.setSelection(name);
+ } else {
+ c.setText(name);
+ }
+ sh.bot().button("OK").click();
+ sleep(50);
+ return this;
+ }
+
+ public WsWizardBase setSlider(Slider_Level level, int idx) {
+ scale(idx).setSelection(level.ordinal());
+ return this;
+ }
+
+ //second panel
+ public WsWizardBase setPackageName(String pkg) {
+ bot().textWithLabel("Package name").typeText(pkg);
+ return this;
+ }
+
+ protected boolean isScaleEnabled(int i) {
+ return scale(i).isEnabled();
+ }
+
+ private List<SWTBotHyperlinkExt> findLink(String text) {
+ List<? extends Hyperlink> widgets =
bot().widgets(WidgetMatcherFactory.widgetOfType(Hyperlink.class));
+ List<SWTBotHyperlinkExt> ret = new ArrayList<SWTBotHyperlinkExt>();
+ for (Hyperlink h : widgets) {
+ if (h.getText().indexOf(text) > -1) {
+ ret.add(new SWTBotHyperlinkExt(h));
+ }
+ }
+ return ret;
+ }
+
+ private SWTBotScaleExt scale(int i) {
+ List<? extends Scale> widgets =
bot().widgets(WidgetMatcherFactory.widgetOfType(Scale.class));
+ List<SWTBotScaleExt> ret = new ArrayList<SWTBotScaleExt>();
+ for (Scale s : widgets) {
+ ret.add(new SWTBotScaleExt(s));
+ }
+ return ret.get(i);
+ }
}
Modified:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/widgets/WsTesterView.java
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/widgets/WsTesterView.java 2011-07-15
19:10:20 UTC (rev 32949)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/widgets/WsTesterView.java 2011-07-15
19:26:20 UTC (rev 32950)
@@ -14,12 +14,10 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.logging.Logger;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
import org.eclipse.swtbot.swt.finder.SWTBot;
import org.eclipse.swtbot.swt.finder.results.BoolResult;
@@ -27,7 +25,6 @@
import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotCombo;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotLabel;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
import org.eclipse.ui.forms.widgets.ExpandableComposite;
import org.eclipse.ui.internal.WorkbenchMessages;
import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
@@ -39,11 +36,11 @@
@SuppressWarnings("restriction")
public class WsTesterView extends ViewBase {
- private static final Bundle WSUI_BUNDLE =
Platform.getBundle("org.jboss.tools.ws.ui");
+ private static final Bundle WSUI_BUNDLE = Platform
+ .getBundle("org.jboss.tools.ws.ui");
private static boolean max = false;
public enum Request_Type {
-
JAX_WS, GET, POST, PUT, DELETE;
@Override
@@ -63,9 +60,8 @@
public enum Request_Arg_Type {
- HEADER(JBossWSUIMessages.JAXRSWSTestView2_Headers_Section),
- PARAMETER(JBossWSUIMessages.JAXRSWSTestView2_Parameters_Section);
-
+ HEADER(JBossWSUIMessages.JAXRSWSTestView2_Headers_Section), PARAMETER(
+ JBossWSUIMessages.JAXRSWSTestView2_Parameters_Section);
private String type;
private Request_Arg_Type(String s) {
@@ -94,7 +90,8 @@
public List<String> getGroupPath() {
// JBoss Tools Web Services
- return
Collections.singletonList(getStringFromBundle("%test.view.category.name"));
+ return Collections
+ .singletonList(getStringFromBundle("%test.view.category.name"));
}
};
}
@@ -104,8 +101,8 @@
SWTBotView b = super.show();
// maximize tester view
if (!max) {
- bot.menu(IDEWorkbenchMessages.Workbench_window).menu(
- WorkbenchMessages.MaximizePartAction_text).click();
+ bot.menu(IDEWorkbenchMessages.Workbench_window)
+ .menu(WorkbenchMessages.MaximizePartAction_text).click();
max = true;
}
return b;
@@ -131,17 +128,20 @@
public void setRequestBody(String s) {
// Body Text
- bot().textWithLabel(JBossWSUIMessages.JAXRSWSTestView2_BodyText_Section).setText(s);
+ bot().textWithLabel(JBossWSUIMessages.JAXRSWSTestView2_BodyText_Section)
+ .setText(s);
}
public String getRequestBody() {
// Body Text
- return
bot().textWithLabel(JBossWSUIMessages.JAXRSWSTestView2_BodyText_Section).getText();
+ return bot().textWithLabel(
+ JBossWSUIMessages.JAXRSWSTestView2_BodyText_Section).getText();
}
public void expandSection(String name) {
class X extends SWTBotLabel {
- X(Label y){
+
+ X(Label y) {
super(y);
}
@@ -149,10 +149,12 @@
boolean expanded = syncExec(new BoolResult() {
public Boolean run() {
- return ((ExpandableComposite) widget.getParent()).isExpanded();
+ return ((ExpandableComposite) widget.getParent())
+ .isExpanded();
}
});
- assert !expanded : "Section '" + getText() + "' is already
expanded";
+ assert !expanded : "Section '" + getText()
+ + "' is already expanded";
click(true);
}
}
@@ -197,21 +199,29 @@
}
public String getResponseBody() {
- return
bot().textWithLabel(JBossWSUIMessages.JAXRSWSTestView2_ResponseBody_Section).getText();
+ return bot().textWithLabel(
+ JBossWSUIMessages.JAXRSWSTestView2_ResponseBody_Section)
+ .getText();
}
public String[] getResponseHeaders() {
- return
bot().listWithLabel(JBossWSUIMessages.JAXRSWSTestView2_ResponseHeaders_Section).getItems();
+ return bot().listWithLabel(
+ JBossWSUIMessages.JAXRSWSTestView2_ResponseHeaders_Section)
+ .getItems();
}
public void invoke() {
- bot().toolbarButtonWithTooltip(JBossWSUIMessages.JAXRSWSTestView2_Go_Tooltip).click();
- bot.waitWhile(Conditions.shellIsActive(JBossWSUIMessages.JAXRSWSTestView_Invoke_Label),
120000);
+ bot().toolbarButtonWithTooltip(
+ JBossWSUIMessages.JAXRSWSTestView2_Go_Tooltip).click();
+ bot.waitWhile(Conditions
+ .shellIsActive(JBossWSUIMessages.JAXRSWSTestView_Invoke_Label),
+ 120000);
bot.sleep(500);
}
public SelectWSDLDialog getFromWSDL() {
- bot().toolbarButtonWithTooltip(JBossWSUIMessages.JAXRSWSTestView2_GetFromWSDL_Tooltip).click();
+ bot().toolbarButtonWithTooltip(
+ JBossWSUIMessages.JAXRSWSTestView2_GetFromWSDL_Tooltip).click();
return new SelectWSDLDialog(bot.activeShell().widget);
}
Modified:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/wtp/BottomUpWSTest.java
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/wtp/BottomUpWSTest.java 2011-07-15
19:10:20 UTC (rev 32949)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/wtp/BottomUpWSTest.java 2011-07-15
19:26:20 UTC (rev 32950)
@@ -10,11 +10,8 @@
******************************************************************************/
package org.jboss.tools.ws.ui.bot.test.wtp;
-import java.text.MessageFormat;
-
import org.jboss.tools.ui.bot.ext.config.Annotations.SWTBotTestRequires;
import org.jboss.tools.ui.bot.ext.config.Annotations.Server;
-import org.jboss.tools.ws.ui.bot.test.uiutils.wizards.WebServiceWizard.Service_Type;
import org.jboss.tools.ws.ui.bot.test.uiutils.wizards.WsWizardBase.Slider_Level;
import org.junit.Test;
@@ -90,11 +87,9 @@
setLevel(Slider_Level.TEST);
bottomUpJbossWebService();
}
-
- private void bottomUpJbossWebService() {
- String s =
readStream(BottomUpWSTest.class.getResourceAsStream("/resources/jbossws/ClassA.java.ws"));
- String src = MessageFormat.format(s, getWsPackage(), getWsName());
- createService(Service_Type.BOTTOM_UP, getWsPackage() + "." + getWsName(),
getLevel(), null, src);
+
+ protected void bottomUpJbossWebService() {
+ bottomUpJbossWebService(BottomUpWSTest.class.getResourceAsStream("/resources/jbossws/ClassA.java.ws"));
switch (getLevel()) {
case DEVELOP:
case ASSEMBLE:
@@ -106,5 +101,4 @@
// checkService(getWSDLUrl(svcName.substring(svcName.lastIndexOf(".") + 1)),
QName service, QName port, String msg, String rsp)
// servers.removeAllProjectsFromServer(configuredState.getServer().name);
}
-
}
Modified:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/wtp/TopDownWSTest.java
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/wtp/TopDownWSTest.java 2011-07-15
19:10:20 UTC (rev 32949)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/wtp/TopDownWSTest.java 2011-07-15
19:26:20 UTC (rev 32950)
@@ -10,11 +10,8 @@
******************************************************************************/
package org.jboss.tools.ws.ui.bot.test.wtp;
-import java.text.MessageFormat;
-
import org.jboss.tools.ui.bot.ext.config.Annotations.SWTBotTestRequires;
import org.jboss.tools.ui.bot.ext.config.Annotations.Server;
-import org.jboss.tools.ws.ui.bot.test.uiutils.wizards.WebServiceWizard.Service_Type;
import org.jboss.tools.ws.ui.bot.test.uiutils.wizards.WsWizardBase.Slider_Level;
import org.junit.Test;
@@ -101,18 +98,8 @@
topDownWS("ws." + getWsName().toLowerCase());
}
- private void topDownWS(String pkg) {
- String s =
readStream(TopDownWSTest.class.getResourceAsStream("/resources/jbossws/ClassB.wsdl"));
- String[] tns = getWsPackage().split("\\.");
- StringBuilder sb = new StringBuilder();
- for (int i = tns.length - 1; i > 0; i--) {
- sb.append(tns[i]);
- sb.append(".");
- }
- sb.append(tns[0]);
- String src = MessageFormat.format(s, sb.toString(), getWsName());
- createService(Service_Type.TOP_DOWN, "/" + getWsProjectName() +
"/src/" + getWsName() + ".wsdl", getLevel(), pkg, src);
-
+ protected void topDownWS(String pkg) {
+ topDownWS(TopDownWSTest.class.getResourceAsStream("/resources/jbossws/ClassB.wsdl"),
pkg);
switch (getLevel()) {
case DEVELOP:
case ASSEMBLE:
@@ -123,5 +110,4 @@
assertServiceDeployed(getWSDLUrl(), 10000);
// servers.removeAllProjectsFromServer(configuredState.getServer().name);
}
-
}
Modified:
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/wtp/WSTestBase.java
===================================================================
---
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/wtp/WSTestBase.java 2011-07-15
19:10:20 UTC (rev 32949)
+++
trunk/ws/tests/org.jboss.tools.ws.ui.bot.test/src/org/jboss/tools/ws/ui/bot/test/wtp/WSTestBase.java 2011-07-15
19:26:20 UTC (rev 32950)
@@ -10,20 +10,17 @@
******************************************************************************/
package org.jboss.tools.ws.ui.bot.test.wtp;
-import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.StringWriter;
-import java.io.Writer;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.MessageFormat;
+import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
+import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
@@ -75,7 +72,7 @@
}
}
- private boolean projectExists(String name) {
+ protected boolean projectExists(String name) {
return projectExplorer.existsResource(name);
}
@@ -86,6 +83,7 @@
@AfterClass
public static void cleanAll() {
+ L.info("cleanAll");
projectExplorer.deleteAllProjects();
}
@@ -114,6 +112,8 @@
new NewFileWizardAction().run().selectTemplate("Web Services", "Web
Service Client").next();
WebServiceClientWizard w = new WebServiceClientWizard();
w.setSource(wsdl);
+ util.waitForNonIgnoredJobs();
+ bot.sleep(1000);
w.setSlider(level, 0);
w.setServerRuntime(configuredState.getServer().name);
w.setWebServiceRuntime("JBossWS");
@@ -195,13 +195,14 @@
}
}
- private SWTBotEditor createClass(String pkg, String cName) {
+ protected SWTBotEditor createClass(String pkg, String cName) {
new NewFileWizardAction().run().selectTemplate("Java",
"Class").next();
Wizard w = new Wizard();
w.bot().textWithLabel("Package:").setText(pkg);
w.bot().textWithLabel("Name:").setText(cName);
w.bot().textWithLabel("Source folder:").setText(getWsProjectName() +
"/src");
w.finish();
+ bot.sleep(4500);
return bot.editorByTitle(cName + ".java");
}
@@ -237,6 +238,25 @@
projectExplorer.selectProject(name);
}
+ protected void bottomUpJbossWebService(InputStream javasrc) {
+ String s = readStream(javasrc);
+ String src = MessageFormat.format(s, getWsPackage(), getWsName());
+ createService(Service_Type.BOTTOM_UP, getWsPackage() + "." + getWsName(),
getLevel(), null, src);
+ }
+
+ protected void topDownWS(InputStream input, String pkg) {
+ String s = readStream(input);
+ String[] tns = getWsPackage().split("\\.");
+ StringBuilder sb = new StringBuilder();
+ for (int i = tns.length - 1; i > 0; i--) {
+ sb.append(tns[i]);
+ sb.append(".");
+ }
+ sb.append(tns[0]);
+ String src = MessageFormat.format(s, sb.toString(), getWsName());
+ createService(Service_Type.TOP_DOWN, "/" + getWsProjectName() +
"/src/" + getWsName() + ".wsdl", getLevel(), pkg, src);
+ }
+
protected void assertServiceDeployed(String wsdlURL) {
assertServiceDeployed(wsdlURL, 5000);
}
@@ -294,26 +314,43 @@
}
protected void assertServiceResponseToClient(String startServlet, String response) {
- InputStream is = null;
- try {
- URL u = new URL(startServlet);
- is = u.openStream();
- String rsp = readStream(is);
- assertContains(response, rsp);
- } catch (MalformedURLException e1) {
- throw new RuntimeException(e1);
- } catch (IOException e) {
- throw new RuntimeException(e);
- } finally {
- if (is != null) {
- try {
- is.close();
- } catch (IOException e) {
- //ignore
- e.printStackTrace();
+ assertContains(response, getPage(startServlet, 15000));
+ }
+
+ protected String getPage(String url, long timeout) {
+ long t = System.currentTimeMillis();
+ int rsp = -1;
+ String page = null;
+ while (t + timeout > System.currentTimeMillis()) {
+ HttpURLConnection connection = null;
+ try {
+ URL u = new URL(url);
+ connection = (HttpURLConnection) u.openConnection();
+ rsp = connection.getResponseCode();
+ if (rsp == HttpURLConnection.HTTP_OK) {
+ page = new
Scanner(connection.getInputStream()).useDelimiter("\\A").next();
+ break;
+ } else {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ //ignore
+ }
+ L.info("retrying...");
}
+ } catch (MalformedURLException e1) {
+ throw new RuntimeException(e1);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ } finally {
+ if (connection != null) {
+ connection.disconnect();
+ }
}
}
+ L.info("done after: " + (System.currentTimeMillis() - t) + "ms.");
+ assertEquals("cannot connect to '" + url +
"'", HttpURLConnection.HTTP_OK, rsp);
+ return page;
}
public static String getSoapRequest(String body) {
@@ -321,37 +358,29 @@
}
protected String readStream(InputStream is) {
- Reader r = null;
- Writer w = null;
+ //we don't care about performance in tests too much, so this should be OK
+ return new Scanner(is).useDelimiter("\\A").next();
+ }
+
+ protected String readFile(IFile f) {
+ String content = null;
+ InputStream is = null;
try {
- char[] buffer = new char[1024];
- r = new BufferedReader(new InputStreamReader(is, "UTF-8"));
- w = new StringWriter();
- int n;
- while ((n = r.read(buffer)) != -1) {
- w.write(buffer, 0, n);
- }
- } catch (IOException e) {
- L.log(Level.WARNING, e.getMessage(), e);
+ is = f.getContents();
+ content = readStream(is);
+ } catch (CoreException e) {
+ e.printStackTrace();
+ throw new RuntimeException(e);
} finally {
- if (r != null) {
+ if (is != null) {
try {
- r.close();
+ is.close();
} catch (IOException e) {
- //ignore
- L.log(Level.WARNING, e.getMessage(), e);
+ // ignore
}
}
- if (w != null) {
- try {
- w.close();
- } catch (IOException e) {
- //ignore
- L.log(Level.WARNING, e.getMessage(), e);
- }
- }
}
- return w != null ? w.toString() : "";
+ return content;
}
protected void runProject(String project) {