@@ -407,4 +407,51 @@ func TestDefaultIdentityProviderResponseParser(t *testing.T) {
407
407
assert .NoError (t , err )
408
408
assert .NotNil (t , token )
409
409
})
410
+
411
+ t .Run ("NewIDPResponse with type Unknown" , func (t * testing.T ) {
412
+ idpResponse , err := NewIDPResponse ("Unknown" , testJWTtoken )
413
+ assert .Error (t , err )
414
+ assert .Nil (t , idpResponse )
415
+ })
416
+
417
+ t .Run ("NewIDPResponse with type and nil value" , func (t * testing.T ) {
418
+ idpResponse , err := NewIDPResponse (ResponseTypeRawToken , nil )
419
+ assert .Error (t , err )
420
+ assert .Nil (t , idpResponse )
421
+ idpResponse , err = NewIDPResponse (ResponseTypeAuthResult , nil )
422
+ assert .Error (t , err )
423
+ assert .Nil (t , idpResponse )
424
+ idpResponse , err = NewIDPResponse (ResponseTypeAccessToken , nil )
425
+ assert .Error (t , err )
426
+ assert .Nil (t , idpResponse )
427
+ })
428
+ t .Run ("Default IdentityProviderResponseParser with type Unknown" , func (t * testing.T ) {
429
+ resp := & authResult {
430
+ resultType : "Unknown" ,
431
+ }
432
+ token , err := defaultIdentityProviderResponseParser (resp )
433
+ assert .Error (t , err )
434
+ assert .Nil (t , token )
435
+ })
436
+ types := []string {
437
+ ResponseTypeAuthResult ,
438
+ ResponseTypeAccessToken ,
439
+ ResponseTypeRawToken ,
440
+ }
441
+ for _ , rt := range types {
442
+ t .Run (fmt .Sprintf ("Default IdentityProviderResponseParser with response type %s and nil value" , rt ), func (t * testing.T ) {
443
+ resp := & authResult {
444
+ resultType : rt ,
445
+ }
446
+ token , err := defaultIdentityProviderResponseParser (resp )
447
+ assert .Error (t , err )
448
+ assert .Nil (t , token )
449
+ })
450
+ }
451
+
452
+ t .Run ("Default IdentityProviderResponseParser with response nil" , func (t * testing.T ) {
453
+ token , err := defaultIdentityProviderResponseParser (nil )
454
+ assert .Error (t , err )
455
+ assert .Nil (t , token )
456
+ })
410
457
}
0 commit comments