@@ -348,3 +348,39 @@ func TestIterate(t *testing.T) {
348348 t .Fatal ("didn't get expected error" )
349349 }
350350}
351+
352+ func TestSetToken (t * testing.T ) {
353+ t .Parallel ()
354+
355+ sessionManager := New ()
356+
357+ mux := http .NewServeMux ()
358+ mux .HandleFunc ("/put" , http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
359+ sessionManager .SetToken (r .Context (), "my-custom-token" )
360+ sessionManager .Put (r .Context (), "foo" , "bar" )
361+ }))
362+ mux .HandleFunc ("/get" , http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
363+ v := sessionManager .Get (r .Context (), "foo" )
364+ if v == nil {
365+ http .Error (w , "foo does not exist in session" , 500 )
366+ return
367+ }
368+ w .Write ([]byte (v .(string )))
369+ }))
370+
371+ ts := newTestServer (t , sessionManager .LoadAndSave (mux ))
372+ defer ts .Close ()
373+
374+ header , _ := ts .execute (t , "/put" )
375+ cookie := header .Get ("Set-Cookie" )
376+ token := extractTokenFromCookie (cookie )
377+
378+ if token != "my-custom-token" {
379+ t .Errorf ("want %q; got %q" , "my-custom-token" , token )
380+ }
381+
382+ _ , body := ts .execute (t , "/get" )
383+ if body != "bar" {
384+ t .Errorf ("want %q; got %q" , "bar" , body )
385+ }
386+ }
0 commit comments