(t *testing.T)
| 163 | } |
| 164 | |
| 165 | func TestAuthManager_GetValidToken_WithExpiredToken(t *testing.T) { |
| 166 | // Create a test server that returns a successful authentication response |
| 167 | server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| 168 | if r.URL.Path == testEndpoint && r.Method == http.MethodPost { |
| 169 | response := map[string]interface{}{ |
| 170 | "data": map[string]interface{}{ |
| 171 | "ticket": "new-ticket", |
| 172 | "CSRFPreventionToken": "new-csrf", |
| 173 | "username": "testuser", |
| 174 | }, |
| 175 | } |
| 176 | |
| 177 | w.Header().Set("Content-Type", "application/json") |
| 178 | _ = json.NewEncoder(w).Encode(response) |
| 179 | |
| 180 | return |
| 181 | } |
| 182 | |
| 183 | http.NotFound(w, r) |
| 184 | })) |
| 185 | defer server.Close() |
| 186 | |
| 187 | httpClient := &HTTPClient{ |
| 188 | baseURL: server.URL, |
| 189 | client: server.Client(), |
| 190 | } |
| 191 | logger := testutils.NewTestLogger() |
| 192 | |
| 193 | authManager := NewAuthManagerWithPassword(httpClient, "testuser", "testpass", logger) |
| 194 | |
| 195 | // Set an expired cached token |
| 196 | expiredToken := &AuthToken{ |
| 197 | Ticket: "expired-ticket", |
| 198 | CSRFToken: "expired-csrf", |
| 199 | Username: "testuser", |
| 200 | ExpiresAt: time.Now().Add(-1 * time.Hour), |
| 201 | } |
| 202 | authManager.authToken = expiredToken |
| 203 | |
| 204 | token, err := authManager.GetValidToken(context.Background()) |
| 205 | require.NoError(t, err) |
| 206 | assert.NotNil(t, token) |
| 207 | assert.Equal(t, "new-ticket", token.Ticket) |
| 208 | assert.Equal(t, "new-csrf", token.CSRFToken) |
| 209 | assert.Equal(t, "testuser", token.Username) |
| 210 | assert.True(t, token.IsValid()) |
| 211 | } |
| 212 | |
| 213 | func TestAuthManager_authenticate_Success(t *testing.T) { |
| 214 | // Create a test server that returns a successful authentication response |
nothing calls this directly
no test coverage detected