Commit Graph
4 Commits
Author SHA1 Message Date
john-okeefe 5bb273f6aa Improve Phase 1 integration test robustness
Update test credentials and add better error handling for user registration and login scenarios to prevent test failures from incomplete test runs.
2026-01-31 11:45:56 -05:00
john-okeefe 77d683277a test: add WebSocket integration tests
Add comprehensive WebSocket test coverage:
- TestWebSocketConnection: Basic connection and JWT auth
- TestWebSocketDeviceAuth: Device token authentication
- TestWebSocketProgressBroadcast: Real-time update delivery
- TestWebSocketPingPong: Heartbeat mechanism
- TestWebSocketConnectionLimit: Multiple concurrent connections
- TestWebSocketInvalidToken: Rejection of invalid tokens
- Helper function for test media item creation

Update test helpers to create ConnectionManager for tests.
Tests verify WebSocket connection, authentication, and
real-time progress broadcast functionality.
2026-01-30 21:48:30 -05:00
john-okeefe 95fe849eeb Fix test infrastructure and device UUID handling
- Remove manual device ID generation, use database-generated IDs
- Add comprehensive test helpers (setupTestServer, loginTestUser, getTestUserID)
- Add cleanup step for existing test users in integration tests
- Fix UUID parsing from database responses
2026-01-30 20:16:19 -05:00
john-okeefe 9d32e5a0f0 Add comprehensive integration tests for Phase 2 device management
Test Files Added:
- integration_test.sh: Automated integration test script
  * Tests full user flow: register, login, library creation, scanning
  * Tests device registration and management
  * Color-coded output with pass/fail tracking
  * Generates detailed test results report

- cmd/server/tests/device_test.go: Unit tests for device endpoints
  * TestDeviceRegistrationFlow: Full registration flow test
  * TestListDevices: Device listing functionality
  * TestUpdateDevice: Device settings updates
  * TestDeleteDevice: Device removal
  * TestDeviceAuthentication: Device auth middleware test

- cmd/server/tests/phase1_integration_test.go: Phase 1 integration tests
  * Tests universal progress tracking
  * Tests format group detection
  * Tests progress conversion

Test Coverage:
- Device registration with web-based approval flow
- Device management (list, update, delete)
- Device authentication and token validation
- User authentication and authorization
- Library creation and management
- Scanner integration
- Media items listing

Notes:
- Tests designed to run against live server on localhost:8765
- Integration test script uses bash/curl for endpoint testing
- Device tests require helper functions to be implemented
2026-01-30 16:57:01 -05:00