flash_test.go 696 B

1234567891011121314151617181920212223242526
  1. package httpd
  2. import (
  3. "encoding/base64"
  4. "fmt"
  5. "net/http"
  6. "net/http/httptest"
  7. "testing"
  8. "github.com/stretchr/testify/assert"
  9. "github.com/stretchr/testify/require"
  10. )
  11. func TestFlashMessages(t *testing.T) {
  12. rr := httptest.NewRecorder()
  13. req, err := http.NewRequest(http.MethodGet, "/url", nil)
  14. require.NoError(t, err)
  15. message := "test message"
  16. setFlashMessage(rr, req, message)
  17. req.Header.Set("Cookie", fmt.Sprintf("%v=%v", flashCookieName, base64.URLEncoding.EncodeToString([]byte(message))))
  18. msg := getFlashMessage(rr, req)
  19. assert.Equal(t, message, msg)
  20. req.Header.Set("Cookie", fmt.Sprintf("%v=%v", flashCookieName, "a"))
  21. msg = getFlashMessage(rr, req)
  22. assert.Empty(t, msg)
  23. }