Markus Jung created TOMEE-4656:
----------------------------------
Summary: Client WebSocket container always advertises
permessage-deflate, breaks extension-negotiation TCK
Key: TOMEE-4656
URL: https://issues.apache.org/jira/browse/TOMEE-4656
Project: TomEE
Issue Type: Bug
Reporter: Markus Jung
TomEE's client-side WebSocket container (Tomcat's tomcat-websocket) always adds
its built-in permessage-deflate extension to the opening handshake. It does
this no matter what extensions the test client asked for.
The server-side configurator reports back the extensions the client requested
and the extensions negotiated. Because the client always adds
permessage-deflate, that extension shows up in both lists, even when the test
only declared other extensions. The test expects to see only the extensions it
declared, so it fails.
The failure shows up when the test class runs alone, so this is not a side
effect of test order or shared state. It is plain client-container behavior in
tomcat-websocket, used by TomEE.
Note: the negative-deployment tests in the same area pass. An invalid server
endpoint still aborts the whole webapp deployment, as the spec requires. The
test runner's Arquillian extension tolerates that deployment failure, so each
client probe still runs and checks the result on its own.
h2. Steps to reproduce / TCK reference
Run the Jakarta WebSocket 2.2 TCK extension-negotiation test class (3 methods)
on its own against TomEE 11.
Currently excluded in {{runner-standalone/exclusions/websocket.txt}} in the
apache/tomee-tck harness repo. Remove the exclusion once the client container
stops force-adding permessage-deflate when the test does not ask for it.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)