12345678910111213141516171819202122232425262728293031323334353637383940 |
- package util
- import (
- "compress/gzip"
- "github.com/stretchr/testify/require"
- "io"
- "net/http"
- "net/http/httptest"
- "testing"
- )
- func TestGzipHandler(t *testing.T) {
- s := Gzip(http.FileServer(http.FS(testFs)))
- rr := httptest.NewRecorder()
- req, _ := http.NewRequest("GET", "/embedfs/test.txt", nil)
- req.Header.Set("Accept-Encoding", "gzip, deflate")
- s.ServeHTTP(rr, req)
- require.Equal(t, 200, rr.Code)
- require.Equal(t, "gzip", rr.Header().Get("Content-Encoding"))
- require.Equal(t, "", rr.Header().Get("Content-Length"))
- gz, _ := gzip.NewReader(rr.Body)
- b, _ := io.ReadAll(gz)
- require.Equal(t, "This is a test file for embedfs_test.go\n", string(b))
- }
- func TestGzipHandler_NoGzip(t *testing.T) {
- s := Gzip(http.FileServer(http.FS(testFs)))
- rr := httptest.NewRecorder()
- req, _ := http.NewRequest("GET", "/embedfs/test.txt", nil)
- s.ServeHTTP(rr, req)
- require.Equal(t, 200, rr.Code)
- require.Equal(t, "", rr.Header().Get("Content-Encoding"))
- require.Equal(t, "40", rr.Header().Get("Content-Length"))
- b, _ := io.ReadAll(rr.Body)
- require.Equal(t, "This is a test file for embedfs_test.go\n", string(b))
- }
|