mirror of
https://github.com/astaxie/beego.git
synced 2025-06-12 10:00:41 +00:00
Fix UT
This commit is contained in:
@ -492,15 +492,15 @@ func Handler(rootpath string, h http.Handler, options ...interface{}) *App {
|
||||
// The pos means action constant including
|
||||
// beego.BeforeStatic, beego.BeforeRouter, beego.BeforeExec, beego.AfterExec and beego.FinishRouter.
|
||||
// The bool params is for setting the returnOnOutput value (false allows multiple filters to execute)
|
||||
func InsertFilter(pattern string, pos int, filter FilterFunc, params ...bool) *App {
|
||||
BeeApp.Handlers.InsertFilter(pattern, pos, filter, params...)
|
||||
func InsertFilter(pattern string, pos int, filter FilterFunc, opts ...FilterOpt) *App {
|
||||
BeeApp.Handlers.InsertFilter(pattern, pos, filter, opts...)
|
||||
return BeeApp
|
||||
}
|
||||
|
||||
// InsertFilterChain adds a FilterFunc built by filterChain.
|
||||
// This filter will be executed before all filters.
|
||||
// the filter's behavior is like stack
|
||||
func InsertFilterChain(pattern string, filterChain FilterChain, params ...bool) *App {
|
||||
BeeApp.Handlers.InsertFilterChain(pattern, filterChain, params...)
|
||||
func InsertFilterChain(pattern string, filterChain FilterChain, opts ...FilterOpt) *App {
|
||||
BeeApp.Handlers.InsertFilterChain(pattern, filterChain, opts...)
|
||||
return BeeApp
|
||||
}
|
||||
|
@ -45,13 +45,14 @@ type FilterRouter struct {
|
||||
// 2. determining whether or not params need to be reset.
|
||||
func newFilterRouter(pattern string, filter FilterFunc, opts ...FilterOpt) *FilterRouter {
|
||||
mr := &FilterRouter{
|
||||
tree: NewTree(),
|
||||
pattern: pattern,
|
||||
filterFunc: filter,
|
||||
returnOnOutput: true,
|
||||
tree: NewTree(),
|
||||
pattern: pattern,
|
||||
filterFunc: filter,
|
||||
}
|
||||
|
||||
fos := &filterOpts{}
|
||||
fos := &filterOpts{
|
||||
returnOnOutput: true,
|
||||
}
|
||||
|
||||
for _, o := range opts {
|
||||
o(fos)
|
||||
|
@ -91,7 +91,7 @@ func (n *Namespace) Filter(action string, filter ...FilterFunc) *Namespace {
|
||||
a = FinishRouter
|
||||
}
|
||||
for _, f := range filter {
|
||||
n.handlers.InsertFilter("*", a, f)
|
||||
n.handlers.InsertFilter("*", a, f, WithReturnOnOutput(true))
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
@ -423,7 +423,7 @@ func TestInsertFilter(t *testing.T) {
|
||||
testName := "TestInsertFilter"
|
||||
|
||||
mux := NewControllerRegister()
|
||||
mux.InsertFilter("*", BeforeRouter, func(*context.Context) {})
|
||||
mux.InsertFilter("*", BeforeRouter, func(*context.Context) {}, WithReturnOnOutput(true))
|
||||
if !mux.filters[BeforeRouter][0].returnOnOutput {
|
||||
t.Errorf(
|
||||
"%s: passing no variadic params should set returnOnOutput to true",
|
||||
@ -436,7 +436,7 @@ func TestInsertFilter(t *testing.T) {
|
||||
}
|
||||
|
||||
mux = NewControllerRegister()
|
||||
mux.InsertFilter("*", BeforeRouter, func(*context.Context) {}, false)
|
||||
mux.InsertFilter("*", BeforeRouter, func(*context.Context) {}, WithReturnOnOutput(false))
|
||||
if mux.filters[BeforeRouter][0].returnOnOutput {
|
||||
t.Errorf(
|
||||
"%s: passing false as 1st variadic param should set returnOnOutput to false",
|
||||
@ -444,7 +444,7 @@ func TestInsertFilter(t *testing.T) {
|
||||
}
|
||||
|
||||
mux = NewControllerRegister()
|
||||
mux.InsertFilter("*", BeforeRouter, func(*context.Context) {}, true, true)
|
||||
mux.InsertFilter("*", BeforeRouter, func(*context.Context) {}, WithReturnOnOutput(true), WithResetParams(true))
|
||||
if !mux.filters[BeforeRouter][0].resetParams {
|
||||
t.Errorf(
|
||||
"%s: passing true as 2nd variadic param should set resetParams to true",
|
||||
@ -461,7 +461,7 @@ func TestParamResetFilter(t *testing.T) {
|
||||
|
||||
mux := NewControllerRegister()
|
||||
|
||||
mux.InsertFilter("*", BeforeExec, beegoResetParams, true, true)
|
||||
mux.InsertFilter("*", BeforeExec, beegoResetParams, WithReturnOnOutput(true), WithResetParams(true))
|
||||
|
||||
mux.Get(route, beegoHandleResetParams)
|
||||
|
||||
@ -514,8 +514,8 @@ func TestFilterBeforeExec(t *testing.T) {
|
||||
url := "/beforeExec"
|
||||
|
||||
mux := NewControllerRegister()
|
||||
mux.InsertFilter(url, BeforeRouter, beegoFilterNoOutput)
|
||||
mux.InsertFilter(url, BeforeExec, beegoBeforeExec1)
|
||||
mux.InsertFilter(url, BeforeRouter, beegoFilterNoOutput, WithReturnOnOutput(true))
|
||||
mux.InsertFilter(url, BeforeExec, beegoBeforeExec1, WithReturnOnOutput(true))
|
||||
|
||||
mux.Get(url, beegoFilterFunc)
|
||||
|
||||
@ -542,7 +542,7 @@ func TestFilterAfterExec(t *testing.T) {
|
||||
mux := NewControllerRegister()
|
||||
mux.InsertFilter(url, BeforeRouter, beegoFilterNoOutput)
|
||||
mux.InsertFilter(url, BeforeExec, beegoFilterNoOutput)
|
||||
mux.InsertFilter(url, AfterExec, beegoAfterExec1, false)
|
||||
mux.InsertFilter(url, AfterExec, beegoAfterExec1, WithReturnOnOutput(false))
|
||||
|
||||
mux.Get(url, beegoFilterFunc)
|
||||
|
||||
@ -570,10 +570,10 @@ func TestFilterFinishRouter(t *testing.T) {
|
||||
url := "/finishRouter"
|
||||
|
||||
mux := NewControllerRegister()
|
||||
mux.InsertFilter(url, BeforeRouter, beegoFilterNoOutput)
|
||||
mux.InsertFilter(url, BeforeExec, beegoFilterNoOutput)
|
||||
mux.InsertFilter(url, AfterExec, beegoFilterNoOutput)
|
||||
mux.InsertFilter(url, FinishRouter, beegoFinishRouter1)
|
||||
mux.InsertFilter(url, BeforeRouter, beegoFilterNoOutput, WithReturnOnOutput(true))
|
||||
mux.InsertFilter(url, BeforeExec, beegoFilterNoOutput, WithReturnOnOutput(true))
|
||||
mux.InsertFilter(url, AfterExec, beegoFilterNoOutput, WithReturnOnOutput(true))
|
||||
mux.InsertFilter(url, FinishRouter, beegoFinishRouter1, WithReturnOnOutput(true))
|
||||
|
||||
mux.Get(url, beegoFilterFunc)
|
||||
|
||||
@ -604,7 +604,7 @@ func TestFilterFinishRouterMultiFirstOnly(t *testing.T) {
|
||||
url := "/finishRouterMultiFirstOnly"
|
||||
|
||||
mux := NewControllerRegister()
|
||||
mux.InsertFilter(url, FinishRouter, beegoFinishRouter1, false)
|
||||
mux.InsertFilter(url, FinishRouter, beegoFinishRouter1, WithReturnOnOutput(false))
|
||||
mux.InsertFilter(url, FinishRouter, beegoFinishRouter2)
|
||||
|
||||
mux.Get(url, beegoFilterFunc)
|
||||
@ -631,8 +631,8 @@ func TestFilterFinishRouterMulti(t *testing.T) {
|
||||
url := "/finishRouterMulti"
|
||||
|
||||
mux := NewControllerRegister()
|
||||
mux.InsertFilter(url, FinishRouter, beegoFinishRouter1, false)
|
||||
mux.InsertFilter(url, FinishRouter, beegoFinishRouter2, false)
|
||||
mux.InsertFilter(url, FinishRouter, beegoFinishRouter1, WithReturnOnOutput(false))
|
||||
mux.InsertFilter(url, FinishRouter, beegoFinishRouter2, WithReturnOnOutput(false))
|
||||
|
||||
mux.Get(url, beegoFilterFunc)
|
||||
|
||||
|
Reference in New Issue
Block a user