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:
2026-02-22 01:57:22 -05:00
parent 9a09161f24
commit f54508e4dd
16 changed files with 819 additions and 793 deletions
+4 -4
View File
@@ -20,7 +20,7 @@ import (
setup := setupTestServer(t)
// Get JWT token for a test user
token := loginTestUser(t, setup.Server, setup.DB)
token := setup.Token
// Connect to WebSocket endpoint
wsURL := strings.Replace(setup.Server.URL, "http", "ws", 1) + "/ws/sync?token=" + token
@@ -83,7 +83,7 @@ func TestWebSocketDeviceAuth(t *testing.T) {
setup := setupTestServer(t)
// Get JWT token
token := loginTestUser(t, setup.Server, setup.DB)
token := setup.Token
// Create a test media item
userID := getTestUserID(t, setup.DB)
@@ -144,7 +144,7 @@ assert.Equal(t, "web", sourceDevice["type"])
/* func TestWebSocketPingPong(t *testing.T) {
setup := setupTestServer(t)
token := loginTestUser(t, setup.Server, setup.DB)
token := setup.Token
wsURL := strings.Replace(setup.Server.URL, "http", "ws", 1) + "/ws/sync?token=" + token
ws, _, err := websocket.DefaultDialer.Dial(wsURL, nil)
@@ -176,7 +176,7 @@ if err == nil {
/* func TestWebSocketConnectionLimit(t *testing.T) {
setup := setupTestServer(t)
token := loginTestUser(t, setup.Server, setup.DB)
token := setup.Token
// Create multiple connections
connections := make([]*websocket.Conn, 5)