Files
tuukoti-framework/cookies/cookies_test.go
2022-08-23 17:13:30 +01:00

57 lines
1.1 KiB
Go

package cookies_test
import (
"net/http"
"net/http/httptest"
"testing"
"github.com/gorilla/securecookie"
"github.com/stretchr/testify/require"
"github.com/tuukoti/framework/cookies"
)
func TestCookieReadAndGet(t *testing.T) {
secureCookie := securecookie.New([]byte("very-secret"), []byte("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"))
c := cookies.New(secureCookie)
w := httptest.NewRecorder()
cookie, err := c.Create("testing", "test")
require.NoError(t, err)
http.SetCookie(w, cookie)
req := &http.Request{
Header: http.Header{},
}
req.Header.Set("Cookie", w.Header().Get("Set-Cookie"))
out := ""
err = c.Read(req, "testing", &out)
require.NoError(t, err)
require.Equal(t, "test", out)
}
func TestSetGetFlash(t *testing.T) {
w := httptest.NewRecorder()
d := map[string]string{
"test": "testing",
}
err := cookies.SetFlash(w, d)
require.NoError(t, err)
req := &http.Request{
Header: http.Header{},
}
req.Header.Set("Cookie", w.Header().Get("Set-Cookie"))
data, err := cookies.GetFlash(w, req)
require.NoError(t, err)
require.Equal(t, d, data)
}