refactor(tests): Update all test files to use TestServerSetup pattern

This commit is contained in:
2026-02-10 13:01:12 -05:00
parent f3141f18ef
commit 6c610465eb
14 changed files with 484 additions and 608 deletions
+30 -36
View File
@@ -16,12 +16,11 @@ import (
// TestUpdateUserMaxDevices tests the admin endpoint for updating user device cap
func TestUpdateUserMaxDevices(t *testing.T) {
ts, db, _ := setupTestServer(t)
defer ts.Close()
setup := setupTestServer(t)
// Create test user with admin role
loginTestUser(t, ts, db)
adminUserID := getTestUserID(t, db)
loginTestUser(t, setup.Server, setup.DB)
adminUserID := getTestUserID(t, setup.DB)
adminToken := getAdminToken(t, ts, adminUserID)
// Create a test user
@@ -66,7 +65,7 @@ func TestUpdateUserMaxDevices(t *testing.T) {
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("PUT", ts.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("PUT", setup.Server.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+adminToken)
@@ -87,13 +86,12 @@ func TestUpdateUserMaxDevices(t *testing.T) {
// TestUpdateUserMaxDevicesValidation tests validation of max_devices parameter
func TestUpdateUserMaxDevicesValidation(t *testing.T) {
ts, db, _ := setupTestServer(t)
defer ts.Close()
setup := setupTestServer(t)
// Create admin user and get token
adminToken := loginTestUser(t, ts, db)
adminToken := loginTestUser(t, setup.Server, setup.DB)
createAdminUser(t, ts, adminToken)
adminUserID := getTestUserID(t, db)
adminUserID := getTestUserID(t, setup.DB)
adminToken = getAdminToken(t, ts, adminUserID)
// Create test user
@@ -133,7 +131,7 @@ func TestUpdateUserMaxDevicesValidation(t *testing.T) {
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("PUT", ts.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("PUT", setup.Server.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+adminToken)
@@ -149,13 +147,12 @@ func TestUpdateUserMaxDevicesValidation(t *testing.T) {
// TestUpdateUserMaxDevicesAuth tests authentication requirements
func TestUpdateUserMaxDevicesAuth(t *testing.T) {
ts, db, _ := setupTestServer(t)
defer ts.Close()
setup := setupTestServer(t)
// Create admin user
adminToken := loginTestUser(t, ts, db)
adminToken := loginTestUser(t, setup.Server, setup.DB)
createAdminUser(t, ts, adminToken)
adminUserID := getTestUserID(t, db)
adminUserID := getTestUserID(t, setup.DB)
adminToken = getAdminToken(t, ts, adminUserID)
// Create regular user
@@ -167,7 +164,7 @@ func TestUpdateUserMaxDevicesAuth(t *testing.T) {
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("PUT", ts.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("PUT", setup.Server.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
@@ -190,7 +187,7 @@ func TestUpdateUserMaxDevicesAuth(t *testing.T) {
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("PUT", ts.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("PUT", setup.Server.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+regularToken)
@@ -205,13 +202,12 @@ func TestUpdateUserMaxDevicesAuth(t *testing.T) {
// TestUpdateUserMaxDevicesNonExistentUser tests with non-existent user ID
func TestUpdateUserMaxDevicesNonExistentUser(t *testing.T) {
ts, db, _ := setupTestServer(t)
defer ts.Close()
setup := setupTestServer(t)
// Create admin user
adminToken := loginTestUser(t, ts, db)
adminToken := loginTestUser(t, setup.Server, setup.DB)
createAdminUser(t, ts, adminToken)
adminUserID := getTestUserID(t, db)
adminUserID := getTestUserID(t, setup.DB)
adminToken = getAdminToken(t, ts, adminUserID)
// Use a non-existent user ID
@@ -222,7 +218,7 @@ func TestUpdateUserMaxDevicesNonExistentUser(t *testing.T) {
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("PUT", ts.URL+"/api/auth/users/"+nonExistentUserID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("PUT", setup.Server.URL+"/api/auth/users/"+nonExistentUserID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+adminToken)
@@ -237,13 +233,12 @@ func TestUpdateUserMaxDevicesNonExistentUser(t *testing.T) {
// TestUpdateUserMaxDevicesMissingUserID tests with missing user ID in URL
func TestUpdateUserMaxDevicesMissingUserID(t *testing.T) {
ts, db, _ := setupTestServer(t)
defer ts.Close()
setup := setupTestServer(t)
// Create admin user
adminToken := loginTestUser(t, ts, db)
adminToken := loginTestUser(t, setup.Server, setup.DB)
createAdminUser(t, ts, adminToken)
adminUserID := getTestUserID(t, db)
adminUserID := getTestUserID(t, setup.DB)
adminToken = getAdminToken(t, ts, adminUserID)
payload := map[string]interface{}{
@@ -252,7 +247,7 @@ func TestUpdateUserMaxDevicesMissingUserID(t *testing.T) {
jsonData, _ := json.Marshal(payload)
// Missing user ID in URL
req, _ := http.NewRequest("PUT", ts.URL+"/api/auth/users//max-devices", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("PUT", setup.Server.URL+"/api/auth/users//max-devices", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+adminToken)
@@ -266,16 +261,15 @@ func TestUpdateUserMaxDevicesMissingUserID(t *testing.T) {
// TestListUsersIncludesMaxDevices tests that List Users returns max_devices field
func TestListUsersIncludesMaxDevices(t *testing.T) {
ts, db, _ := setupTestServer(t)
defer ts.Close()
setup := setupTestServer(t)
// Create admin user
adminToken := loginTestUser(t, ts, db)
adminToken := loginTestUser(t, setup.Server, setup.DB)
createAdminUser(t, ts, adminToken)
adminUserID := getTestUserID(t, db)
adminUserID := getTestUserID(t, setup.DB)
adminToken = getAdminToken(t, ts, adminUserID)
req, _ := http.NewRequest("GET", ts.URL+"/api/auth/users", nil)
req, _ := http.NewRequest("GET", setup.Server.URL+"/api/auth/users", nil)
req.Header.Set("Authorization", "Bearer "+adminToken)
client := &http.Client{}
@@ -310,7 +304,7 @@ func createAdminUser(t *testing.T, ts *httptest.Server, token string) {
}
jsonData, _ := json.Marshal(createUserPayload)
req, _ := http.NewRequest("POST", ts.URL+"/api/auth/register", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("POST", setup.Server.URL+"/api/auth/register", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+token)
@@ -330,7 +324,7 @@ func createTestUserForMaxDevices(t *testing.T, ts *httptest.Server, adminToken s
}
jsonData, _ := json.Marshal(createUserPayload)
req, _ := http.NewRequest("POST", ts.URL+"/api/auth/register", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("POST", setup.Server.URL+"/api/auth/register", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+adminToken)
@@ -348,7 +342,7 @@ func createTestUserForMaxDevices(t *testing.T, ts *httptest.Server, adminToken s
"password": "Test@Pass123!",
}
loginData, _ := json.Marshal(loginPayload)
loginReq, _ := http.NewRequest("POST", ts.URL+"/api/auth/login", bytes.NewBuffer(loginData))
loginReq, _ := http.NewRequest("POST", setup.Server.URL+"/api/auth/login", bytes.NewBuffer(loginData))
loginReq.Header.Set("Content-Type", "application/json")
loginResp, err := client.Do(loginReq)
@@ -426,7 +420,7 @@ func getAdminToken(t *testing.T, ts *httptest.Server, userID uuid.UUID) string {
}
jsonData, _ := json.Marshal(loginPayload)
req, _ := http.NewRequest("POST", ts.URL+"/api/auth/login", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("POST", setup.Server.URL+"/api/auth/login", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
@@ -454,7 +448,7 @@ func loginTestUserByCredentials(t *testing.T, ts *httptest.Server, email, passwo
}
jsonData, _ := json.Marshal(loginPayload)
req, _ := http.NewRequest("POST", ts.URL+"/api/auth/login", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("POST", setup.Server.URL+"/api/auth/login", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}