[arquillian-issues] [JBoss JIRA] (ARQ-1952) Warp requests hit the application port instead of LittleProxy`s one

Pëtr Andreev (JIRA) issues at jboss.org
Mon May 25 18:30:19 EDT 2015


    [ https://issues.jboss.org/browse/ARQ-1952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13070819#comment-13070819 ] 

Pëtr Andreev commented on ARQ-1952:
-----------------------------------

[~aslak] I think the ResourceWrapper could be a very useful feature, I even tried to implement [one for Warp|https://github.com/petrandreev/arquillian-extension-warp/blob/ARQ-1952%2Bresource_wrapper/impl/src/main/java/org/jboss/arquillian/warp/impl/client/proxy/ProxyURLWrapper.java]. 
But it doesn`t help for the current issue. What I can propose for the solution is to make the [URLResourceResolver|https://github.com/petrandreev/arquillian-core/blob/ARQ-1952/container/test-impl-base/src/main/java/org/jboss/arquillian/container/test/impl/enricher/resource/URLResourceProvider.java#L49-51] more cooperative.
The whole picture in the environment of Aquillian Core, Warp and Graphene would then look like:
1. ARQ registers the URLResourceProvider
2. Warp overrides the URLResourceProvider by the proxied (ProxyURLProvider) one (and delegates to URLResourceProvider for non-Warp tests)
3. Graphene` [CustomizableURLResourceProvider|https://github.com/petrandreev/arquillian-graphene/blob/ARQ-1952/impl/src/main/java/org/jboss/arquillian/graphene/location/CustomizableURLResourceProvider.java] is only usable in non-deployment scenarios, so the [GrapheneExtension|https://github.com/petrandreev/arquillian-graphene/blob/ARQ-1952/impl/src/main/java/org/jboss/arquillian/graphene/GrapheneExtension.java#L84] just needs to register it additionally and all tasks for deployments are done by the default URLREsourceProvider

[~aslak] and [~lfryc] what do you think about it?

> Warp requests hit the application port instead of LittleProxy`s one
> -------------------------------------------------------------------
>
>                 Key: ARQ-1952
>                 URL: https://issues.jboss.org/browse/ARQ-1952
>             Project: Arquillian
>          Issue Type: Bug
>          Components: Extension - Warp
>    Affects Versions: warp_1.0.0.Alpha7, warp_1.0.0.Beta1
>         Environment: Linux x64, ChromeDriver , PhantomJSDriver, Wildfly 8.0 & 8.2, Mojarra 2.8 & 2.11
>            Reporter: Pëtr Andreev
>         Attachments: ARQ-1952-failure.log, ARQ-1952-success.log
>
>
> Warp observer intermittently fails while inspecting the requests with:
> "There were no requests matched by observer \[containsParameter(XXXX)\] ".
> The technical reason for the failure is that the client request hits the original (application server) port and not the [LittleProxy`s|https://github.com/adamfisk/LittleProxy] one (HTTP successful  and failed traffic is attached showing the HTTP requests going to the wrong port, i.e 8080). Since Warp hooks into the client/server conversation providing its own implementation of _HttpFiltersSourceAdapter_ in _DefaultHttpFiltersSource_, while expecting the payload request from client after setting up a WarpContext, the Warp runs into timeout because of the HTTP request never reaches the LittleProxy.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)



More information about the arquillian-issues mailing list