The GitHub Actions job "License Binary Checker" on texera.git/main has 
succeeded.
Run started by GitHub user bobbai00 (triggered by bobbai00).

Head commit for run:
aa8966250a06c5d67e7d388f1c2f0a9646ca25b1 / Xinyuan Lin <[email protected]>
test(amber): add unit test coverage for AddressInfo (#4916)

### What changes were proposed in this PR?

Adds `AddressInfoSpec` covering `AddressInfo`
(amber/src/main/scala/org/apache/texera/amber/engine/architecture/deploysemantics/AddressInfo.scala),
the case class the cluster scheduler uses to describe worker /
controller node addresses. It has no test coverage today.

The new spec pins:
- Both fields (`allAddresses`, `controllerAddress`) round-trip from the
case-class constructor.
- The order of `allAddresses` is preserved (the cluster scheduler picks
workers based on this order, so any reorder is observable).
- An empty `allAddresses` array is accepted (controller-only
configurations).
- The controller address may also appear in `allAddresses` (collocated
mode).
- `copy()` allows one field to change while preserving the other.
- Case-class equality with an `Array` field is reference-based, not
element-wise. This is locked down explicitly so a future change to (say)
`Seq` doesn't silently flip the equality semantics for callers.

No production code changed; this is test-only.

### Any related issues, documentation, discussions?

Closes #4915

### How was this PR tested?

Added 6 new unit tests in `AddressInfoSpec`. Verified locally:

```
sbt 'WorkflowExecutionService/Test/testOnly 
org.apache.texera.amber.engine.architecture.deploysemantics.AddressInfoSpec'
# → Tests: succeeded 6, failed 0

sbt 'WorkflowExecutionService/Test/scalafmtCheck'
# → clean
```

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code

---------

Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>

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

With regards,
GitHub Actions via GitBox

Reply via email to