[JBoss JIRA] (ARQ-1592) Warp: Wrong command bus uri for multiple context roots
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQ-1592?page=com.atlassian.jira.plugin.s... ]
Lukáš Fryč updated ARQ-1592:
----------------------------
Fix Version/s: warp_1.0_tracking
> Warp: Wrong command bus uri for multiple context roots
> ------------------------------------------------------
>
> Key: ARQ-1592
> URL: https://issues.jboss.org/browse/ARQ-1592
> Project: Arquillian
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Extension - Warp
> Affects Versions: warp_1.0.0.Alpha5
> Environment: JBoss EAP 6.0.1
> Reporter: Tilmann Kuhn
> Fix For: warp_1.0_tracking
>
>
> When using warp with an EAR containing multiple WARs (only one marked as testable in the deployment) that have different context roots (e.g. "/foo" and "/bar") then local part of URI for the command event bus is determined as "/" in method CommandBusOnClient.locateCommandEventBusUri. Subsequent calls to the bus fail with HTTP 404 which is unhandled in CommandBusOnClient.execute and thus lead to
> {code}
> java.lang.NullPointerException
> at org.jboss.arquillian.warp.impl.client.commandBus.CommandBusOnClient.executeRemotely(CommandBusOnClient.java:163)
> at org.jboss.arquillian.warp.impl.client.commandBus.CommandServiceOnClient.execute(CommandServiceOnClient.java:38)
> at org.jboss.arquillian.warp.impl.client.commandBus.RemoteSuiteLifecyclePropagation.sendAfter(RemoteSuiteLifecyclePropagation.java:61)
> ...
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (ARQ-1564) TestClass not inserted into ClassPool
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQ-1564?page=com.atlassian.jira.plugin.s... ]
Lukáš Fryč updated ARQ-1564:
----------------------------
Description:
TransformedInspection.transfom() tries to access and rename the Testclass from the ClassPool but the Testclass was never inserted into the ClassPool.
{code}
TestClass:
@RunWith(Arquillian.class)
@WarpTest
@RunAsClient
public class StudentTest {
private static final String webDir = "web/";
@Deployment
public static WebArchive createDeployment() {
return ShrinkWrap.create(WebArchive.class, "student.war").addClass(Student.class)
.addAsWebResource(new File(webDir, "index.xhtml"))
.addAsWebInfResource(new File(webDir, "WEB-INF/beans.xml"))
.addAsWebInfResource(new File(webDir, "WEB-INF/web.xml"))
.addAsWebInfResource(new File(webDir, "WEB-INF/faces-config.xml"));
}
@Drone
private WebDriver browser;
@ArquillianResource
private URL deploymentUrl;
@Test
public void test() {
new ClassPool().insertClassPath(new ClassClassPath(this.getClass()));
Warp
.initiate(new Activity() {
public void perform() {
browser.navigate().to(deploymentUrl + "index.jsf");
}
})
.inspect(new Inspection() {
private static final long serialVersionUID = 1L;
@AfterPhase(RENDER_RESPONSE)
public void initial_state_havent_changed_yet() {
assertEquals("John", "John");
}
}
);
}
}
{code}
{code}
Stacktrace:
org.jboss.arquillian.warp.exception.ClientWarpExecutionException: enriching request failed; caused by:
javassist.NotFoundException: StudentTest$1
at org.jboss.arquillian.warp.impl.client.execution.DefaultHttpRequestEnrichmentService.enrichRequest(DefaultHttpRequestEnrichmentService.java:133)
at org.jboss.arquillian.warp.impl.client.execution.EnrichmentObserver.enrichRequest(EnrichmentObserver.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.warp.impl.client.execution.EnrichmentObserver.tryEnrichRequest(EnrichmentObserver.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.warp.impl.client.execution.DefaultHttpRequestEnrichmentFilter.filter(DefaultHttpRequestEnrichmentFilter.java:50)
at org.jboss.arquillian.warp.impl.client.proxy.DefaultProxyService$2.performInContext(DefaultProxyService.java:99)
at org.jboss.arquillian.warp.impl.client.proxy.DefaultProxyService$2.performInContext(DefaultProxyService.java:96)
at org.jboss.arquillian.warp.impl.client.context.operation.Contextualizer$2.performInContext(Contextualizer.java:54)
at org.jboss.arquillian.warp.impl.client.proxy.DefaultProxyService$3.filter(DefaultProxyService.java:108)
at org.littleshoot.proxy.ProxyHttpRequestEncoder.encode(ProxyHttpRequestEncoder.java:75)
at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.doEncode(OneToOneEncoder.java:66)
at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:59)
at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:784)
at org.jboss.netty.channel.SimpleChannelHandler.writeRequested(SimpleChannelHandler.java:292)
at org.jboss.netty.channel.SimpleChannelHandler.handleDownstream(SimpleChannelHandler.java:254)
at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591)
at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:582)
at org.jboss.netty.channel.Channels.write(Channels.java:704)
at org.jboss.netty.channel.Channels.write(Channels.java:671)
at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:248)
at org.littleshoot.proxy.HttpRequestHandler$1OnConnect.onConnect(HttpRequestHandler.java:407)
at org.littleshoot.proxy.HttpRequestHandler$1LocalChannelFutureListener.operationComplete(HttpRequestHandler.java:488)
at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:427)
at org.jboss.netty.channel.DefaultChannelFuture.addListener(DefaultChannelFuture.java:145)
at org.littleshoot.proxy.HttpRequestHandler.processRequest(HttpRequestHandler.java:539)
at org.littleshoot.proxy.HttpRequestHandler.messageReceived(HttpRequestHandler.java:276)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.channel.SimpleChannelHandler.messageReceived(SimpleChannelHandler.java:142)
at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:88)
at org.jboss.netty.handler.timeout.IdleStateAwareChannelHandler.handleUpstream(IdleStateAwareChannelHandler.java:36)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.handler.timeout.IdleStateHandler.messageReceived(IdleStateHandler.java:294)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:459)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:536)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:107)
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:88)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: Could not transform and replicate class class java.util.Arrays$ArrayList:
Unable to transform inspection StudentTest$1:
StudentTest$1
at org.jboss.arquillian.warp.impl.shared.RequestPayload.writeExternal(RequestPayload.java:113)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at org.jboss.arquillian.warp.impl.utils.SerializationUtils.serializeToBytes(SerializationUtils.java:38)
at org.jboss.arquillian.warp.impl.utils.SerializationUtils.serializeToBase64(SerializationUtils.java:59)
at org.jboss.arquillian.warp.impl.client.execution.DefaultHttpRequestEnrichmentService.enrichRequest(DefaultHttpRequestEnrichmentService.java:125)
... 76 more
Caused by: org.jboss.arquillian.warp.impl.client.transformation.InspectionTransformationException: Unable to transform inspection StudentTest$1:
StudentTest$1
at org.jboss.arquillian.warp.impl.client.transformation.TransformedInspection.transform(TransformedInspection.java:90)
at org.jboss.arquillian.warp.impl.client.transformation.TransformedInspection.<init>(TransformedInspection.java:57)
at org.jboss.arquillian.warp.impl.client.transformation.TransformedInspection.<init>(TransformedInspection.java:49)
at org.jboss.arquillian.warp.impl.shared.RequestPayload.writeExternal(RequestPayload.java:107)
... 83 more
Caused by: javassist.NotFoundException: StudentTest$1
at javassist.ClassPool.getAndRename(ClassPool.java:387)
at org.jboss.arquillian.warp.impl.client.transformation.TransformedInspection.transform(TransformedInspection.java:65)
... 86 more
{code}
was:
TransformedInspection.transfom() tries to access and rename the Testclass from the ClassPool but the Testclass was never inserted into the ClassPool.
TestClass:
@RunWith(Arquillian.class)
@WarpTest
@RunAsClient
public class StudentTest {
private static final String webDir = "web/";
@Deployment
public static WebArchive createDeployment() {
return ShrinkWrap.create(WebArchive.class, "student.war").addClass(Student.class)
.addAsWebResource(new File(webDir, "index.xhtml"))
.addAsWebInfResource(new File(webDir, "WEB-INF/beans.xml"))
.addAsWebInfResource(new File(webDir, "WEB-INF/web.xml"))
.addAsWebInfResource(new File(webDir, "WEB-INF/faces-config.xml"));
}
@Drone
private WebDriver browser;
@ArquillianResource
private URL deploymentUrl;
@Test
public void test() {
new ClassPool().insertClassPath(new ClassClassPath(this.getClass()));
Warp
.initiate(new Activity() {
public void perform() {
browser.navigate().to(deploymentUrl + "index.jsf");
}
})
.inspect(new Inspection() {
private static final long serialVersionUID = 1L;
@AfterPhase(RENDER_RESPONSE)
public void initial_state_havent_changed_yet() {
assertEquals("John", "John");
}
}
);
}
}
Stacktrace:
org.jboss.arquillian.warp.exception.ClientWarpExecutionException: enriching request failed; caused by:
javassist.NotFoundException: StudentTest$1
at org.jboss.arquillian.warp.impl.client.execution.DefaultHttpRequestEnrichmentService.enrichRequest(DefaultHttpRequestEnrichmentService.java:133)
at org.jboss.arquillian.warp.impl.client.execution.EnrichmentObserver.enrichRequest(EnrichmentObserver.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.warp.impl.client.execution.EnrichmentObserver.tryEnrichRequest(EnrichmentObserver.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
at org.jboss.arquillian.warp.impl.client.execution.DefaultHttpRequestEnrichmentFilter.filter(DefaultHttpRequestEnrichmentFilter.java:50)
at org.jboss.arquillian.warp.impl.client.proxy.DefaultProxyService$2.performInContext(DefaultProxyService.java:99)
at org.jboss.arquillian.warp.impl.client.proxy.DefaultProxyService$2.performInContext(DefaultProxyService.java:96)
at org.jboss.arquillian.warp.impl.client.context.operation.Contextualizer$2.performInContext(Contextualizer.java:54)
at org.jboss.arquillian.warp.impl.client.proxy.DefaultProxyService$3.filter(DefaultProxyService.java:108)
at org.littleshoot.proxy.ProxyHttpRequestEncoder.encode(ProxyHttpRequestEncoder.java:75)
at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.doEncode(OneToOneEncoder.java:66)
at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:59)
at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:784)
at org.jboss.netty.channel.SimpleChannelHandler.writeRequested(SimpleChannelHandler.java:292)
at org.jboss.netty.channel.SimpleChannelHandler.handleDownstream(SimpleChannelHandler.java:254)
at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591)
at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:582)
at org.jboss.netty.channel.Channels.write(Channels.java:704)
at org.jboss.netty.channel.Channels.write(Channels.java:671)
at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:248)
at org.littleshoot.proxy.HttpRequestHandler$1OnConnect.onConnect(HttpRequestHandler.java:407)
at org.littleshoot.proxy.HttpRequestHandler$1LocalChannelFutureListener.operationComplete(HttpRequestHandler.java:488)
at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:427)
at org.jboss.netty.channel.DefaultChannelFuture.addListener(DefaultChannelFuture.java:145)
at org.littleshoot.proxy.HttpRequestHandler.processRequest(HttpRequestHandler.java:539)
at org.littleshoot.proxy.HttpRequestHandler.messageReceived(HttpRequestHandler.java:276)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.channel.SimpleChannelHandler.messageReceived(SimpleChannelHandler.java:142)
at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:88)
at org.jboss.netty.handler.timeout.IdleStateAwareChannelHandler.handleUpstream(IdleStateAwareChannelHandler.java:36)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.handler.timeout.IdleStateHandler.messageReceived(IdleStateHandler.java:294)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:459)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:536)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:107)
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:88)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: Could not transform and replicate class class java.util.Arrays$ArrayList:
Unable to transform inspection StudentTest$1:
StudentTest$1
at org.jboss.arquillian.warp.impl.shared.RequestPayload.writeExternal(RequestPayload.java:113)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at org.jboss.arquillian.warp.impl.utils.SerializationUtils.serializeToBytes(SerializationUtils.java:38)
at org.jboss.arquillian.warp.impl.utils.SerializationUtils.serializeToBase64(SerializationUtils.java:59)
at org.jboss.arquillian.warp.impl.client.execution.DefaultHttpRequestEnrichmentService.enrichRequest(DefaultHttpRequestEnrichmentService.java:125)
... 76 more
Caused by: org.jboss.arquillian.warp.impl.client.transformation.InspectionTransformationException: Unable to transform inspection StudentTest$1:
StudentTest$1
at org.jboss.arquillian.warp.impl.client.transformation.TransformedInspection.transform(TransformedInspection.java:90)
at org.jboss.arquillian.warp.impl.client.transformation.TransformedInspection.<init>(TransformedInspection.java:57)
at org.jboss.arquillian.warp.impl.client.transformation.TransformedInspection.<init>(TransformedInspection.java:49)
at org.jboss.arquillian.warp.impl.shared.RequestPayload.writeExternal(RequestPayload.java:107)
... 83 more
Caused by: javassist.NotFoundException: StudentTest$1
at javassist.ClassPool.getAndRename(ClassPool.java:387)
at org.jboss.arquillian.warp.impl.client.transformation.TransformedInspection.transform(TransformedInspection.java:65)
... 86 more
> TestClass not inserted into ClassPool
> -------------------------------------
>
> Key: ARQ-1564
> URL: https://issues.jboss.org/browse/ARQ-1564
> Project: Arquillian
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Extension - Warp
> Affects Versions: 1.0.0.Alpha5
> Environment: Windows 8 64 Bit SunJDK 1.7
> Reporter: Lukas Eichler
>
> TransformedInspection.transfom() tries to access and rename the Testclass from the ClassPool but the Testclass was never inserted into the ClassPool.
> {code}
> TestClass:
> @RunWith(Arquillian.class)
> @WarpTest
> @RunAsClient
> public class StudentTest {
> private static final String webDir = "web/";
> @Deployment
> public static WebArchive createDeployment() {
> return ShrinkWrap.create(WebArchive.class, "student.war").addClass(Student.class)
> .addAsWebResource(new File(webDir, "index.xhtml"))
> .addAsWebInfResource(new File(webDir, "WEB-INF/beans.xml"))
> .addAsWebInfResource(new File(webDir, "WEB-INF/web.xml"))
> .addAsWebInfResource(new File(webDir, "WEB-INF/faces-config.xml"));
> }
> @Drone
> private WebDriver browser;
> @ArquillianResource
> private URL deploymentUrl;
> @Test
> public void test() {
> new ClassPool().insertClassPath(new ClassClassPath(this.getClass()));
> Warp
> .initiate(new Activity() {
> public void perform() {
> browser.navigate().to(deploymentUrl + "index.jsf");
> }
> })
> .inspect(new Inspection() {
> private static final long serialVersionUID = 1L;
> @AfterPhase(RENDER_RESPONSE)
> public void initial_state_havent_changed_yet() {
> assertEquals("John", "John");
> }
> }
> );
> }
> }
> {code}
> {code}
> Stacktrace:
> org.jboss.arquillian.warp.exception.ClientWarpExecutionException: enriching request failed; caused by:
> javassist.NotFoundException: StudentTest$1
> at org.jboss.arquillian.warp.impl.client.execution.DefaultHttpRequestEnrichmentService.enrichRequest(DefaultHttpRequestEnrichmentService.java:133)
> at org.jboss.arquillian.warp.impl.client.execution.EnrichmentObserver.enrichRequest(EnrichmentObserver.java:85)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.warp.impl.client.execution.EnrichmentObserver.tryEnrichRequest(EnrichmentObserver.java:75)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
> at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
> at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)
> at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)
> at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
> at org.jboss.arquillian.warp.impl.client.execution.DefaultHttpRequestEnrichmentFilter.filter(DefaultHttpRequestEnrichmentFilter.java:50)
> at org.jboss.arquillian.warp.impl.client.proxy.DefaultProxyService$2.performInContext(DefaultProxyService.java:99)
> at org.jboss.arquillian.warp.impl.client.proxy.DefaultProxyService$2.performInContext(DefaultProxyService.java:96)
> at org.jboss.arquillian.warp.impl.client.context.operation.Contextualizer$2.performInContext(Contextualizer.java:54)
> at org.jboss.arquillian.warp.impl.client.proxy.DefaultProxyService$3.filter(DefaultProxyService.java:108)
> at org.littleshoot.proxy.ProxyHttpRequestEncoder.encode(ProxyHttpRequestEncoder.java:75)
> at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.doEncode(OneToOneEncoder.java:66)
> at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:59)
> at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591)
> at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:784)
> at org.jboss.netty.channel.SimpleChannelHandler.writeRequested(SimpleChannelHandler.java:292)
> at org.jboss.netty.channel.SimpleChannelHandler.handleDownstream(SimpleChannelHandler.java:254)
> at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591)
> at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:582)
> at org.jboss.netty.channel.Channels.write(Channels.java:704)
> at org.jboss.netty.channel.Channels.write(Channels.java:671)
> at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:248)
> at org.littleshoot.proxy.HttpRequestHandler$1OnConnect.onConnect(HttpRequestHandler.java:407)
> at org.littleshoot.proxy.HttpRequestHandler$1LocalChannelFutureListener.operationComplete(HttpRequestHandler.java:488)
> at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:427)
> at org.jboss.netty.channel.DefaultChannelFuture.addListener(DefaultChannelFuture.java:145)
> at org.littleshoot.proxy.HttpRequestHandler.processRequest(HttpRequestHandler.java:539)
> at org.littleshoot.proxy.HttpRequestHandler.messageReceived(HttpRequestHandler.java:276)
> at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
> at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
> at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
> at org.jboss.netty.channel.SimpleChannelHandler.messageReceived(SimpleChannelHandler.java:142)
> at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:88)
> at org.jboss.netty.handler.timeout.IdleStateAwareChannelHandler.handleUpstream(IdleStateAwareChannelHandler.java:36)
> at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
> at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
> at org.jboss.netty.handler.timeout.IdleStateHandler.messageReceived(IdleStateHandler.java:294)
> at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
> at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
> at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
> at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
> at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:459)
> at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:536)
> at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435)
> at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
> at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
> at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
> at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
> at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
> at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
> at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:107)
> at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
> at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:88)
> at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
> at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
> at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.RuntimeException: Could not transform and replicate class class java.util.Arrays$ArrayList:
> Unable to transform inspection StudentTest$1:
> StudentTest$1
> at org.jboss.arquillian.warp.impl.shared.RequestPayload.writeExternal(RequestPayload.java:113)
> at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1443)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1414)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
> at org.jboss.arquillian.warp.impl.utils.SerializationUtils.serializeToBytes(SerializationUtils.java:38)
> at org.jboss.arquillian.warp.impl.utils.SerializationUtils.serializeToBase64(SerializationUtils.java:59)
> at org.jboss.arquillian.warp.impl.client.execution.DefaultHttpRequestEnrichmentService.enrichRequest(DefaultHttpRequestEnrichmentService.java:125)
> ... 76 more
> Caused by: org.jboss.arquillian.warp.impl.client.transformation.InspectionTransformationException: Unable to transform inspection StudentTest$1:
> StudentTest$1
> at org.jboss.arquillian.warp.impl.client.transformation.TransformedInspection.transform(TransformedInspection.java:90)
> at org.jboss.arquillian.warp.impl.client.transformation.TransformedInspection.<init>(TransformedInspection.java:57)
> at org.jboss.arquillian.warp.impl.client.transformation.TransformedInspection.<init>(TransformedInspection.java:49)
> at org.jboss.arquillian.warp.impl.shared.RequestPayload.writeExternal(RequestPayload.java:107)
> ... 83 more
> Caused by: javassist.NotFoundException: StudentTest$1
> at javassist.ClassPool.getAndRename(ClassPool.java:387)
> at org.jboss.arquillian.warp.impl.client.transformation.TransformedInspection.transform(TransformedInspection.java:65)
> ... 86 more
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (ARQ-1592) Warp: Wrong command bus uri for multiple context roots
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQ-1592?page=com.atlassian.jira.plugin.s... ]
Lukáš Fryč commented on ARQ-1592:
---------------------------------
Tilmann, could you eventually create a reproducer? It should be ideally in a Warp functional test suite?
> Warp: Wrong command bus uri for multiple context roots
> ------------------------------------------------------
>
> Key: ARQ-1592
> URL: https://issues.jboss.org/browse/ARQ-1592
> Project: Arquillian
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Extension - Warp
> Affects Versions: warp_1.0.0.Alpha5
> Environment: JBoss EAP 6.0.1
> Reporter: Tilmann Kuhn
>
> When using warp with an EAR containing multiple WARs (only one marked as testable in the deployment) that have different context roots (e.g. "/foo" and "/bar") then local part of URI for the command event bus is determined as "/" in method CommandBusOnClient.locateCommandEventBusUri. Subsequent calls to the bus fail with HTTP 404 which is unhandled in CommandBusOnClient.execute and thus lead to
> {code}
> java.lang.NullPointerException
> at org.jboss.arquillian.warp.impl.client.commandBus.CommandBusOnClient.executeRemotely(CommandBusOnClient.java:163)
> at org.jboss.arquillian.warp.impl.client.commandBus.CommandServiceOnClient.execute(CommandServiceOnClient.java:38)
> at org.jboss.arquillian.warp.impl.client.commandBus.RemoteSuiteLifecyclePropagation.sendAfter(RemoteSuiteLifecyclePropagation.java:61)
> ...
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (ARQ-1592) Warp: Wrong command bus uri for multiple context roots
by Lukáš Fryč (JIRA)
[ https://issues.jboss.org/browse/ARQ-1592?page=com.atlassian.jira.plugin.s... ]
Lukáš Fryč updated ARQ-1592:
----------------------------
Description:
When using warp with an EAR containing multiple WARs (only one marked as testable in the deployment) that have different context roots (e.g. "/foo" and "/bar") then local part of URI for the command event bus is determined as "/" in method CommandBusOnClient.locateCommandEventBusUri. Subsequent calls to the bus fail with HTTP 404 which is unhandled in CommandBusOnClient.execute and thus lead to
{code}
java.lang.NullPointerException
at org.jboss.arquillian.warp.impl.client.commandBus.CommandBusOnClient.executeRemotely(CommandBusOnClient.java:163)
at org.jboss.arquillian.warp.impl.client.commandBus.CommandServiceOnClient.execute(CommandServiceOnClient.java:38)
at org.jboss.arquillian.warp.impl.client.commandBus.RemoteSuiteLifecyclePropagation.sendAfter(RemoteSuiteLifecyclePropagation.java:61)
...
{code}
was:
When using warp with an EAR containing multiple WARs (only one marked as testable in the deployment) that have different context roots (e.g. "/foo" and "/bar") then local part of URI for the command event bus is determined as "/" in method CommandBusOnClient.locateCommandEventBusUri. Subsequent calls to the bus fail with HTTP 404 which is unhandled in CommandBusOnClient.execute and thus lead to
java.lang.NullPointerException
at org.jboss.arquillian.warp.impl.client.commandBus.CommandBusOnClient.executeRemotely(CommandBusOnClient.java:163)
at org.jboss.arquillian.warp.impl.client.commandBus.CommandServiceOnClient.execute(CommandServiceOnClient.java:38)
at org.jboss.arquillian.warp.impl.client.commandBus.RemoteSuiteLifecyclePropagation.sendAfter(RemoteSuiteLifecyclePropagation.java:61)
...
> Warp: Wrong command bus uri for multiple context roots
> ------------------------------------------------------
>
> Key: ARQ-1592
> URL: https://issues.jboss.org/browse/ARQ-1592
> Project: Arquillian
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Extension - Warp
> Affects Versions: warp_1.0.0.Alpha5
> Environment: JBoss EAP 6.0.1
> Reporter: Tilmann Kuhn
>
> When using warp with an EAR containing multiple WARs (only one marked as testable in the deployment) that have different context roots (e.g. "/foo" and "/bar") then local part of URI for the command event bus is determined as "/" in method CommandBusOnClient.locateCommandEventBusUri. Subsequent calls to the bus fail with HTTP 404 which is unhandled in CommandBusOnClient.execute and thus lead to
> {code}
> java.lang.NullPointerException
> at org.jboss.arquillian.warp.impl.client.commandBus.CommandBusOnClient.executeRemotely(CommandBusOnClient.java:163)
> at org.jboss.arquillian.warp.impl.client.commandBus.CommandServiceOnClient.execute(CommandServiceOnClient.java:38)
> at org.jboss.arquillian.warp.impl.client.commandBus.RemoteSuiteLifecyclePropagation.sendAfter(RemoteSuiteLifecyclePropagation.java:61)
> ...
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (ARQ-1600) ProcessExecutor might get stuck on Windows
by Karel Piwko (JIRA)
[ https://issues.jboss.org/browse/ARQ-1600?page=com.atlassian.jira.plugin.s... ]
Karel Piwko updated ARQ-1600:
-----------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/arquillian/arquillian-droidium/pull/9
> ProcessExecutor might get stuck on Windows
> -------------------------------------------
>
> Key: ARQ-1600
> URL: https://issues.jboss.org/browse/ARQ-1600
> Project: Arquillian
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Extension - Droidium
> Affects Versions: droidium_1.0.0.Alpha3
> Reporter: Karel Piwko
> Priority: Blocker
>
> Current execution of external process on Windows might lead to following issues, causing process deadlock:
> 1/ Process stdin is not closed if no longer needed
> 2/ Process stdout and stderr never reach EOF
> This behavior is observed when a .bat file file is executed on Windows. This behavior is caused by missing file descriptors to underlying process spawned by bat file.
> Implementation note: There are two ways how to resolve the issue.
> * read output stream and consider them finished if specific message is encountered
> * unwrap bat execution and execute directly underlying command
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (ARQ-1603) tmpDir specification should allow to be without trailing slash
by Karel Piwko (JIRA)
Karel Piwko created ARQ-1603:
--------------------------------
Summary: tmpDir specification should allow to be without trailing slash
Key: ARQ-1603
URL: https://issues.jboss.org/browse/ARQ-1603
Project: Arquillian
Issue Type: Enhancement
Security Level: Public (Everyone can see)
Components: Extension - Droidium
Affects Versions: droidium_1.0.0.Alpha3
Reporter: Karel Piwko
*Given*:
I define tmpDir like "C:\temp" or /tmp
*Then*:
Droidium creates a temp directory like C:\temp-1223-1454-1245-12545
*Expect*:
I expect directory to be rather C:\temp\1223-1454-1245-12545
Current behavior is problematic as it requires user to be slash aware as otherwise he might want to create a directory in tree hierarchy where elevated permissions are needed.
Implemenation note:
new File(File parent, String childPath) would be the best way how to handle this.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years
[JBoss JIRA] (ARQ-1602) Emulator process returns immediately on Windows
by Karel Piwko (JIRA)
Karel Piwko created ARQ-1602:
--------------------------------
Summary: Emulator process returns immediately on Windows
Key: ARQ-1602
URL: https://issues.jboss.org/browse/ARQ-1602
Project: Arquillian
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Extension - Droidium
Affects Versions: droidium_1.0.0.Alpha3
Reporter: Karel Piwko
Priority: Critical
Changes introduced in ARQ-1583 are not compatible with Windows, where emulator.exe spawns another process itself and returns immediately.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years