Skip to content

test: add player and infrastructure unit tests#76

Merged
chrisuthe merged 3 commits intomainfrom
worktree-agent-ae947df0
Mar 8, 2026
Merged

test: add player and infrastructure unit tests#76
chrisuthe merged 3 commits intomainfrom
worktree-agent-ae947df0

Conversation

@chrisuthe
Copy link
Copy Markdown
Owner

Summary

  • SendSpinPlayer: playWhenReady server notification fires callbacks, seekTo media item invokes queue callback, setError/clearError state transitions and listener notifications
  • MaApiTransportFactory: LOCAL/PROXY with null URL returns null safely, REMOTE fallback to WebSocket for non-webrtc URLs
  • UnifiedServerRepository: serialization round-trip via reflection verifies all fields (local, remote, proxy, booleans) survive persist/restore
  • FileLogger: concurrent logging from 8 threads and rapid enable/disable toggling do not crash
  • RemoteConnection.isValidRemoteId: rejects lowercase, special chars, wrong length, unicode, empty string
  • TrackMetadata.isEmpty: true for blank/empty fields, false when any field is populated

Test plan

  • Run ./gradlew testDebugUnitTest to verify all new tests pass
  • Verify no existing tests are broken by the additions
  • Spot-check that FileLogger concurrency test completes within timeout on CI

- SendSpinPlayer: playWhenReady server notification, seekTo queue
  callback, setError/clearError state transitions
- MaApiTransportFactory: LOCAL/PROXY null URL returns null, REMOTE
  fallback to WebSocket for non-webrtc URLs
- UnifiedServerRepository: verify all fields (local, remote, proxy,
  booleans) survive serialize/parse round-trip via reflection
- FileLogger: concurrent logging from 8 threads and enable/disable
  toggling do not crash or corrupt state
@chrisuthe chrisuthe merged commit a0497ab into main Mar 8, 2026
@chrisuthe chrisuthe deleted the worktree-agent-ae947df0 branch March 8, 2026 03:05
- RemoteConnection.isValidRemoteId: rejects lowercase, special chars,
  wrong length, unicode, empty string
- TrackMetadata.isEmpty: true for blank/empty fields, false when any
  field is populated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant