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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user