The GitHub Actions job "Required Checks" on 
texera.git/refactor/jwt-filter-eager-401 has failed.
Run started by GitHub user Yicong-Huang (triggered by Yicong-Huang).

Head commit for run:
6ae2c4489f19b4a0bc5ce78cdfb2e2b2a3aad29e / Yicong Huang 
<[email protected]>
fixup: throw UnauthorizedException + ExceptionMapper instead of WAE

Building a JAX-RS Response from inside the filter requires a
RuntimeDelegate on the classpath. The earlier attempt added
jersey-common 3.0.12 to common/auth's test classpath to satisfy that;
amber declares `Auth % "test->test"` in build.sbt, so this jar bled
into amber's test classpath and triggered a LinkageError on
javax.ws.rs.ext.RuntimeDelegate (mismatched ClassLoader on the same
class) — breaking 4 WorkflowAccessResourceSpec tests.

Avoid the dependency entirely: throw a custom `UnauthorizedException`
(extends RuntimeException) carrying the RFC 6750 §3 challenge string
as a field. A new `UnauthorizedExceptionMapper` translates it to a
`401` with `WWW-Authenticate` at the JAX-RS edge. Tests inspect the
field directly — no Response build, no RuntimeDelegate needed, no
test-classpath cross-contamination.

Side benefits: `BearerChallenge` and `InvalidTokenChallenge` move to
the JwtAuthFilter companion as exposed `val`s, so the contract is
asserted via plain string equality.

Each of the 4 microservices that registers `JwtAuthFilter` now also
registers `UnauthorizedExceptionMapper`. amber's existing tests pass
unchanged.

Report URL: https://github.com/apache/texera/actions/runs/25306985629

With regards,
GitHub Actions via GitBox

Reply via email to