Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

arquillian - update bom version, use upstream version for jboss-as-arqui... #454

Merged
merged 9 commits into from Mar 19, 2014
40 changes: 40 additions & 0 deletions arquillian-deployment-scenario-provider/pom.xml
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.resteasy</groupId>
<artifactId>arquillian-deployment-scenario-provider</artifactId>
<version>1.0.0.Final</version>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
<version>1.0.2.Final</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>


<dependencies>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-container-spi</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.test</groupId>
<artifactId>arquillian-test-spi</artifactId>
</dependency>
</dependencies>

</project>
@@ -0,0 +1,28 @@
package org.jboss.resteasy.arquillian.extension;

import java.lang.annotation.Annotation;

import org.jboss.arquillian.container.spi.client.deployment.DeploymentScenario;
import org.jboss.arquillian.core.api.Instance;
import org.jboss.arquillian.core.api.annotation.Inject;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.arquillian.test.spi.enricher.resource.ResourceProvider;

public class DeploymentScenarioProvider implements ResourceProvider
{
@Inject
private Instance<DeploymentScenario> deploymentScenario;

@Override
public Object lookup(ArquillianResource resource, Annotation... qualifiers)
{
return deploymentScenario.get();
}

@Override
public boolean canProvide(Class<?> type)
{
return DeploymentScenario.class.isAssignableFrom(type);
}

}
@@ -0,0 +1,16 @@
package org.jboss.resteasy.arquillian.extension;

import org.jboss.arquillian.core.spi.LoadableExtension;
import org.jboss.arquillian.test.spi.enricher.resource.ResourceProvider;

public class DeploymentScenarioProviderExtension implements LoadableExtension {

@Override
public void register(ExtensionBuilder builder) {
builder.service(ResourceProvider.class, DeploymentScenarioProvider.class);
}

}



@@ -0,0 +1 @@
org.jboss.resteasy.arquillian.extension.DeploymentScenarioProviderExtension
11 changes: 11 additions & 0 deletions arquillian/README.md
Expand Up @@ -28,6 +28,17 @@ To run multiple tests at once append list of artifact ids of modules to test -pl
eg. mvn verify -fn -Djboss730 -Djboss.home=/home/development/JBEAP-6.2.0.GA/jboss-eap-6.2 -pl :RESTEASY-736,:RESTEASY-752,:RESTEASY-760


Debugging JBoss AS in IDE
run test with following VM arguments to be able to start remote debugging on port 8787:

-Djboss.home=YOUR_PATH_TO_JBOSS
-Djboss.options="-Xmx512m -XX:MaxPermSize=128m -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"

Another handy options:

-Djboss.socket.binding.port-offset=1000
-DallowConnectingToRunningServer=true

Known failures
RESTEASY-736 fails for Jboss AS 7.1, EAP 6.0, 6.1.x, 6.2.x
RESTEASY-752 fails for Jboss AS 7.1, EAP 6.0
Expand Down
80 changes: 0 additions & 80 deletions arquillian/RESTEASY-736/RESTEASY-736-jetty.iml

This file was deleted.

Expand Up @@ -31,11 +31,11 @@ public void run()
{
try
{
System.out.println("TestResource: async thread started");
System.out.println("TestResource test async thread started, timeout 5000, sleep 10000");
Thread.sleep(10000);
Response jaxrs = Response.ok("test").type(MediaType.TEXT_PLAIN).build();
response.setResponse(jaxrs);
System.out.println("TestResource: async thread finished");
System.out.println("TestResource test async thread finished");
}
catch (Exception e)
{
Expand All @@ -45,7 +45,7 @@ public void run()
};
t.start();
}

@GET
@Path("default")
public void defalt(final @Suspend AsynchronousResponse response)
Expand All @@ -57,11 +57,12 @@ public void run()
{
try
{
System.out.println("TestResource: async thread started");
Thread.sleep(35000); // Jetty async timeout defaults to 30000.
int millis = getDefaultTimeout() + 5000;
System.out.println("TestResource default async thread started, timeout default, sleep " + millis);
Thread.sleep(millis);
Response jaxrs = Response.ok("test").type(MediaType.TEXT_PLAIN).build();
response.setResponse(jaxrs);
System.out.println("TestResource: async thread finished");
System.out.println("TestResource default async thread finished");
}
catch (Exception e)
{
Expand All @@ -71,4 +72,11 @@ public void run()
};
t.start();
}

public static int getDefaultTimeout() {
// Jetty async timeout defaults to 30000
// Tomcat async timeout defaults to 10000
// JBoss async timeout defaults to 60000
return 60000;
}
}
Expand Up @@ -2,40 +2,12 @@

import static org.junit.Assert.*;

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.resteasy.client.ClientRequest;
import org.jboss.resteasy.client.ClientResponse;
import org.jboss.resteasy.resteasy736.TestApplication;
import org.jboss.resteasy.resteasy736.TestResource;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Test;
import org.junit.runner.RunWith;

/**
*
* @author <a href="ron.sigal@jboss.com">Ron Sigal</a>
* @version $Revision: 1.1 $
*
* Copyright Aug 3, 2012
*/
@RunWith(Arquillian.class)
@RunAsClient
public class AsyncTimeoutTest
public class AsyncTimeoutTest extends AsyncTimeoutTestCase
{
@Deployment
public static Archive<?> createTestArchive()
{
WebArchive war = ShrinkWrap.create(WebArchive.class, "RESTEASY-736.war")
.addClasses(TestApplication.class, TestResource.class)
.addClasses(AsyncTimeoutTest.class)
.addAsWebInfResource("web.xml");
System.out.println(war.toString(true));
return war;
}

@Test
public void testAsynchTimeout() throws Exception
Expand All @@ -54,42 +26,16 @@ public void testAsynchTimeout() throws Exception
}
finally
{
request.clear();
System.out.println("finish: " + System.currentTimeMillis());
long elapsed = System.currentTimeMillis() - start;
System.out.println("elapsed: " + elapsed + " ms");;
System.out.println("status: " + response.getStatus());
assertTrue(response != null);
System.out.println("response: " + response.getEntity());
assertTrue(response.getStatus() == 503);
assertTrue(elapsed < 10000);
assertEquals(503, response.getStatus());
assertTrue("Expected response time < 10000, actual " + elapsed, elapsed < 10000 + 500);
}
}

@Test
public void testDefaultAsynchTimeout() throws Exception
{
ClientRequest request = new ClientRequest("http://localhost:8080/RESTEASY-736/default/");
long start = System.currentTimeMillis();
System.out.println("start: " + start);
ClientResponse<String> response = null;
try
{
response = request.get(String.class);
}
catch (Exception e)
{
System.out.println(e);
}
finally
{
System.out.println("finish: " + System.currentTimeMillis());
long elapsed = System.currentTimeMillis() - start;
System.out.println("elapsed: " + elapsed + " ms");;
System.out.println("status: " + response.getStatus());
assertTrue(response != null);
System.out.println("response: " + response.getEntity());
assertTrue(response.getStatus() == 503);
assertTrue(elapsed < 35000); // Jetty async timeout defaults to 30000.
}
}
}
@@ -0,0 +1,32 @@
package org.jboss.resteasy.test.resteasy736;

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.resteasy.resteasy736.TestApplication;
import org.jboss.resteasy.resteasy736.TestResource;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.runner.RunWith;

/**
*
* @author <a href="ron.sigal@jboss.com">Ron Sigal</a>
* @version $Revision: 1.1 $
*
* Copyright Aug 3, 2012
*/
@RunWith(Arquillian.class)
@RunAsClient
public abstract class AsyncTimeoutTestCase
{
@Deployment
public static Archive<?> createTestArchive()
{
return ShrinkWrap.create(WebArchive.class, "RESTEASY-736.war")
.addClasses(TestApplication.class, TestResource.class)
.addAsWebInfResource("web.xml");
}

}