mirror of
https://github.com/woodchen-ink/webp_server_go.git
synced 2025-07-18 13:42:02 +08:00
* upgrade to fiber v2 * code format * remove redundant variables * remove useless exportable variables/functions * go mod replace use our own mirror now. * add test case for converter, use deferInit to make test more simple * remove useless file and fix typo * Makefile change * upgrade to go 1.15 * remove wrong go test comments * complete test case, coverage, coverage badge * Fix version typo * config struct fix * add banner, show version, add server header, remove fiber startup message Co-authored-by: n0vad3v <n0vad3v@riseup.net>
68 lines
1.5 KiB
Go
68 lines
1.5 KiB
Go
package main
|
|
|
|
import (
|
|
"github.com/stretchr/testify/assert"
|
|
"io/ioutil"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
//go test -v -cover .
|
|
func TestWebpEncoder(t *testing.T) {
|
|
var webp = "/tmp/test-result.webp"
|
|
var target = walker()
|
|
|
|
for _, f := range target {
|
|
//fmt.Println(b, c, webp)
|
|
runEncoder(t, f, webp)
|
|
}
|
|
_ = os.Remove(webp)
|
|
|
|
// test error
|
|
err := webpEncoder("./pics/empty.jpg", webp, 80, true, nil)
|
|
assert.NotNil(t, err)
|
|
}
|
|
|
|
func TestNonImage(t *testing.T) {
|
|
var webp = "/tmp/test-result.webp"
|
|
// test error
|
|
var err = webpEncoder("./pics/empty.jpg", webp, 80, true, nil)
|
|
assert.NotNil(t, err)
|
|
}
|
|
|
|
func TestWriteFail(t *testing.T) {
|
|
// test permission denied
|
|
var webp = "/123.webp"
|
|
var err = webpEncoder("./pics/png.jpg", webp, 80, true, nil)
|
|
assert.NotNil(t, err)
|
|
}
|
|
func walker() []string {
|
|
var list []string
|
|
_ = filepath.Walk("./pics", func(path string, info os.FileInfo, err error) error {
|
|
if !info.IsDir() {
|
|
list = append(list, path)
|
|
}
|
|
return nil
|
|
})
|
|
return list
|
|
}
|
|
|
|
func runEncoder(t *testing.T, file string, webp string) {
|
|
var c chan int
|
|
//t.Logf("convert from %s to %s", file, webp)
|
|
var err = webpEncoder(file, webp, 80, true, c)
|
|
if file == "pics/empty.jpg" && err != nil {
|
|
t.Log("Empty file, that's okay.")
|
|
} else if err != nil {
|
|
t.Fatalf("Fatal, convert failed for %s: %v ", file, err)
|
|
}
|
|
|
|
data, _ := ioutil.ReadFile(webp)
|
|
types := getFileContentType(data[:512])
|
|
if types != "image/webp" {
|
|
t.Fatal("Fatal, file type is wrong!")
|
|
}
|
|
|
|
}
|