c5661de4a0
Build & Test (NowChessSystems) TeamCity build finished
## Summary
- Implements the full tournament lifecycle (create, join, withdraw, start,
round progression, finish) as a standalone Quarkus module
- All 11 endpoints from the OpenAPI spec (`docs/tournament-openapi.yaml`) are covered
- Swiss pairing algorithm with Buchholz tiebreak and bye support
- Per-bot NDJSON event stream with targeted `gameStart` events carrying
the correct `color` field
- Game results ingested via Redis writeback stream (`GameResultStreamListener`)
## Known gaps (deferred)
- `GET /results` `nb` param defaults to 100 instead of all
- `PairingDto` exposes an internal `id` field not in the spec
- `GameExport.moves` emits PGN instead of UCI (upstream `GameWritebackEventDto`
does not carry UCI moves)
- `Pairing.white` can be `null` for bye rounds (spec has no bye concept)
## Test plan
- [x] 23 `TournamentResourceTest` integration tests (H2, mocked core client) — all pass
- [x] 5 `SwissPairingServiceTest` unit tests — all pass
- [x] Redis listener excluded in test/dev profiles; no Docker required to run tests
---------
Co-authored-by: LQ63 <lkhermann@web.de>
Co-authored-by: Lala, Shahd <Shahd.Lala@sybit.de>
Reviewed-on: #55
60 lines
1.3 KiB
YAML
60 lines
1.3 KiB
YAML
quarkus:
|
|
http:
|
|
port: 8088
|
|
application:
|
|
name: nowchess-tournament
|
|
redis:
|
|
hosts: redis://${REDIS_HOST:localhost}:${REDIS_PORT:6379}
|
|
rest-client:
|
|
core-service:
|
|
url: http://localhost:8080
|
|
datasource:
|
|
db-kind: h2
|
|
username: sa
|
|
password: ""
|
|
jdbc:
|
|
url: jdbc:h2:mem:nowchess-tournament;DB_CLOSE_DELAY=-1
|
|
hibernate-orm:
|
|
schema-management:
|
|
strategy: drop-and-create
|
|
smallrye-jwt:
|
|
enabled: true
|
|
|
|
nowchess:
|
|
redis:
|
|
host: ${REDIS_HOST:localhost}
|
|
port: ${REDIS_PORT:6379}
|
|
prefix: ${REDIS_PREFIX:nowchess}
|
|
internal:
|
|
secret: ${INTERNAL_SECRET:123abc}
|
|
|
|
mp:
|
|
jwt:
|
|
verify:
|
|
publickey:
|
|
location: keys/public.pem
|
|
issuer: nowchess
|
|
|
|
"%deployed":
|
|
quarkus:
|
|
datasource:
|
|
db-kind: postgresql
|
|
username: ${DB_USER:nowchess}
|
|
password: ${DB_PASSWORD:nowchess}
|
|
jdbc:
|
|
url: ${DB_URL:jdbc:postgresql://localhost:5432/nowchess}
|
|
hibernate-orm:
|
|
schema-management:
|
|
strategy: update
|
|
|
|
"%test":
|
|
quarkus:
|
|
datasource:
|
|
jdbc:
|
|
url: jdbc:h2:mem:nowchess-tournament;DB_CLOSE_DELAY=-1
|
|
hibernate-orm:
|
|
schema-management:
|
|
strategy: drop-and-create
|
|
arc:
|
|
exclude-types: de.nowchess.tournament.redis.GameResultStreamListener
|