jakartaee / jakartaee/websocket

TCK: WebSocket negative-deployment tests assume deployment failures occur inside test execution instead of during Arquillian-managed deployment

Open
#608 4 comments 0 reactions 0 assignees View on GitHub
challenge challenge-accepted
Dominant language
Java
Stars
78
Forks
47
Avg merge
1h 32m
Merged PRs (30d)
1

Description

**Challenged tests**

1. com.sun.ts.tests.websocket.negdep.invalidpathparamtype.pasrv.onclose.WSCClientIT
2. com.sun.ts.tests.websocket.negdep.invalidpathparamtype.pasrv.onerror.WSCClientIT
3. com.sun.ts.tests.websocket.negdep.invalidpathparamtype.pasrv.onmessage.WSCClientIT
4. com.sun.ts.tests.websocket.negdep.invalidpathparamtype.pasrv.onopen.WSCClientIT
5. com.sun.ts.tests.websocket.negdep.invalidpathparamtype.srv.onclose.WSCClientIT
6. com.sun.ts.tests.websocket.negdep.invalidpathparamtype.srv.onerror.WSCClientIT
7. com.sun.ts.tests.websocket.negdep.invalidpathparamtype.srv.onmessage.WSCClientIT
8. com.sun.ts.tests.websocket.negdep.invalidpathparamtype.srv.onopen.WSCClientIT
9. com.sun.ts.tests.websocket.negdep.malformedpath.WSCClientIT
10. com.sun.ts.tests.websocket.negdep.multiplepaths.WSCClientIT
11. com.sun.ts.tests.websocket.negdep.onclose.srv.duplicate.WSCClientIT
12. com.sun.ts.tests.websocket.negdep.onclose.srv.toomanyargs.WSCClientIT
13. com.sun.ts.tests.websocket.negdep.onerror.srv.duplicate.WSCClientIT
14. com.sun.ts.tests.websocket.negdep.onerror.srv.toomanyargs.WSCClientIT
15. com.sun.ts.tests.websocket.negdep.onmessage.pasrv.nomoreendpoints.WSCClientIT
16. com.sun.ts.tests.websocket.negdep.onmessage.ppsrv.nomoreendpoints.WSCClientIT
17. com.sun.ts.tests.websocket.negdep.onmessage.srv.binarybytebufferint.WSCClientIT
18. com.sun.ts.tests.websocket.negdep.onmessage.srv.binaryduplicate.WSCClientIT
19. com.sun.ts.tests.websocket.negdep.onmessage.srv.binaryinputstreamboolean.WSCClientIT
20. com.sun.ts.tests.websocket.negdep.onmessage.srv.binarynodecoder.WSCClientIT
21. com.sun.ts.tests.websocket.negdep.onmessage.srv.pongboolean.WSCClientIT
22. com.sun.ts.tests.websocket.negdep.onmessage.srv.pongduplicate.WSCClientIT
23. com.sun.ts.tests.websocket.negdep.onmessage.srv.textbigdecimal.WSCClientIT
24. com.sun.ts.tests.websocket.negdep.onmessage.srv.textduplicate.WSCClientIT
25. com.sun.ts.tests.websocket.negdep.onmessage.srv.textnodecoder.WSCClientIT
26. com.sun.ts.tests.websocket.negdep.onmessage.srv.textreaderboolean.WSCClientIT
27. com.sun.ts.tests.websocket.negdep.onmessage.srv.textstringint.WSCClientIT
28. com.sun.ts.tests.websocket.negdep.onopen.srv.duplicate.WSCClientIT
29. com.sun.ts.tests.websocket.negdep.onopen.srv.toomanyargs.WSCClientIT

**TCK Version**
Jakarta WebSocket 2.2.0

**Description**
A broad set of WebSocket negative-deployment tests fail on WebLogic because the container correctly rejects invalid endpoint definitions at deployment time with jakarta.websocket.DeploymentException, but the TCK structure assumes those failures will be observed from within the test body.

Under Arquillian-managed deployment, the invalid application is rejected during deployment/before test execution, so Arquillian fails the class in lifecycle setup (beforeAll) and the test method never gets a chance to perform its intended assertion through NegativeDeploymentClient.

This appears to be a TCK/Arquillian test-structure issue rather than a product issue:

- WebLogic is rejecting spec-invalid endpoint definitions as expected.
- The failing tests are all negative-deployment cases whose expected outcome is deployment failure.
- The mismatch is when that failure is surfaced.

**Additional context**
Codex comment: A likely TCK-side fix would be to express these as expected deployment-failure tests in Arquillian, rather than relying on the test body to observe the failure after deployment.

Contributor guide

Open the contributing guide

Research direction

Start with the listed com.sun.ts.tests.websocket.negdep.*.WSCClientIT classes and inspect how NegativeDeploymentClient is used relative to Arquillian-managed deployment. Check how deployment failures are surfaced before test execution. Done means the negative-deployment tests express and validate the expected DeploymentException at the deployment lifecycle stage rather than relying on the test body.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.