Skip to content

Commit be7f0b1

Browse files
committed
update tests
1 parent 4743fde commit be7f0b1

File tree

1 file changed

+36
-20
lines changed

1 file changed

+36
-20
lines changed

ctx_test.go

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@ import (
2828
"text/template"
2929
"time"
3030

31+
"github.com/andybalholm/brotli"
3132
"github.com/gofiber/fiber/v3/internal/storage/memory"
3233
"github.com/gofiber/utils/v2"
34+
"github.com/klauspost/compress/zstd"
3335
"github.com/stretchr/testify/require"
3436
"github.com/valyala/bytebufferpool"
3537
"github.com/valyala/fasthttp"
@@ -3060,7 +3062,7 @@ func Test_Static_Compress(t *testing.T) {
30603062
}
30613063
}
30623064

3063-
func Test_Ctx_SendFile_CompressGzipBody(t *testing.T) {
3065+
func Test_Ctx_SendFile_Compress_CheckCompressed(t *testing.T) {
30643066
t.Parallel()
30653067
app := New()
30663068

@@ -3071,34 +3073,48 @@ func Test_Ctx_SendFile_CompressGzipBody(t *testing.T) {
30713073
defer func() {
30723074
require.NoError(t, f.Close())
30733075
}()
3074-
expectFileContent, err := io.ReadAll(f)
3075-
require.NoError(t, err)
30763076

3077-
// fetch file info for the not modified test case
3078-
_, err = os.Stat("./ctx.go")
3077+
expectedFileContent, err := io.ReadAll(f)
30793078
require.NoError(t, err)
30803079

3081-
// simple test case
3082-
reqCtx := &fasthttp.RequestCtx{}
3083-
reqCtx.Request.Header.Add(HeaderAcceptEncoding, "gzip")
3080+
sendFileBodyReader := func(compression string) *bytes.Reader {
3081+
reqCtx := &fasthttp.RequestCtx{}
3082+
reqCtx.Request.Header.Add(HeaderAcceptEncoding, compression)
3083+
3084+
c := app.AcquireCtx(reqCtx)
3085+
err = c.SendFile("./ctx.go", SendFile{
3086+
Compress: true,
3087+
})
3088+
require.NoError(t, err)
3089+
3090+
return bytes.NewReader(c.Response().Body())
3091+
}
3092+
3093+
t.Run("gzip", func(t *testing.T) {
3094+
gz, err := gzip.NewReader(sendFileBodyReader("gzip"))
3095+
require.NoError(t, err)
30843096

3085-
c := app.AcquireCtx(reqCtx)
3086-
err = c.SendFile("./ctx.go", SendFile{
3087-
Compress: true,
3097+
body, err := io.ReadAll(gz)
3098+
require.NoError(t, err)
3099+
require.Equal(t, expectedFileContent, body)
30883100
})
3089-
require.NoError(t, err)
30903101

3091-
gz, err := gzip.NewReader(bytes.NewReader(c.Response().Body()))
3092-
require.NoError(t, err)
3102+
t.Run("zstd", func(t *testing.T) {
3103+
zstdReader, err := zstd.NewReader(sendFileBodyReader("zstd"))
3104+
require.NoError(t, err)
30933105

3094-
body, err := io.ReadAll(gz)
3095-
require.NoError(t, err)
3106+
body, err := io.ReadAll(zstdReader)
3107+
require.NoError(t, err)
3108+
require.Equal(t, expectedFileContent, body)
3109+
})
30963110

3097-
require.Equal(t, expectFileContent, body)
3098-
require.Equal(t, "gzip", string(c.Response().Header.Peek(HeaderContentEncoding)))
3099-
require.Equal(t, StatusOK, c.Response().StatusCode())
3111+
t.Run("br", func(t *testing.T) {
3112+
brReader := brotli.NewReader(sendFileBodyReader("br"))
31003113

3101-
app.ReleaseCtx(c)
3114+
body, err := io.ReadAll(brReader)
3115+
require.NoError(t, err)
3116+
require.Equal(t, expectedFileContent, body)
3117+
})
31023118
}
31033119

31043120
//go:embed ctx.go

0 commit comments

Comments
 (0)