1
1
mirror of https://github.com/go-gitea/gitea synced 2024-06-01 00:45:46 +00:00
gitea/modules/upload/filetype_test.go
Lunny Xiao 2d0b90c967 Fix upload file type check (#7890)
* fix upload file type check

* make the function simple and added tests

* Update comment as per @silverwind
2019-08-17 13:10:17 +03:00

48 lines
1012 B
Go

// Copyright 2019 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package upload
import (
"bytes"
"compress/gzip"
"testing"
"github.com/stretchr/testify/assert"
)
func TestUpload(t *testing.T) {
testContent := []byte(`This is a plain text file.`)
var b bytes.Buffer
w := gzip.NewWriter(&b)
w.Write(testContent)
w.Close()
kases := []struct {
data []byte
allowedTypes []string
err error
}{
{
data: testContent,
allowedTypes: []string{"text/plain"},
err: nil,
},
{
data: testContent,
allowedTypes: []string{"application/x-gzip"},
err: ErrFileTypeForbidden{"text/plain; charset=utf-8"},
},
{
data: b.Bytes(),
allowedTypes: []string{"application/x-gzip"},
err: nil,
},
}
for _, kase := range kases {
assert.Equal(t, kase.err, VerifyAllowedContentType(kase.data, kase.allowedTypes))
}
}