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)

Reply via email to