fix(tests): Fix edge cases in test file migration
This commit is contained in:
@@ -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{}
|
||||
|
||||
Reference in New Issue
Block a user