From 261b704d8b4968e31a68fb31740c02cf315c837a Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Wed, 5 Aug 2020 06:34:54 +0000 Subject: [PATCH] Fix UT --- .gitignore | 9 +- pkg/template_test.go | 4 +- pkg/web/filter/opentracing/filter.go | 8 +- template_test.go | 4 +- {pkg/testdata => test}/Makefile | 0 {pkg/testdata => test}/bindata.go | 2 +- {pkg/testdata => test}/views/blocks/block.tpl | 0 {pkg/testdata => test}/views/header.tpl | 0 {pkg/testdata => test}/views/index.tpl | 0 testdata/Makefile | 2 - testdata/bindata.go | 296 ------------------ testdata/views/blocks/block.tpl | 3 - testdata/views/header.tpl | 3 - testdata/views/index.tpl | 15 - utils/file_test.go | 7 +- 15 files changed, 19 insertions(+), 334 deletions(-) rename {pkg/testdata => test}/Makefile (100%) rename {pkg/testdata => test}/bindata.go (99%) rename {pkg/testdata => test}/views/blocks/block.tpl (100%) rename {pkg/testdata => test}/views/header.tpl (100%) rename {pkg/testdata => test}/views/index.tpl (100%) delete mode 100644 testdata/Makefile delete mode 100644 testdata/bindata.go delete mode 100644 testdata/views/blocks/block.tpl delete mode 100644 testdata/views/header.tpl delete mode 100644 testdata/views/index.tpl diff --git a/.gitignore b/.gitignore index b70c76c4..304c4b73 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,8 @@ *.swo beego.iml -_beeTmp -_beeTmp2 -pkg/_beeTmp -pkg/_beeTmp2 +_beeTmp/ +_beeTmp2/ +pkg/_beeTmp/ +pkg/_beeTmp2/ +test/tmp/ diff --git a/pkg/template_test.go b/pkg/template_test.go index af948190..6e4a27fc 100644 --- a/pkg/template_test.go +++ b/pkg/template_test.go @@ -24,7 +24,7 @@ import ( "github.com/elazarl/go-bindata-assetfs" "github.com/stretchr/testify/assert" - "github.com/astaxie/beego/pkg/testdata" + "github.com/astaxie/beego/test" ) var header = `{{define "header"}} @@ -308,7 +308,7 @@ var outputBinData = ` func TestFsBinData(t *testing.T) { SetTemplateFSFunc(func() http.FileSystem { - return TestingFileSystem{&assetfs.AssetFS{Asset: testdata.Asset, AssetDir: testdata.AssetDir, AssetInfo: testdata.AssetInfo}} + return TestingFileSystem{&assetfs.AssetFS{Asset: test.Asset, AssetDir: test.AssetDir, AssetInfo: test.AssetInfo}} }) dir := "views" if err := AddViewPath("views"); err != nil { diff --git a/pkg/web/filter/opentracing/filter.go b/pkg/web/filter/opentracing/filter.go index ef6521f7..8e332c7d 100644 --- a/pkg/web/filter/opentracing/filter.go +++ b/pkg/web/filter/opentracing/filter.go @@ -29,20 +29,22 @@ type FilterChainBuilder struct { func (builder *FilterChainBuilder) FilterChain(next beego.FilterFunc) beego.FilterFunc { - // TODO, if we support multiple servers, this need to be changed - cr := beego.BeeApp.Handlers return func(ctx *context.Context) { span := opentracing.SpanFromContext(ctx.Request.Context()) spanCtx := ctx.Request.Context() if span == nil { operationName := ctx.Input.URL() // it means that there is not any span, so we create a span as the root span. - route, found := cr.FindRouter(ctx) + // TODO, if we support multiple servers, this need to be changed + route, found := beego.BeeApp.Handlers.FindRouter(ctx) if found { operationName = route.GetPattern() } span, spanCtx = opentracing.StartSpanFromContext(spanCtx, operationName) + newReq := ctx.Request.Clone(spanCtx) + ctx.Reset(ctx.ResponseWriter.ResponseWriter, newReq) } + defer span.Finish() next(ctx) // if you think we need to do more things, feel free to create an issue to tell us diff --git a/template_test.go b/template_test.go index 287faadc..bde9c100 100644 --- a/template_test.go +++ b/template_test.go @@ -16,7 +16,7 @@ package beego import ( "bytes" - "github.com/astaxie/beego/testdata" + "github.com/astaxie/beego/test" "github.com/elazarl/go-bindata-assetfs" "net/http" "os" @@ -291,7 +291,7 @@ var outputBinData = ` func TestFsBinData(t *testing.T) { SetTemplateFSFunc(func() http.FileSystem { - return TestingFileSystem{&assetfs.AssetFS{Asset: testdata.Asset, AssetDir: testdata.AssetDir, AssetInfo: testdata.AssetInfo}} + return TestingFileSystem{&assetfs.AssetFS{Asset: test.Asset, AssetDir: test.AssetDir, AssetInfo: test.AssetInfo}} }) dir := "views" if err := AddViewPath("views"); err != nil { diff --git a/pkg/testdata/Makefile b/test/Makefile similarity index 100% rename from pkg/testdata/Makefile rename to test/Makefile diff --git a/pkg/testdata/bindata.go b/test/bindata.go similarity index 99% rename from pkg/testdata/bindata.go rename to test/bindata.go index beade103..9fda5075 100644 --- a/pkg/testdata/bindata.go +++ b/test/bindata.go @@ -5,7 +5,7 @@ // views/index.tpl // DO NOT EDIT! -package testdata +package test import ( "bytes" diff --git a/pkg/testdata/views/blocks/block.tpl b/test/views/blocks/block.tpl similarity index 100% rename from pkg/testdata/views/blocks/block.tpl rename to test/views/blocks/block.tpl diff --git a/pkg/testdata/views/header.tpl b/test/views/header.tpl similarity index 100% rename from pkg/testdata/views/header.tpl rename to test/views/header.tpl diff --git a/pkg/testdata/views/index.tpl b/test/views/index.tpl similarity index 100% rename from pkg/testdata/views/index.tpl rename to test/views/index.tpl diff --git a/testdata/Makefile b/testdata/Makefile deleted file mode 100644 index e80e8238..00000000 --- a/testdata/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -build_view: - $(GOPATH)/bin/go-bindata-assetfs -pkg testdata views/... \ No newline at end of file diff --git a/testdata/bindata.go b/testdata/bindata.go deleted file mode 100644 index beade103..00000000 --- a/testdata/bindata.go +++ /dev/null @@ -1,296 +0,0 @@ -// Code generated by go-bindata. -// sources: -// views/blocks/block.tpl -// views/header.tpl -// views/index.tpl -// DO NOT EDIT! - -package testdata - -import ( - "bytes" - "compress/gzip" - "fmt" - "github.com/elazarl/go-bindata-assetfs" - "io" - "io/ioutil" - "os" - "path/filepath" - "strings" - "time" -) - -func bindataRead(data []byte, name string) ([]byte, error) { - gz, err := gzip.NewReader(bytes.NewBuffer(data)) - if err != nil { - return nil, fmt.Errorf("Read %q: %v", name, err) - } - - var buf bytes.Buffer - _, err = io.Copy(&buf, gz) - clErr := gz.Close() - - if err != nil { - return nil, fmt.Errorf("Read %q: %v", name, err) - } - if clErr != nil { - return nil, err - } - - return buf.Bytes(), nil -} - -type asset struct { - bytes []byte - info os.FileInfo -} - -type bindataFileInfo struct { - name string - size int64 - mode os.FileMode - modTime time.Time -} - -func (fi bindataFileInfo) Name() string { - return fi.name -} -func (fi bindataFileInfo) Size() int64 { - return fi.size -} -func (fi bindataFileInfo) Mode() os.FileMode { - return fi.mode -} -func (fi bindataFileInfo) ModTime() time.Time { - return fi.modTime -} -func (fi bindataFileInfo) IsDir() bool { - return false -} -func (fi bindataFileInfo) Sys() interface{} { - return nil -} - -var _viewsBlocksBlockTpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xaa\xae\x4e\x49\x4d\xcb\xcc\x4b\x55\x50\x4a\xca\xc9\x4f\xce\x56\xaa\xad\xe5\xb2\xc9\x30\xb4\xf3\x48\xcd\xc9\xc9\xd7\x51\x00\x8b\x15\x2b\xda\xe8\x67\x18\xda\x71\x55\x57\xa7\xe6\xa5\xd4\xd6\x02\x02\x00\x00\xff\xff\xfd\xa1\x7a\xf6\x32\x00\x00\x00") - -func viewsBlocksBlockTplBytes() ([]byte, error) { - return bindataRead( - _viewsBlocksBlockTpl, - "views/blocks/block.tpl", - ) -} - -func viewsBlocksBlockTpl() (*asset, error) { - bytes, err := viewsBlocksBlockTplBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "views/blocks/block.tpl", size: 50, mode: os.FileMode(436), modTime: time.Unix(1541431067, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _viewsHeaderTpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xaa\xae\x4e\x49\x4d\xcb\xcc\x4b\x55\x50\xca\x48\x4d\x4c\x49\x2d\x52\xaa\xad\xe5\xb2\xc9\x30\xb4\xf3\x48\xcd\xc9\xc9\xd7\x51\x48\x2c\x2e\x49\xac\xc8\x4c\x55\xb4\xd1\xcf\x30\xb4\xe3\xaa\xae\x4e\xcd\x4b\xa9\xad\x05\x04\x00\x00\xff\xff\xe4\x12\x47\x01\x34\x00\x00\x00") - -func viewsHeaderTplBytes() ([]byte, error) { - return bindataRead( - _viewsHeaderTpl, - "views/header.tpl", - ) -} - -func viewsHeaderTpl() (*asset, error) { - bytes, err := viewsHeaderTplBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "views/header.tpl", size: 52, mode: os.FileMode(436), modTime: time.Unix(1541431067, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -var _viewsIndexTpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x8f\xbd\x8a\xc3\x30\x10\x84\x6b\xeb\x29\xe6\xfc\x00\x16\xb8\x3c\x16\x35\x77\xa9\x13\x88\x09\xa4\xf4\xcf\x12\x99\x48\x48\xd8\x82\x10\x84\xde\x3d\xc8\x8a\x8b\x90\x6a\xa4\xd9\x6f\xd8\x59\xfa\xf9\x3f\xfe\x75\xd7\xd3\x01\x3a\x58\xa3\x04\x15\x01\x48\x73\x3f\xe5\x07\x40\x61\x0e\x86\xd5\xc0\x7c\x73\x78\xb0\x19\x9d\x65\x04\xb6\xde\xf4\x81\x49\x96\x69\x8e\xc8\x3d\x43\x83\x9b\x9e\x4a\x88\x2a\xc6\x9d\x43\x3d\x18\x37\xde\xeb\x94\x3e\xdd\x1c\xe1\xe5\xcb\xde\xe0\x55\x6e\xd2\x04\x6f\x32\x20\x2a\xd2\xad\x8a\x11\x4d\x97\x57\x22\x25\x92\xba\x55\xa2\x22\xaf\xd0\xe9\x79\xc5\xbc\xe2\xec\x2c\x5f\xfa\xe5\x17\x99\x7b\x7f\x36\xd2\x97\x8a\xa5\x19\xc9\x72\xe7\x2b\x00\x00\xff\xff\xb2\x39\xca\x9f\xff\x00\x00\x00") - -func viewsIndexTplBytes() ([]byte, error) { - return bindataRead( - _viewsIndexTpl, - "views/index.tpl", - ) -} - -func viewsIndexTpl() (*asset, error) { - bytes, err := viewsIndexTplBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "views/index.tpl", size: 255, mode: os.FileMode(436), modTime: time.Unix(1541434906, 0)} - a := &asset{bytes: bytes, info: info} - return a, nil -} - -// Asset loads and returns the asset for the given name. -// It returns an error if the asset could not be found or -// could not be loaded. -func Asset(name string) ([]byte, error) { - cannonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[cannonicalName]; ok { - a, err := f() - if err != nil { - return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err) - } - return a.bytes, nil - } - return nil, fmt.Errorf("Asset %s not found", name) -} - -// MustAsset is like Asset but panics when Asset would return an error. -// It simplifies safe initialization of global variables. -func MustAsset(name string) []byte { - a, err := Asset(name) - if err != nil { - panic("asset: Asset(" + name + "): " + err.Error()) - } - - return a -} - -// AssetInfo loads and returns the asset info for the given name. -// It returns an error if the asset could not be found or -// could not be loaded. -func AssetInfo(name string) (os.FileInfo, error) { - cannonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[cannonicalName]; ok { - a, err := f() - if err != nil { - return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err) - } - return a.info, nil - } - return nil, fmt.Errorf("AssetInfo %s not found", name) -} - -// AssetNames returns the names of the assets. -func AssetNames() []string { - names := make([]string, 0, len(_bindata)) - for name := range _bindata { - names = append(names, name) - } - return names -} - -// _bindata is a table, holding each asset generator, mapped to its name. -var _bindata = map[string]func() (*asset, error){ - "views/blocks/block.tpl": viewsBlocksBlockTpl, - "views/header.tpl": viewsHeaderTpl, - "views/index.tpl": viewsIndexTpl, -} - -// AssetDir returns the file names below a certain -// directory embedded in the file by go-bindata. -// For example if you run go-bindata on data/... and data contains the -// following hierarchy: -// data/ -// foo.txt -// img/ -// a.png -// b.png -// then AssetDir("data") would return []string{"foo.txt", "img"} -// AssetDir("data/img") would return []string{"a.png", "b.png"} -// AssetDir("foo.txt") and AssetDir("notexist") would return an error -// AssetDir("") will return []string{"data"}. -func AssetDir(name string) ([]string, error) { - node := _bintree - if len(name) != 0 { - cannonicalName := strings.Replace(name, "\\", "/", -1) - pathList := strings.Split(cannonicalName, "/") - for _, p := range pathList { - node = node.Children[p] - if node == nil { - return nil, fmt.Errorf("Asset %s not found", name) - } - } - } - if node.Func != nil { - return nil, fmt.Errorf("Asset %s not found", name) - } - rv := make([]string, 0, len(node.Children)) - for childName := range node.Children { - rv = append(rv, childName) - } - return rv, nil -} - -type bintree struct { - Func func() (*asset, error) - Children map[string]*bintree -} - -var _bintree = &bintree{nil, map[string]*bintree{ - "views": &bintree{nil, map[string]*bintree{ - "blocks": &bintree{nil, map[string]*bintree{ - "block.tpl": &bintree{viewsBlocksBlockTpl, map[string]*bintree{}}, - }}, - "header.tpl": &bintree{viewsHeaderTpl, map[string]*bintree{}}, - "index.tpl": &bintree{viewsIndexTpl, map[string]*bintree{}}, - }}, -}} - -// RestoreAsset restores an asset under the given directory -func RestoreAsset(dir, name string) error { - data, err := Asset(name) - if err != nil { - return err - } - info, err := AssetInfo(name) - if err != nil { - return err - } - err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755)) - if err != nil { - return err - } - err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) - if err != nil { - return err - } - err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) - if err != nil { - return err - } - return nil -} - -// RestoreAssets restores an asset under the given directory recursively -func RestoreAssets(dir, name string) error { - children, err := AssetDir(name) - // File - if err != nil { - return RestoreAsset(dir, name) - } - // Dir - for _, child := range children { - err = RestoreAssets(dir, filepath.Join(name, child)) - if err != nil { - return err - } - } - return nil -} - -func _filePath(dir, name string) string { - cannonicalName := strings.Replace(name, "\\", "/", -1) - return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...) -} - -func assetFS() *assetfs.AssetFS { - assetInfo := func(path string) (os.FileInfo, error) { - return os.Stat(path) - } - for k := range _bintree.Children { - return &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, AssetInfo: assetInfo, Prefix: k} - } - panic("unreachable") -} diff --git a/testdata/views/blocks/block.tpl b/testdata/views/blocks/block.tpl deleted file mode 100644 index 2a9c57fc..00000000 --- a/testdata/views/blocks/block.tpl +++ /dev/null @@ -1,3 +0,0 @@ -{{define "block"}} -

Hello, blocks!

-{{end}} \ No newline at end of file diff --git a/testdata/views/header.tpl b/testdata/views/header.tpl deleted file mode 100644 index 041fa403..00000000 --- a/testdata/views/header.tpl +++ /dev/null @@ -1,3 +0,0 @@ -{{define "header"}} -

Hello, astaxie!

-{{end}} \ No newline at end of file diff --git a/testdata/views/index.tpl b/testdata/views/index.tpl deleted file mode 100644 index 21b7fc06..00000000 --- a/testdata/views/index.tpl +++ /dev/null @@ -1,15 +0,0 @@ - - - - beego welcome template - - - - {{template "block"}} - {{template "header"}} - {{template "blocks/block.tpl"}} - -

{{ .Title }}

-

This is SomeVar: {{ .SomeVar }}

- - diff --git a/utils/file_test.go b/utils/file_test.go index b2644157..84443e20 100644 --- a/utils/file_test.go +++ b/utils/file_test.go @@ -18,6 +18,8 @@ import ( "path/filepath" "reflect" "testing" + + "github.com/stretchr/testify/assert" ) var noExistedFile = "/tmp/not_existed_file" @@ -66,9 +68,8 @@ func TestGrepFile(t *testing.T) { path := filepath.Join(".", "testdata", "grepe.test") lines, err := GrepFile(`^\s*[^#]+`, path) - if err != nil { - t.Error(err) - } + assert.Nil(t, err) + if !reflect.DeepEqual(lines, []string{"hello", "world"}) { t.Errorf("expect [hello world], but receive %v", lines) }