@@ -457,6 +457,37 @@ func TestProcessCookieRefreshThresholdNotCrossed(t *testing.T) {
457457 assert .Equal (t , []string (nil ), pc_test .rw .HeaderMap ["Set-Cookie" ])
458458}
459459
460+ func TestProcessCookieFailIfCookieExpired (t * testing.T ) {
461+ pc_test := NewProcessCookieTestWithDefaults ()
462+ pc_test .proxy .CookieExpire = time .Duration (24 ) * time .Hour
463+ reference := time .Now ().Add (time .Duration (25 ) * time .Hour * - 1 )
464+ cookie := pc_test .
MakeCookie (
"[email protected] " ,
"my_access_token" ,
reference )
465+ pc_test .req .AddCookie (cookie )
466+
467+ if _ , _ , _ , ok := pc_test .ProcessCookie (); ok {
468+ t .Error ("ProcessCookie() should have failed" )
469+ }
470+ if set_cookie := pc_test .rw .HeaderMap ["Set-Cookie" ]; set_cookie != nil {
471+ t .Error ("expected Set-Cookie to be nil, instead was: " , set_cookie )
472+ }
473+ }
474+
475+ func TestProcessCookieFailIfRefreshSetAndCookieExpired (t * testing.T ) {
476+ pc_test := NewProcessCookieTestWithDefaults ()
477+ pc_test .proxy .CookieExpire = time .Duration (24 ) * time .Hour
478+ reference := time .Now ().Add (time .Duration (25 ) * time .Hour * - 1 )
479+ cookie := pc_test .
MakeCookie (
"[email protected] " ,
"my_access_token" ,
reference )
480+ pc_test .req .AddCookie (cookie )
481+
482+ pc_test .proxy .CookieRefresh = time .Hour
483+ if _ , _ , _ , ok := pc_test .ProcessCookie (); ok {
484+ t .Error ("ProcessCookie() should have failed" )
485+ }
486+ if set_cookie := pc_test .rw .HeaderMap ["Set-Cookie" ]; set_cookie != nil {
487+ t .Error ("expected Set-Cookie to be nil, instead was: " , set_cookie )
488+ }
489+ }
490+
460491func TestProcessCookieFailIfRefreshSetAndTokenNoLongerValid (t * testing.T ) {
461492 pc_test := NewProcessCookieTest (ProcessCookieTestOpts {
462493 provider_validate_cookie_response : false ,
0 commit comments