@@ -46,7 +46,7 @@ func TestDetermineAlg(t *testing.T) {
46
46
47
47
for _ , tc := range testCases {
48
48
t .Run (tc .name , func (t * testing.T ) {
49
- alg , err := determineAlg (tc .algorithm )
49
+ alg , err := DetermineSigningAlgorithm (tc .algorithm )
50
50
51
51
if tc .expectedError {
52
52
assert .Error (t , err )
@@ -84,7 +84,7 @@ func TestClientAssertion(t *testing.T) {
84
84
}
85
85
86
86
// Get the signed assertion
87
- alg , err := determineAlg (ts .clientAssertionSigningAlg )
87
+ alg , err := DetermineSigningAlgorithm (ts .clientAssertionSigningAlg )
88
88
require .NoError (t , err )
89
89
90
90
baseURL , err := url .Parse (ts .uri )
@@ -149,7 +149,7 @@ func TestECClientAssertion(t *testing.T) {
149
149
}
150
150
151
151
// Get the signed assertion
152
- alg , err := determineAlg (ts .clientAssertionSigningAlg )
152
+ alg , err := DetermineSigningAlgorithm (ts .clientAssertionSigningAlg )
153
153
require .NoError (t , err )
154
154
155
155
baseURL , err := url .Parse (ts .uri )
@@ -224,7 +224,7 @@ func TestIncompatibleKeyTypeForAlgorithm(t *testing.T) {
224
224
}
225
225
226
226
// Get the signed assertion
227
- alg , err := determineAlg (ts .clientAssertionSigningAlg )
227
+ alg , err := DetermineSigningAlgorithm (ts .clientAssertionSigningAlg )
228
228
require .NoError (t , err )
229
229
230
230
baseURL , err := url .Parse (ts .uri )
@@ -312,58 +312,57 @@ func TestPrivateKeyJwtTokenSource(t *testing.T) {
312
312
assert .Equal (t , "Bearer" , token .TokenType )
313
313
}
314
314
315
-
316
315
func TestPrivateKeyJwtTokenSourceRefresh (t * testing.T ) {
317
- // Generate a test RSA key
318
- privateKey , err := rsa .GenerateKey (rand .Reader , 2048 )
319
- require .NoError (t , err )
320
- privateKeyBytes := x509 .MarshalPKCS1PrivateKey (privateKey )
321
- privateKeyPEM := pem .EncodeToMemory (& pem.Block {
322
- Type : "RSA PRIVATE KEY" ,
323
- Bytes : privateKeyBytes ,
324
- })
325
-
326
- // Track token request count
327
- requestCount := 0
328
-
329
- // Create a test server
330
- server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
331
- requestCount ++
332
-
333
- // Return a token with short expiration
334
- w .Header ().Set ("Content-Type" , "application/json" )
335
- w .Write ([] byte ( fmt .Sprintf ( `{
316
+ // Generate a test RSA key
317
+ privateKey , err := rsa .GenerateKey (rand .Reader , 2048 )
318
+ require .NoError (t , err )
319
+ privateKeyBytes := x509 .MarshalPKCS1PrivateKey (privateKey )
320
+ privateKeyPEM := pem .EncodeToMemory (& pem.Block {
321
+ Type : "RSA PRIVATE KEY" ,
322
+ Bytes : privateKeyBytes ,
323
+ })
324
+
325
+ // Track token request count
326
+ requestCount := 0
327
+
328
+ // Create a test server
329
+ server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , _ * http.Request ) {
330
+ requestCount ++
331
+
332
+ // Return a token with short expiration
333
+ w .Header ().Set ("Content-Type" , "application/json" )
334
+ w .Write (fmt .Appendf ( nil , `{
336
335
"access_token": "mock-token-%d",
337
336
"token_type": "Bearer",
338
337
"expires_in": 2
339
- }` , requestCount )))
340
- }))
341
- defer server .Close ()
342
-
343
- // Create token source
344
- tokenSource := newPrivateKeyJwtTokenSource (
345
- context .Background (),
346
- server .URL ,
347
- "RS256" ,
348
- string (privateKeyPEM ),
349
- "test-client-id" ,
350
- "test-audience" ,
351
- )
352
-
353
- // Get first token
354
- token1 , err := tokenSource .Token ()
355
- require .NoError (t , err )
356
- assert .Equal (t , "mock-token-1" , token1 .AccessToken )
357
-
358
- // Wait for token to expire (just over 2 seconds)
359
- time .Sleep (3 * time .Second )
360
-
361
- // Get second token - should trigger a refresh
362
- token2 , err := tokenSource .Token ()
363
- require .NoError (t , err )
364
- assert .Equal (t , "mock-token-2" , token2 .AccessToken )
365
- assert .NotEqual (t , token1 .AccessToken , token2 .AccessToken )
366
-
367
- // Verify server received two requests
368
- assert .Equal (t , 2 , requestCount )
369
- }
338
+ }` , requestCount ))
339
+ }))
340
+ defer server .Close ()
341
+
342
+ // Create token source
343
+ tokenSource := newPrivateKeyJwtTokenSource (
344
+ context .Background (),
345
+ server .URL ,
346
+ "RS256" ,
347
+ string (privateKeyPEM ),
348
+ "test-client-id" ,
349
+ "test-audience" ,
350
+ )
351
+
352
+ // Get first token
353
+ token1 , err := tokenSource .Token ()
354
+ require .NoError (t , err )
355
+ assert .Equal (t , "mock-token-1" , token1 .AccessToken )
356
+
357
+ // Wait for token to expire (just over 2 seconds)
358
+ time .Sleep (3 * time .Second )
359
+
360
+ // Get second token - should trigger a refresh
361
+ token2 , err := tokenSource .Token ()
362
+ require .NoError (t , err )
363
+ assert .Equal (t , "mock-token-2" , token2 .AccessToken )
364
+ assert .NotEqual (t , token1 .AccessToken , token2 .AccessToken )
365
+
366
+ // Verify server received two requests
367
+ assert .Equal (t , 2 , requestCount )
368
+ }
0 commit comments