admin / context /context_test.go
AZLABS's picture
Upload folder using huggingface_hub
530729e verified
package context
import (
"fmt"
"testing"
"github.com/magiconair/properties/assert"
)
func TestSlash(t *testing.T) {
assert.Equal(t, "/abc", slash("/abc"))
assert.Equal(t, "/", slash(""))
assert.Equal(t, "/abc", slash("abc/"))
assert.Equal(t, "/", slash("/"))
assert.Equal(t, "/abc", slash("/abc/"))
assert.Equal(t, "/", slash("//"))
}
func TestJoin(t *testing.T) {
assert.Equal(t, "/abc/abc", join(slash("/abc"), slash("/abc")))
assert.Equal(t, "/", join(slash("/"), slash("/")))
assert.Equal(t, "/abc", join(slash("/"), slash("/abc")))
assert.Equal(t, "/abc", join(slash("abc/"), slash("/")))
assert.Equal(t, "/abc", join(slash("/abc/"), slash("/")))
}
func TestTree(t *testing.T) {
tree := tree()
tree.addPath(stringToArr("/adm"), "GET", []Handler{func(ctx *Context) { fmt.Println(1) }})
tree.addPath(stringToArr("/admi"), "GET", []Handler{func(ctx *Context) { fmt.Println(1) }})
tree.addPath(stringToArr("/admin"), "GET", []Handler{func(ctx *Context) { fmt.Println(1) }})
tree.addPath(stringToArr("/admin/menu/new"), "POST", []Handler{func(ctx *Context) { fmt.Println(1) }})
tree.addPath(stringToArr("/admin/menu/new"), "GET", []Handler{func(ctx *Context) { fmt.Println(1) }})
tree.addPath(stringToArr("/admin/info/:__prefix"), "GET", []Handler{
func(ctx *Context) { fmt.Println("auth") },
func(ctx *Context) { fmt.Println("init") },
func(ctx *Context) { fmt.Println("info") },
})
tree.addPath(stringToArr("/admin/info/:__prefix/detail"), "GET", []Handler{
func(ctx *Context) { fmt.Println("auth") },
func(ctx *Context) { fmt.Println("detail") },
})
fmt.Println("/admin/menu/new", "GET")
h := tree.findPath(stringToArr("/admin/menu/new"), "GET")
assert.Equal(t, h != nil, true)
printHandler(h)
fmt.Println("/admin/menu/new", "POST")
h = tree.findPath(stringToArr("/admin/menu/new"), "POST")
assert.Equal(t, h != nil, true)
printHandler(h)
fmt.Println("/admin/me/new", "POST")
h = tree.findPath(stringToArr("/admin/me/new"), "POST")
assert.Equal(t, h == nil, true)
printHandler(h)
fmt.Println("/admin/info/user", "GET")
h = tree.findPath(stringToArr("/admin/info/user"), "GET")
assert.Equal(t, h != nil, true)
printHandler(h)
fmt.Println("/admin/info/user/detail", "GET")
h = tree.findPath(stringToArr("/admin/info/user/detail"), "GET")
assert.Equal(t, h != nil, true)
printHandler(h)
fmt.Println("=========== printChildren ===========")
tree.printChildren()
}
func printHandler(h []Handler) {
for _, value := range h {
value(&Context{})
}
}