aglinxinyuan opened a new issue, #7834:
URL: https://github.com/apache/texera/issues/7834

   ### Task Summary
   
   
`amber/src/main/scala/org/apache/texera/web/resource/auth/AuthResource.scala` 
sits at **85.1%** (4 missed lines + 10 partial of 94). The uncovered work is 
the admin-bootstrap guard, the placeholder-email adoption guard, and the 
registration validation — all reachable with no production change.
   
   `MockTexeraDB` is on amber's test classpath (`build.sbt:270`, an explicit 
`dependsOn(DAO % "test->test", Auth % "test->test")`) and uses zonky 
EmbeddedPostgres, so no Docker is needed. `JwtAuth.jwtToken` is public and 
signs with the same secret `jwtConsumer` verifies, so tokens can be minted 
in-process — `common/auth`'s `JwtParserSpec` does exactly this in a plain 
`AnyFlatSpec`.
   
   **Two regions should be left alone.**
   
   `AuthResource.scala:49` (`case class SetEmailRequest`) carries **20 missed 
branch arms** — the single largest uncovered chunk in the file — but they are 
compiler-synthesized case-class members 
(`equals`/`hashCode`/`copy`/`toString`/`canEqual`/`product*`). Covering them 
means asserting a compiler default.
   
   More usefully: **`FinalizeCheckpointHandler` (68.2%) has zero closable 
lines**, despite looking like a natural companion to 
`PrepareCheckpointHandler`, which was covered in #7770. Its 5 missed lines are 
69-73 (`writeRecord` / `flush` / `close` / the size log). A probe spec running 
the exact production sequence gets:
   
   ```
   java.io.NotSerializableException: No configured serialization-bindings for 
class
   [org.apache.texera.amber.engine.common.CheckpointState]
   ```
   
   from `Serialization.serializerFor` inside 
`SequentialRecordWriter.writeRecord`. `CheckpointState` extends nothing, 
`common/config/src/main/resources/cluster.conf` binds only 
`java.io.Serializable` → kryo with `allow-java-serialization = off`, and 
`AmberRuntime.serde` is a JVM-global with no setter. The `#7770` harness is 
*not* the blocker — `FinalizeCheckpointHandlerSpec` already drives a real 
`WorkflowWorker` through `TestActorRef` and already reaches lines 66-68; the 
wall is one line further in.
   
   Adding `amber/src/test/resources/application.conf` would technically merge a 
test-only binding in, but that changes the Pekko config of every spec in the 
shared JVM **and** makes a green test out of a path production cannot execute — 
encoding a defect as a contract.
   
   ### Task Type
   
   - [ ] Refactor / Cleanup
   - [ ] DevOps / Deployment / CI
   - [x] Testing / QA
   - [ ] Documentation
   - [ ] Performance
   - [ ] Other
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to