[RF-13290] Push framework tests fail after upgrade to 1.0.17 (probably Warp issue) Created: 25/Oct/13  Updated: 26/Sep/14  Resolved: 16/Sep/14

Status: Closed
Project: RichFaces
Component/s: component-push/poll, tests - functional
Affects Version/s: 5.0.0.Alpha2
Fix Version/s: 4.5.0.CR1

Type: Bug Priority: Major
Reporter: Lukáš Fryč Assignee: Jiří Štefek
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: 3 hours
Time Spent: Not Specified
Original Estimate: 3 hours

Issue Links:
Related
relates to ARQ-1628 Warp: fails to verify async servlets Open
relates to RFPL-3508 Framework tests: non-Warp push tests ... Open
Sprint: 4.5.0.CR2 - Sprint 1
Git Pull Request: https://github.com/richfaces/richfaces/pull/115

 Description   

The push is correctly using 'long-polling' technique,

the request is sent, but the response is never sent back,

that's why I believe the Warp server-side handling fails.


Note that I have tried to upgrade to 1.0.18 and it didn't help.


I'm marking those tests as Failing.



 Comments   
Comment by Brian Leathem [ 25/Oct/13 ]

Were the framework push tests run as part of the release process? (cc: Pavol Pitonak)

Comment by Pavol Pitonak [ 14/Nov/13 ]

No, we didn't run them for Alpha1 release but we plan to do it for all following releases.

Comment by Brian Leathem [ 05/Sep/14 ]

@QE: Is this still an issue with RF 4.5?

Comment by Juraj Húska [ 10/Sep/14 ]

I regret to inform you that those tests are still failing. According to Lukáš Fryč comments it is still because of the same reason (the response from server did not come).

However, one test, ITPushFilter, is showing some other errors. It would be nice if someone can give it an insight.

Errors like:

14:42:23,677 ERROR [org.atmosphere.cpr.AsynchronousProcessor] (default task-54) Invalid request state. Websocket protocol not supported

org.jboss.arquillian.warp.impl.client.execution.WarpSynchronizationException: The Warp failed to observe requests or match them with response.
 
The warped request timed out when waiting for a response for following requests: [GET /ITPushFilter/faces/rfRes/org.richfaces.resource.PushResource?__richfacesPushAsync=1&pushSessionId=e6a46d38-f2fb-41ae-bf39-0351bc278bb8&X-Atmosphere-tracking-id=0&X-Atmosphere-Framework=2.2.1-jquery&X-Atmosphere-Transport=websocket&X-Cache-Date=0&X-atmo-protocol=true]

Comment by Lukáš Fryč [ 10/Sep/14 ]

Warp does not support WebSocket protocol, it is based on HTTP proxy mechanism.

Comment by Brian Leathem [ 10/Sep/14 ]

I suppose we could investigate a possible configuration to disable websockets in wildfly. This would then have our push component fall back to long-polling in order to execute the tests. Alternatively we can remove the tests involving websockets that Warp is not able to test. Any preference Pavol Pitonak?

Comment by Brian Leathem [ 11/Sep/14 ]

QE: as discussed in the meeting please mark these tests as failing. We can then re-schedule this issue to tracking in order to revisit how we want to get automated tests to work.

Aslak Knutsen: Any plans for a Arquillian websocket testing tool?

Comment by Aslak Knutsen [ 12/Sep/14 ]

Brian Leathem WebSocket testing with Arquillian is fully possible. Just deploy and create a WebSocket client connection to your server endpoint.. Anything specific you had in mind that should be in 'a websocket testing tool' ?

Comment by Lukáš Fryč [ 15/Sep/14 ]

Warp could be refactored to allow for websocket testing.

Comment by Jiří Štefek [ 15/Sep/14 ]

The tests are also failing with EAP 6.3, which does not use websockets by default. Because I was not able to get the tests working, I'll send a PR with some temporary tests not using the Warp, so we have at least something covered before Warp gets refactored.

Comment by Brian Leathem [ 15/Sep/14 ]

Aslak Knutsen something that allows server-side assertions mid-test the way Warp does for HTTP requests.

Lukáš Fryč +1 it sounds like the best fit: introduce new protocol support for Warp

Jiří Štefek +1 if we could get some non-warp tests in place for push then we'd be able to assure stability of the component.

Comment by Jiří Štefek [ 16/Sep/14 ]

Linked pull request.

Comment by Jiří Štefek [ 16/Sep/14 ]

I was not able to get these tests running with PhantomJS (chrome and firefox are ok), so I have put them to FailingOnPhantomJS category.

I have accidently discovered, that these tests are working with phantomjs, when you mark them as WarpTests. Should the phantomjs only work with Warp?

Comment by Brian Leathem [ 16/Sep/14 ]

Great, thanks Jiří Štefek.

these tests are working with phantomjs, when you mark them as WarpTests. Should the phantomjs only work with Warp?

This is unexpected and warrants further investigation. Please track this with a new RFPL issue. We can investigate and file any needed upstream Warp issues after 4.5.0.Final.

Comment by Jiří Štefek [ 17/Sep/14 ]

Created RFPL-3508.

Comment by Matej Novotny [ 26/Sep/14 ]

Verified, we now have working non-warp tests in place.
Let's track any other related problems in new issues - closing this one.

Generated at Sat Dec 15 12:28:36 EST 2018 using Jira 7.12.1#712002-sha1:609a50578ba6bc73dbf8b05dddd7c04a04b6807c.