(t *testing.T)
| 165 | } |
| 166 | |
| 167 | func TestHTTPClient_Post_WithCSRFToken(t *testing.T) { |
| 168 | // Create test server |
| 169 | server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| 170 | assert.Equal(t, "POST", r.Method) |
| 171 | assert.Equal(t, "PVEAuthCookie=test-ticket", r.Header.Get("Cookie")) |
| 172 | assert.Equal(t, "test-csrf", r.Header.Get("CSRFPreventionToken")) |
| 173 | |
| 174 | response := map[string]interface{}{"success": true} |
| 175 | |
| 176 | w.Header().Set("Content-Type", "application/json") |
| 177 | _ = json.NewEncoder(w).Encode(response) |
| 178 | })) |
| 179 | defer server.Close() |
| 180 | |
| 181 | client := NewHTTPClient(server.Client(), server.URL, testutils.NewTestLogger()) |
| 182 | |
| 183 | // Create mock auth manager with CSRF token |
| 184 | authManager := NewAuthManagerWithPassword(client, "user", "pass", testutils.NewTestLogger()) |
| 185 | authManager.authToken = &AuthToken{ |
| 186 | Ticket: "test-ticket", |
| 187 | CSRFToken: "test-csrf", |
| 188 | ExpiresAt: time.Now().Add(1 * time.Hour), |
| 189 | } |
| 190 | client.SetAuthManager(authManager) |
| 191 | |
| 192 | postData := map[string]interface{}{"test": "data"} |
| 193 | |
| 194 | var result map[string]interface{} |
| 195 | err := client.Post(context.Background(), "/test", postData, &result) |
| 196 | |
| 197 | require.NoError(t, err) |
| 198 | assert.True(t, result["success"].(bool)) |
| 199 | } |
| 200 | |
| 201 | func TestHTTPClient_Put_Success(t *testing.T) { |
| 202 | // Create test server |
nothing calls this directly
no test coverage detected