MCPcopy Create free account
hub / github.com/devnullvoid/pvetui / TestAuthManager_GetValidToken_WithExpiredToken

Function TestAuthManager_GetValidToken_WithExpiredToken

pkg/api/auth_test.go:165–211  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

163}
164
165func 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
213func TestAuthManager_authenticate_Success(t *testing.T) {
214 // Create a test server that returns a successful authentication response

Callers

nothing calls this directly

Calls 8

NewTestLoggerFunction · 0.92
HeaderMethod · 0.80
ClientMethod · 0.80
GetValidTokenMethod · 0.80
IsValidMethod · 0.80
SetMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected