(t *testing.T)
| 319 | } |
| 320 | |
| 321 | func TestAuthManager_authenticate_NoTicket(t *testing.T) { |
| 322 | // Create a test server that returns response without ticket |
| 323 | server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| 324 | if r.URL.Path == testEndpoint { |
| 325 | response := map[string]interface{}{ |
| 326 | "data": map[string]interface{}{ |
| 327 | "username": "testuser", |
| 328 | // Missing ticket |
| 329 | }, |
| 330 | } |
| 331 | |
| 332 | w.Header().Set("Content-Type", "application/json") |
| 333 | _ = json.NewEncoder(w).Encode(response) |
| 334 | |
| 335 | return |
| 336 | } |
| 337 | |
| 338 | http.NotFound(w, r) |
| 339 | })) |
| 340 | defer server.Close() |
| 341 | |
| 342 | httpClient := &HTTPClient{ |
| 343 | baseURL: server.URL, |
| 344 | client: server.Client(), |
| 345 | } |
| 346 | logger := testutils.NewTestLogger() |
| 347 | |
| 348 | authManager := NewAuthManagerWithPassword(httpClient, "testuser", "testpass", logger) |
| 349 | |
| 350 | token, err := authManager.authenticate(context.Background()) |
| 351 | assert.Error(t, err) |
| 352 | assert.Nil(t, token) |
| 353 | assert.Contains(t, err.Error(), "authentication failed: no ticket received") |
| 354 | } |
| 355 | |
| 356 | func TestAuthManager_authenticate_NetworkError(t *testing.T) { |
| 357 | // Use an invalid URL to simulate network error |
nothing calls this directly
no test coverage detected