fix(tests): Fix edge cases in test file migration

This commit is contained in:
2026-02-10 13:03:32 -05:00
parent 6c610465eb
commit 5b32b59781
4 changed files with 43 additions and 47 deletions
+28 -28
View File
@@ -21,10 +21,10 @@ func TestUpdateUserMaxDevices(t *testing.T) {
// Create test user with admin role
loginTestUser(t, setup.Server, setup.DB)
adminUserID := getTestUserID(t, setup.DB)
adminToken := getAdminToken(t, ts, adminUserID)
adminToken := getAdminToken(t, setup.Server, adminUserID)
// Create a test user
userID := createTestUserForMaxDevices(t, ts, adminToken)
userID := createTestUserForMaxDevices(t, setup.Server, adminToken)
tests := []struct {
name string
@@ -65,7 +65,7 @@ func TestUpdateUserMaxDevices(t *testing.T) {
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("PUT", setup.Server.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("PUT", ts.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+adminToken)
@@ -90,12 +90,12 @@ func TestUpdateUserMaxDevicesValidation(t *testing.T) {
// Create admin user and get token
adminToken := loginTestUser(t, setup.Server, setup.DB)
createAdminUser(t, ts, adminToken)
createAdminUser(t, setup.Server, adminToken)
adminUserID := getTestUserID(t, setup.DB)
adminToken = getAdminToken(t, ts, adminUserID)
adminToken = getAdminToken(t, setup.Server, adminUserID)
// Create test user
userID := createTestUserForMaxDevices(t, ts, adminToken)
userID := createTestUserForMaxDevices(t, setup.Server, adminToken)
tests := []struct {
name string
@@ -131,7 +131,7 @@ func TestUpdateUserMaxDevicesValidation(t *testing.T) {
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("PUT", setup.Server.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("PUT", ts.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+adminToken)
@@ -151,12 +151,12 @@ func TestUpdateUserMaxDevicesAuth(t *testing.T) {
// Create admin user
adminToken := loginTestUser(t, setup.Server, setup.DB)
createAdminUser(t, ts, adminToken)
createAdminUser(t, setup.Server, adminToken)
adminUserID := getTestUserID(t, setup.DB)
adminToken = getAdminToken(t, ts, adminUserID)
adminToken = getAdminToken(t, setup.Server, adminUserID)
// Create regular user
userID := createTestUserForMaxDevices(t, ts, adminToken)
userID := createTestUserForMaxDevices(t, setup.Server, adminToken)
t.Run("No authorization", func(t *testing.T) {
payload := map[string]interface{}{
@@ -164,7 +164,7 @@ func TestUpdateUserMaxDevicesAuth(t *testing.T) {
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("PUT", setup.Server.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("PUT", ts.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
@@ -177,9 +177,9 @@ func TestUpdateUserMaxDevicesAuth(t *testing.T) {
t.Run("Non-admin user", func(t *testing.T) {
// Create another regular user and get their token
_ = createTestUserForMaxDevices(t, ts, adminToken)
_ = createTestUserForMaxDevices(t, setup.Server, adminToken)
// Login as the maxdevices user (who is a regular user, not admin)
regularToken := loginTestUserByCredentials(t, ts, "maxdevices@example.com", "Test@Pass123!")
regularToken := loginTestUserByCredentials(t, setup.Server, "maxdevices@example.com", "Test@Pass123!")
require.NotEmpty(t, regularToken, "Failed to login as regular user")
payload := map[string]interface{}{
@@ -187,7 +187,7 @@ func TestUpdateUserMaxDevicesAuth(t *testing.T) {
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("PUT", setup.Server.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("PUT", ts.URL+"/api/auth/users/"+userID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+regularToken)
@@ -206,9 +206,9 @@ func TestUpdateUserMaxDevicesNonExistentUser(t *testing.T) {
// Create admin user
adminToken := loginTestUser(t, setup.Server, setup.DB)
createAdminUser(t, ts, adminToken)
createAdminUser(t, setup.Server, adminToken)
adminUserID := getTestUserID(t, setup.DB)
adminToken = getAdminToken(t, ts, adminUserID)
adminToken = getAdminToken(t, setup.Server, adminUserID)
// Use a non-existent user ID
nonExistentUserID := uuid.New()
@@ -218,7 +218,7 @@ func TestUpdateUserMaxDevicesNonExistentUser(t *testing.T) {
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("PUT", setup.Server.URL+"/api/auth/users/"+nonExistentUserID.String()+"/max-devices", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("PUT", ts.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,9 +237,9 @@ func TestUpdateUserMaxDevicesMissingUserID(t *testing.T) {
// Create admin user
adminToken := loginTestUser(t, setup.Server, setup.DB)
createAdminUser(t, ts, adminToken)
createAdminUser(t, setup.Server, adminToken)
adminUserID := getTestUserID(t, setup.DB)
adminToken = getAdminToken(t, ts, adminUserID)
adminToken = getAdminToken(t, setup.Server, adminUserID)
payload := map[string]interface{}{
"max_devices": 10,
@@ -247,7 +247,7 @@ func TestUpdateUserMaxDevicesMissingUserID(t *testing.T) {
jsonData, _ := json.Marshal(payload)
// Missing user ID in URL
req, _ := http.NewRequest("PUT", setup.Server.URL+"/api/auth/users//max-devices", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("PUT", ts.URL+"/api/auth/users//max-devices", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+adminToken)
@@ -265,11 +265,11 @@ func TestListUsersIncludesMaxDevices(t *testing.T) {
// Create admin user
adminToken := loginTestUser(t, setup.Server, setup.DB)
createAdminUser(t, ts, adminToken)
createAdminUser(t, setup.Server, adminToken)
adminUserID := getTestUserID(t, setup.DB)
adminToken = getAdminToken(t, ts, adminUserID)
adminToken = getAdminToken(t, setup.Server, adminUserID)
req, _ := http.NewRequest("GET", setup.Server.URL+"/api/auth/users", nil)
req, _ := http.NewRequest("GET", ts.URL+"/api/auth/users", nil)
req.Header.Set("Authorization", "Bearer "+adminToken)
client := &http.Client{}
@@ -304,7 +304,7 @@ func createAdminUser(t *testing.T, ts *httptest.Server, token string) {
}
jsonData, _ := json.Marshal(createUserPayload)
req, _ := http.NewRequest("POST", setup.Server.URL+"/api/auth/register", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("POST", ts.URL+"/api/auth/register", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+token)
@@ -324,7 +324,7 @@ func createTestUserForMaxDevices(t *testing.T, ts *httptest.Server, adminToken s
}
jsonData, _ := json.Marshal(createUserPayload)
req, _ := http.NewRequest("POST", setup.Server.URL+"/api/auth/register", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("POST", ts.URL+"/api/auth/register", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+adminToken)
@@ -342,7 +342,7 @@ func createTestUserForMaxDevices(t *testing.T, ts *httptest.Server, adminToken s
"password": "Test@Pass123!",
}
loginData, _ := json.Marshal(loginPayload)
loginReq, _ := http.NewRequest("POST", setup.Server.URL+"/api/auth/login", bytes.NewBuffer(loginData))
loginReq, _ := http.NewRequest("POST", ts.URL+"/api/auth/login", bytes.NewBuffer(loginData))
loginReq.Header.Set("Content-Type", "application/json")
loginResp, err := client.Do(loginReq)
@@ -420,7 +420,7 @@ func getAdminToken(t *testing.T, ts *httptest.Server, userID uuid.UUID) string {
}
jsonData, _ := json.Marshal(loginPayload)
req, _ := http.NewRequest("POST", setup.Server.URL+"/api/auth/login", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("POST", ts.URL+"/api/auth/login", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
@@ -448,7 +448,7 @@ func loginTestUserByCredentials(t *testing.T, ts *httptest.Server, email, passwo
}
jsonData, _ := json.Marshal(loginPayload)
req, _ := http.NewRequest("POST", setup.Server.URL+"/api/auth/login", bytes.NewBuffer(jsonData))
req, _ := http.NewRequest("POST", ts.URL+"/api/auth/login", bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}