test: improve test isolation and setup management
Add Token and RegularToken fields to TestServerSetup for pre-authenticated access. Update setupTestServer to create fresh users with valid tokens at initialization time. Simplify createTestMediaItemID to use setup.Token. Remove loginTestUser, loginRegularUser, loginAdminUser functions in favor of setup.Token/setup.RegularToken. Update createTestUserOnce and getTestUserID/getRegularUserID to be idempotent. Update all test files to use setup.Token instead of calling login helpers.
This commit is contained in:
@@ -16,7 +16,6 @@ import (
|
||||
// TestMediaBulkOperations tests bulk media operations
|
||||
func TestMediaBulkOperations(t *testing.T) {
|
||||
setup := setupTestServer(t)
|
||||
token := loginTestUser(t, setup.Server, setup.DB)
|
||||
|
||||
t.Run("BulkDeleteBooks_WithoutAuth", func(t *testing.T) {
|
||||
mediaIDs := []string{uuid.New().String()}
|
||||
@@ -54,7 +53,7 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
|
||||
httpReq, _ := http.NewRequest("POST", setup.Server.URL+"/api/media-items/bulk-delete", bytes.NewBuffer(body))
|
||||
httpReq.Header.Set("Content-Type", "application/json")
|
||||
httpReq.Header.Set("Authorization", "Bearer "+token)
|
||||
httpReq.Header.Set("Authorization", "Bearer "+setup.Token)
|
||||
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(httpReq)
|
||||
@@ -72,7 +71,7 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
|
||||
httpReq, _ := http.NewRequest("POST", setup.Server.URL+"/api/media-items/bulk-delete", bytes.NewBuffer(body))
|
||||
httpReq.Header.Set("Content-Type", "application/json")
|
||||
httpReq.Header.Set("Authorization", "Bearer "+token)
|
||||
httpReq.Header.Set("Authorization", "Bearer "+setup.Token)
|
||||
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(httpReq)
|
||||
@@ -91,8 +90,8 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("BulkDeleteBooks_WithValidBooks", func(t *testing.T) {
|
||||
mediaID1 := createTestMediaItemID(t, setup.Server)
|
||||
mediaID2 := createTestMediaItemID(t, setup.Server)
|
||||
mediaID1 := createTestMediaItemID(t, setup)
|
||||
mediaID2 := createTestMediaItemID(t, setup)
|
||||
mediaID3 := uuid.New().String()
|
||||
|
||||
req := map[string]interface{}{
|
||||
@@ -102,7 +101,7 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
|
||||
httpReq, _ := http.NewRequest("POST", setup.Server.URL+"/api/media-items/bulk-delete", bytes.NewBuffer(body))
|
||||
httpReq.Header.Set("Content-Type", "application/json")
|
||||
httpReq.Header.Set("Authorization", "Bearer "+token)
|
||||
httpReq.Header.Set("Authorization", "Bearer "+setup.Token)
|
||||
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(httpReq)
|
||||
@@ -126,7 +125,7 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
// Send invalid JSON
|
||||
httpReq, _ := http.NewRequest("POST", setup.Server.URL+"/api/media-items/bulk-delete", bytes.NewBuffer([]byte("invalid json")))
|
||||
httpReq.Header.Set("Content-Type", "application/json")
|
||||
httpReq.Header.Set("Authorization", "Bearer "+token)
|
||||
httpReq.Header.Set("Authorization", "Bearer "+setup.Token)
|
||||
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(httpReq)
|
||||
@@ -175,7 +174,7 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
|
||||
httpReq, _ := http.NewRequest("POST", setup.Server.URL+"/api/media-items/bulk-update", bytes.NewBuffer(body))
|
||||
httpReq.Header.Set("Content-Type", "application/json")
|
||||
httpReq.Header.Set("Authorization", "Bearer "+token)
|
||||
httpReq.Header.Set("Authorization", "Bearer "+setup.Token)
|
||||
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(httpReq)
|
||||
@@ -200,7 +199,7 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
|
||||
httpReq, _ := http.NewRequest("POST", setup.Server.URL+"/api/media-items/bulk-update", bytes.NewBuffer(body))
|
||||
httpReq.Header.Set("Content-Type", "application/json")
|
||||
httpReq.Header.Set("Authorization", "Bearer "+token)
|
||||
httpReq.Header.Set("Authorization", "Bearer "+setup.Token)
|
||||
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(httpReq)
|
||||
@@ -219,8 +218,8 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("BulkUpdateBooks_UpdateTags", func(t *testing.T) {
|
||||
mediaID1 := createTestMediaItemID(t, setup.Server)
|
||||
mediaID2 := createTestMediaItemID(t, setup.Server)
|
||||
mediaID1 := createTestMediaItemID(t, setup)
|
||||
mediaID2 := createTestMediaItemID(t, setup)
|
||||
|
||||
req := map[string]interface{}{
|
||||
"media_item_updates": []map[string]interface{}{
|
||||
@@ -242,7 +241,7 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
|
||||
httpReq, _ := http.NewRequest("POST", setup.Server.URL+"/api/media-items/bulk-update", bytes.NewBuffer(body))
|
||||
httpReq.Header.Set("Content-Type", "application/json")
|
||||
httpReq.Header.Set("Authorization", "Bearer "+token)
|
||||
httpReq.Header.Set("Authorization", "Bearer "+setup.Token)
|
||||
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(httpReq)
|
||||
@@ -263,10 +262,10 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("BulkUpdateBooks_UpdateReadingStatus", func(t *testing.T) {
|
||||
mediaID1 := createTestMediaItemID(t, setup.Server)
|
||||
mediaID2 := createTestMediaItemID(t, setup.Server)
|
||||
mediaID3 := createTestMediaItemID(t, setup.Server)
|
||||
mediaID4 := createTestMediaItemID(t, setup.Server)
|
||||
mediaID1 := createTestMediaItemID(t, setup)
|
||||
mediaID2 := createTestMediaItemID(t, setup)
|
||||
mediaID3 := createTestMediaItemID(t, setup)
|
||||
mediaID4 := createTestMediaItemID(t, setup)
|
||||
|
||||
req := map[string]interface{}{
|
||||
"media_item_updates": []map[string]interface{}{
|
||||
@@ -300,7 +299,7 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
|
||||
httpReq, _ := http.NewRequest("POST", setup.Server.URL+"/api/media-items/bulk-update", bytes.NewBuffer(body))
|
||||
httpReq.Header.Set("Content-Type", "application/json")
|
||||
httpReq.Header.Set("Authorization", "Bearer "+token)
|
||||
httpReq.Header.Set("Authorization", "Bearer "+setup.Token)
|
||||
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(httpReq)
|
||||
@@ -330,7 +329,7 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("BulkUpdateBooks_UpdateMultipleFields", func(t *testing.T) {
|
||||
mediaID1 := createTestMediaItemID(t, setup.Server)
|
||||
mediaID1 := createTestMediaItemID(t, setup)
|
||||
|
||||
req := map[string]interface{}{
|
||||
"media_item_updates": []map[string]interface{}{
|
||||
@@ -348,7 +347,7 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
|
||||
httpReq, _ := http.NewRequest("POST", setup.Server.URL+"/api/media-items/bulk-update", bytes.NewBuffer(body))
|
||||
httpReq.Header.Set("Content-Type", "application/json")
|
||||
httpReq.Header.Set("Authorization", "Bearer "+token)
|
||||
httpReq.Header.Set("Authorization", "Bearer "+setup.Token)
|
||||
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(httpReq)
|
||||
@@ -367,7 +366,7 @@ func TestMediaBulkOperations(t *testing.T) {
|
||||
// Send invalid JSON
|
||||
httpReq, _ := http.NewRequest("POST", setup.Server.URL+"/api/media-items/bulk-update", bytes.NewBuffer([]byte("invalid json")))
|
||||
httpReq.Header.Set("Content-Type", "application/json")
|
||||
httpReq.Header.Set("Authorization", "Bearer "+token)
|
||||
httpReq.Header.Set("Authorization", "Bearer "+setup.Token)
|
||||
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(httpReq)
|
||||
|
||||
Reference in New Issue
Block a user