2023-03-03 16:52:18 +08:00
|
|
|
// Package router ...
|
|
|
|
//
|
|
|
|
// Description : 路由注册单元测试
|
|
|
|
//
|
|
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
|
|
//
|
|
|
|
// Date : 2021-03-26 3:49 下午
|
|
|
|
package router
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net/http"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
|
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
)
|
|
|
|
|
|
|
|
// TestRegisterRouter ...
|
|
|
|
//
|
|
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
|
|
//
|
|
|
|
// Date : 3:50 下午 2021/3/26
|
|
|
|
func TestRegisterRouter(t *testing.T) {
|
|
|
|
r := gin.Default()
|
|
|
|
err := RegisterRouter(r, demoApiFunc(), &demoApi{}, &otherApi{}, nil)
|
|
|
|
assert.Nil(t, err, "路由注册异常 : %v", err)
|
|
|
|
}
|
|
|
|
|
2024-09-30 15:25:58 +08:00
|
|
|
func demoApiFunc() RegisterFunc {
|
2023-03-03 16:52:18 +08:00
|
|
|
return func() (method string, uri string, handlerFunc gin.HandlerFunc, middlewareList []gin.HandlerFunc) {
|
|
|
|
return http.MethodGet, "/api/func/test", func(context *gin.Context) {
|
|
|
|
|
|
|
|
}, nil
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
type demoApi struct {
|
|
|
|
}
|
|
|
|
|
|
|
|
func (d demoApi) GetMethod() string {
|
|
|
|
return http.MethodGet
|
|
|
|
}
|
|
|
|
|
|
|
|
func (d demoApi) GetURI() string {
|
|
|
|
return "/api/struct/test"
|
|
|
|
}
|
|
|
|
|
|
|
|
func (d demoApi) GetMiddleWareList() []gin.HandlerFunc {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (d demoApi) GetHandler() gin.HandlerFunc {
|
|
|
|
return func(context *gin.Context) {
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
type otherApi struct {
|
|
|
|
}
|
|
|
|
|
2024-09-30 15:25:58 +08:00
|
|
|
func (oa *otherApi) DemoApiFunc() RegisterFunc {
|
2023-03-03 16:52:18 +08:00
|
|
|
return func() (method string, uri string, handlerFunc gin.HandlerFunc, middlewareList []gin.HandlerFunc) {
|
|
|
|
return http.MethodGet, "/api/other/test", func(context *gin.Context) {
|
|
|
|
|
|
|
|
}, nil
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (oa *otherApi) Lala() {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
func (oa *otherApi) SelfApi() (method string, uri string, handlerFunc gin.HandlerFunc, middlewareList []gin.HandlerFunc) {
|
|
|
|
return http.MethodGet, "/api/other/self/test", func(context *gin.Context) {
|
|
|
|
|
|
|
|
}, nil
|
|
|
|
}
|