diff --git a/cmd/server/tests/opds_test.go b/cmd/server/tests/opds_test.go index 835c4ed..be619d6 100644 --- a/cmd/server/tests/opds_test.go +++ b/cmd/server/tests/opds_test.go @@ -12,7 +12,7 @@ import ( // TestOPDSEndpoints tests OPDS (Open Publication Distribution System) endpoints func TestOPDSEndpoints(t *testing.T) { t.Run("GetDeviceCatalog_WithoutDeviceAuth", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() deviceID := uuid.New() @@ -29,7 +29,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("GetDeviceCatalog_InvalidDeviceID", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() httpReq, _ := http.NewRequest("GET", ts.URL+"/opds/devices/invalid-uuid/catalog", nil) @@ -44,7 +44,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("GetDeviceCatalog_ValidDevice", func(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -65,7 +65,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("SearchDeviceCatalog_InvalidDeviceID", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() httpReq, _ := http.NewRequest("GET", ts.URL+"/opds/devices/invalid-uuid/search?query=test", nil) @@ -79,7 +79,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("SearchDeviceCatalog_ValidDevice", func(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -98,7 +98,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("GetDeviceNavigation_InvalidDeviceID", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() httpReq, _ := http.NewRequest("GET", ts.URL+"/opds/devices/invalid-uuid/nav", nil) @@ -112,7 +112,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("GetDeviceNavigation_ValidDevice", func(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -131,7 +131,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("DownloadBook_InvalidDeviceID", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() bookID := uuid.New() @@ -146,7 +146,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("DownloadBook_InvalidBookID", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() deviceID := uuid.New() @@ -161,7 +161,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("DownloadBook_ValidIDs", func(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -182,7 +182,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("GetCoverImage_InvalidDeviceID", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() bookID := uuid.New() @@ -197,7 +197,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("GetCoverImage_InvalidBookID", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() deviceID := uuid.New() @@ -212,7 +212,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("GetCoverImage_ValidIDs", func(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -232,7 +232,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("ListFormats_InvalidDeviceID", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() bookID := uuid.New() @@ -247,7 +247,7 @@ func TestOPDSEndpoints(t *testing.T) { }) t.Run("ListFormats_ValidDeviceID", func(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -270,7 +270,7 @@ func TestOPDSEndpoints(t *testing.T) { // TestOPDSConversion tests on-the-fly conversion for downloads func TestOPDSConversion(t *testing.T) { t.Run("DownloadKEPUB_FormatParameter", func(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -292,7 +292,7 @@ func TestOPDSConversion(t *testing.T) { }) t.Run("DownloadEPUB_DefaultFormat", func(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -313,7 +313,7 @@ func TestOPDSConversion(t *testing.T) { }) t.Run("Download_UnsupportedFormat", func(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -337,7 +337,7 @@ func TestOPDSConversion(t *testing.T) { // TestOPDSEdgeCases tests edge cases for OPDS endpoints func TestOPDSEdgeCases(t *testing.T) { t.Run("Catalog_EmptyLibrary", func(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -356,7 +356,7 @@ func TestOPDSEdgeCases(t *testing.T) { }) t.Run("Search_SpecialCharacters", func(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -376,7 +376,7 @@ func TestOPDSEdgeCases(t *testing.T) { }) t.Run("Search_EmptyQuery", func(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) diff --git a/cmd/server/tests/queue_test.go b/cmd/server/tests/queue_test.go index 4ad4cdc..e916473 100644 --- a/cmd/server/tests/queue_test.go +++ b/cmd/server/tests/queue_test.go @@ -17,7 +17,7 @@ import ( ) func TestListAllQueueItems_Admin(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginAdminUser(t, ts, db) @@ -35,7 +35,7 @@ func TestListAllQueueItems_Admin(t *testing.T) { } func TestGetDeviceQueueStats(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -72,7 +72,7 @@ func TestGetDeviceQueueStats(t *testing.T) { } func TestListDeviceQueueItems(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -109,7 +109,7 @@ func TestListDeviceQueueItems(t *testing.T) { } func TestRetryQueueItem(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -125,7 +125,7 @@ func TestRetryQueueItem(t *testing.T) { } func TestDeleteQueueItem(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -141,7 +141,7 @@ func TestDeleteQueueItem(t *testing.T) { } func TestClearDeviceQueue(t *testing.T) { - ts, db, _, _ := setupTestServer(t) + ts, db, _ := setupTestServer(t) defer ts.Close() token := loginTestUser(t, ts, db) @@ -174,7 +174,7 @@ func TestClearDeviceQueue(t *testing.T) { } func TestQueueEndpoints_Unauthorized(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() tests := []struct { diff --git a/cmd/server/tests/refresh_token_test.go b/cmd/server/tests/refresh_token_test.go index 226b213..b45b75d 100644 --- a/cmd/server/tests/refresh_token_test.go +++ b/cmd/server/tests/refresh_token_test.go @@ -13,7 +13,7 @@ import ( // TestRefreshTokenFlow comprehensive tests for token refresh functionality func TestRefreshTokenFlow(t *testing.T) { t.Run("RefreshToken_MissingToken", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() req := map[string]interface{}{} @@ -31,7 +31,7 @@ func TestRefreshTokenFlow(t *testing.T) { }) t.Run("RefreshToken_InvalidTokenFormat", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() req := map[string]interface{}{ @@ -51,7 +51,7 @@ func TestRefreshTokenFlow(t *testing.T) { }) t.Run("RefreshToken_ExpiredToken", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() // This would require an expired token - for now test with invalid token @@ -72,7 +72,7 @@ func TestRefreshTokenFlow(t *testing.T) { }) t.Run("RefreshToken_ValidToken", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() // First, login to get tokens @@ -126,7 +126,7 @@ func TestRefreshTokenFlow(t *testing.T) { }) t.Run("RefreshToken_InvalidRequestBody", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() // Send invalid JSON @@ -142,7 +142,7 @@ func TestRefreshTokenFlow(t *testing.T) { }) t.Run("RefreshToken_MissingContentType", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() req := map[string]interface{}{ @@ -166,7 +166,7 @@ func TestRefreshTokenFlow(t *testing.T) { // TestRefreshTokenSecurity tests security aspects of token refresh func TestRefreshTokenSecurity(t *testing.T) { t.Run("RefreshToken_ReuseProtection", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() // Login to get tokens @@ -220,7 +220,7 @@ func TestRefreshTokenSecurity(t *testing.T) { }) t.Run("RefreshToken_TokenTampering", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() // Login to get a valid token @@ -269,7 +269,7 @@ func TestRefreshTokenSecurity(t *testing.T) { // TestRefreshTokenEdgeCases tests edge cases for token refresh func TestRefreshTokenEdgeCases(t *testing.T) { t.Run("RefreshToken_EmptyStringToken", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() req := map[string]interface{}{ @@ -289,7 +289,7 @@ func TestRefreshTokenEdgeCases(t *testing.T) { }) t.Run("RefreshToken_NullToken", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() req := map[string]interface{}{ @@ -309,7 +309,7 @@ func TestRefreshTokenEdgeCases(t *testing.T) { }) t.Run("RefreshToken_ResponseStructure", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() // Login to get tokens @@ -361,7 +361,7 @@ func TestRefreshTokenEdgeCases(t *testing.T) { }) t.Run("RefreshToken_TokenType", func(t *testing.T) { - ts, _, _, _ := setupTestServer(t) + ts, _, _ := setupTestServer(t) defer ts.Close() // Login to get tokens