refactor(tests): Update all test files to use TestServerSetup pattern
This commit is contained in:
@@ -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{}
|
||||
|
||||
Reference in New Issue
Block a user