Author: rsearls
Date: 2015-01-03 12:16:18 -0500 (Sat, 03 Jan 2015)
New Revision: 19312
Modified:
stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/java/org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefClientTestCase.java
Log:
arquillian migration serviceref test
Modified:
stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/java/org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefClientTestCase.java
===================================================================
---
stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/java/org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefClientTestCase.java 2015-01-03
16:57:47 UTC (rev 19311)
+++
stack/cxf/branches/arquillian/modules/testsuite/shared-tests/src/test/java/org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefClientTestCase.java 2015-01-03
17:16:18 UTC (rev 19312)
@@ -21,6 +21,7 @@
*/
package org.jboss.test.ws.jaxws.samples.serviceref;
+import java.io.File;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
@@ -29,7 +30,21 @@
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
-import junit.framework.Test;
+import org.jboss.wsf.test.JBossWSTestHelper;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.jboss.arquillian.container.test.api.Deployer;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.RunAsClient;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.test.api.ArquillianResource;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.shrinkwrap.api.exporter.ZipExporter;
+import org.jboss.shrinkwrap.api.spec.EnterpriseArchive;
+import org.jboss.shrinkwrap.api.Archive;
import org.jboss.ws.common.IOUtils;
import org.jboss.wsf.test.JBossWSTest;
@@ -42,23 +57,74 @@
* @author Thomas.Diesler(a)jboss.com
* @author <a href="mailto:ropalka@redhat.com">Richard Opalka</a>
*/
+(a)RunWith(Arquillian.class)
public class ServiceRefClientTestCase extends JBossWSTest
{
- public final String TARGET_ENDPOINT_ADDRESS = "http://" + getServerHost() +
":8080/jaxws-samples-serviceref";
+ private static String fullAppclientDepName;
+ @ArquillianResource
+ private URL baseURL;
- public static Test suite()
+ @ArquillianResource
+ Deployer deployer;
+
+ @Deployment(name="jaxws-samples-serviceref", testable = false)
+ public static WebArchive createClientDeployment() {
+ WebArchive archive = ShrinkWrap.create(WebArchive.class,
"jaxws-samples-serviceref.war");
+ archive
+ .addManifest()
+ .addClass(org.jboss.test.ws.jaxws.samples.serviceref.Endpoint.class)
+ .addClass(org.jboss.test.ws.jaxws.samples.serviceref.EndpointImpl.class)
+ .addClass(org.jboss.test.ws.jaxws.samples.serviceref.EndpointService.class)
+ .setWebXML(
+ new File(JBossWSTestHelper.getTestResourcesDir() +
"/jaxws/samples/serviceref/WEB-INF/web.xml"));
+ return archive;
+ }
+
+ private static final String DEPLOYMENT =
"jaxws-samples-serviceref-appclient";
+
+ @Deployment(name = DEPLOYMENT, testable = false, managed = false)
+ public static EnterpriseArchive createDeployment1() {
+ JavaArchive archive1 = ShrinkWrap.create(JavaArchive.class,
"jaxws-samples-serviceref-appclient.jar");
+ archive1
+ .setManifest(
+ new StringAsset("Manifest-Version: 1.0\n"
+ + "main-class:
org.jboss.test.ws.jaxws.samples.serviceref.ApplicationClient\n"))
+ .addClass(org.jboss.test.ws.jaxws.samples.serviceref.ApplicationClient.class)
+ .addClass(org.jboss.test.ws.jaxws.samples.serviceref.Endpoint.class)
+ .addClass(org.jboss.test.ws.jaxws.samples.serviceref.EndpointService.class)
+ .addAsManifestResource(
+ new File(JBossWSTestHelper.getTestResourcesDir()
+ + "/jaxws/samples/serviceref/META-INF/application-client.xml"),
"application-client.xml")
+ .addAsManifestResource(
+ new File(JBossWSTestHelper.getTestResourcesDir()
+ + "/jaxws/samples/serviceref/META-INF/wsdl/Endpoint.wsdl"),
"wsdl/Endpoint.wsdl");
+ writeToDisk(archive1);
+
+ EnterpriseArchive archive = ShrinkWrap.create(EnterpriseArchive.class, DEPLOYMENT +
".ear");
+ archive.addManifest().addAsResource(new File(JBossWSTestHelper.getTestArchiveDir(),
"jaxws-samples-serviceref-appclient.jar"));
+ writeToDisk(archive);
+ fullAppclientDepName = archive.getName() + "#" + archive1.getName();
+ return archive;
+ }
+
+ public static void writeToDisk(Archive archive)
{
- return new JBossWSTestSetup(ServiceRefClientTestCase.class,
DeploymentArchives.getServerArchiveFilename());
+ File file = new File(JBossWSTestHelper.getTestArchiveDir(), archive.getName());
+ archive.as(ZipExporter.class).exportTo(file, true);
}
+ @Test
+ @RunAsClient
public void testWSDLAccess() throws Exception
{
- URL wsdlURL = new URL(TARGET_ENDPOINT_ADDRESS + "?wsdl");
+ URL wsdlURL = new URL(baseURL + "?wsdl");
InputStream inputStream = wsdlURL.openStream();
assertNotNull(inputStream);
IOUtils.readAndCloseStream(inputStream);
}
+ @Test
+ @RunAsClient
public void testDynamicProxy() throws Exception
{
URL wsdlURL =
getResourceURL("jaxws/samples/serviceref/META-INF/wsdl/Endpoint.wsdl");
@@ -71,12 +137,18 @@
assertEquals(request, response);
}
+ /** todo:
+ * Arquillian does not have like function to deploy client app.
+ * Need to create functionality to run this test in aqruillian.
+ **/
+ @Test
+ @RunAsClient
public void testApplicationClient() throws Exception
{
try
{
final OutputStream appclientOS = new ByteArrayOutputStream();
-
JBossWSTestHelper.deployAppclient(DeploymentArchives.getAppclientEarArchiveFilename() +
"#" + DeploymentArchives.getAppclientJarArchiveFilename(), appclientOS,
"Hello World!");
+ JBossWSTestHelper.deployAppclient(fullAppclientDepName, appclientOS, "Hello
World!");
// wait till appclient stops
String appclientLog = appclientOS.toString();
while (!appclientLog.contains("stopped in")) {
@@ -91,7 +163,8 @@
}
finally
{
-
JBossWSTestHelper.undeployAppclient(DeploymentArchives.getAppclientEarArchiveFilename() +
"#" + DeploymentArchives.getAppclientJarArchiveFilename(), false);
+ JBossWSTestHelper.undeployAppclient(fullAppclientDepName, false);
}
}
+
}