Skip to content

Commit

Permalink
Merge pull request #454 from psakar/Branch_2_3
Browse files Browse the repository at this point in the history
arquillian - update bom version, use upstream version for jboss-as-arqui...
  • Loading branch information
patriot1burke committed Mar 19, 2014
2 parents 1dd445e + 6f5d659 commit f4cf1e0
Show file tree
Hide file tree
Showing 133 changed files with 1,299 additions and 4,033 deletions.
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");
}

}

0 comments on commit f4cf1e0

Please sign in to comment.