gin-swagger/swagger_test.go

77 lines
2.0 KiB
Go
Raw Normal View History

2017-06-25 09:23:11 +00:00
package ginSwagger
import (
2017-08-04 03:22:19 +00:00
"net/http/httptest"
2018-09-26 02:28:12 +00:00
"os"
2017-08-04 03:22:19 +00:00
"testing"
2017-06-25 09:23:11 +00:00
"github.com/gin-gonic/gin"
"github.com/stretchr/testify/assert"
2017-07-06 16:57:54 +00:00
"github.com/swaggo/gin-swagger/swaggerFiles"
2017-06-25 09:23:11 +00:00
2017-07-06 16:57:54 +00:00
_ "github.com/swaggo/gin-swagger/example/docs"
2017-06-25 09:23:11 +00:00
)
func TestWrapHandler(t *testing.T) {
gin.SetMode(gin.TestMode)
router := gin.New()
router.GET("/*any", WrapHandler(&Config{}, swaggerFiles.Handler))
2017-06-25 09:23:11 +00:00
w1 := performRequest("GET", "/index.html", router)
assert.Equal(t, 200, w1.Code)
w2 := performRequest("GET", "/doc.json", router)
assert.Equal(t, 200, w2.Code)
w3 := performRequest("GET", "/favicon-16x16.png", router)
assert.Equal(t, 200, w3.Code)
w4 := performRequest("GET", "/notfound", router)
assert.Equal(t, 404, w4.Code)
2018-09-26 02:28:12 +00:00
}
func TestDisablingWrapHandler(t *testing.T) {
gin.SetMode(gin.TestMode)
router := gin.New()
disablingKey := "SWAGGER_DISABLE"
router.GET("/simple/*any", DisablingWrapHandler(&Config{}, swaggerFiles.Handler, disablingKey))
2018-09-26 02:28:12 +00:00
w1 := performRequest("GET", "/simple/index.html", router)
assert.Equal(t, 200, w1.Code)
w2 := performRequest("GET", "/simple/doc.json", router)
assert.Equal(t, 200, w2.Code)
w3 := performRequest("GET", "/simple/favicon-16x16.png", router)
assert.Equal(t, 200, w3.Code)
w4 := performRequest("GET", "/simple/notfound", router)
assert.Equal(t, 404, w4.Code)
os.Setenv(disablingKey, "true")
router.GET("/disabling/*any", DisablingWrapHandler(&Config{}, swaggerFiles.Handler, disablingKey))
2018-09-26 02:28:12 +00:00
w11 := performRequest("GET", "/disabling/index.html", router)
assert.Equal(t, 404, w11.Code)
w22 := performRequest("GET", "/disabling/doc.json", router)
assert.Equal(t, 404, w22.Code)
w33 := performRequest("GET", "/disabling/favicon-16x16.png", router)
assert.Equal(t, 404, w33.Code)
2017-06-25 09:23:11 +00:00
2018-09-26 02:28:12 +00:00
w44 := performRequest("GET", "/disabling/notfound", router)
assert.Equal(t, 404, w44.Code)
2017-06-25 09:23:11 +00:00
}
func performRequest(method, target string, router *gin.Engine) *httptest.ResponseRecorder {
r := httptest.NewRequest(method, target, nil)
w := httptest.NewRecorder()
router.ServeHTTP(w, r)
return w
}