summaryrefslogtreecommitdiff
path: root/cmd/mediaplayer/main_test.go
AgeCommit message (Collapse)Author
2026-05-04task l: rename binary from mediaplayer to playerPaul Buetow
2026-05-03test: raise coverage above 60% in cmd/mediaplayer, model, and probePaul Buetow
- cmd/mediaplayer: add runWithSignal injection point for testing; cover version flag, invalid flags, invalid config, normal shutdown, all log levels, invalid DB, and privileged-port bind failure. Refactor run() to delegate to runWithSignal with optional signal channel. - internal/config: allow PORT=0 (ephemeral) to support test server startup. Update AGENTS.md validation docs accordingly. - internal/model: add comprehensive ScanProgress tests (Start, Done, IncrementFile/Set, SetCurrentSet/FilesTotal, Copy isolation, and concurrent access). - internal/probe: add image tests for isImagePath (all extensions and case insensitivity), real EXIF extraction via ImageMagick + exiv2, Probe against real JPEG, MP4, empty file, and nonexistent paths. - internal/config_test: replace PORT=0 invalid-value test with PORT=-1.
2026-05-01Rename Go module from codeberg.org/snonux/play to codeberg.org/snonux/playerPaul Buetow
2026-04-30pa: raise aggregate test coverage to 81.5%Paul Buetow
2026-04-30fa: wire GCWorker startup and shutdown in cmd/mediaplayer/main.goPaul Buetow
- Refactor main into run(args) for testability and clean error propagation. - Create slog.Logger from cfg.LogLevel using TextHandler. - Instantiate service.NewGCWorker with store, clock, cfg.MediaRoot, and time.Duration(cfg.GCIntervalMinutes)*time.Minute. - Start GCWorker after construction and defer Stop for graceful shutdown. - Add cmd/mediaplayer/main_test.go as an integration smoke test wiring the GCWorker against a real SQLite store.