From aee734769d84f6999a40e30aed54f717e8b5f757 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=88=90=E9=94=B4?= Date: Wed, 12 Oct 2022 16:24:27 +0800 Subject: [PATCH 1/2] Fix test error --- swagger_test.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/swagger_test.go b/swagger_test.go index 337cc8e..ca1e0de 100644 --- a/swagger_test.go +++ b/swagger_test.go @@ -80,6 +80,9 @@ func TestDisablingWrapHandler(t *testing.T) { router := gin.New() disablingKey := "SWAGGER_DISABLE" + doc := &mockedSwag{} + swag.Register(swag.Name, doc) + router.GET("/simple/*any", DisablingWrapHandler(swaggerFiles.Handler, disablingKey)) assert.Equal(t, http.StatusOK, performRequest(http.MethodGet, "/simple/index.html", router).Code) From 3c34932ce3f27e8fad2bfa851749620fa332ff89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=88=90=E9=94=B4?= Date: Wed, 12 Oct 2022 08:56:40 +0000 Subject: [PATCH 2/2] Fix test error --- swagger_test.go | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/swagger_test.go b/swagger_test.go index ca1e0de..dd75f74 100644 --- a/swagger_test.go +++ b/swagger_test.go @@ -5,6 +5,7 @@ import ( "net/http" "net/http/httptest" "os" + "sync" "testing" "github.com/gin-contrib/gzip" @@ -22,6 +23,17 @@ func (s *mockedSwag) ReadDoc() string { }` } +var ( + once sync.Once + doc = &mockedSwag{} +) + +func regDoc() { + once.Do(func() { + swag.Register(swag.Name, doc) + }) +} + func TestWrapHandler(t *testing.T) { gin.SetMode(gin.TestMode) router := gin.New() @@ -32,6 +44,8 @@ func TestWrapHandler(t *testing.T) { } func TestWrapCustomHandler(t *testing.T) { + regDoc() + gin.SetMode(gin.TestMode) router := gin.New() @@ -41,10 +55,7 @@ func TestWrapCustomHandler(t *testing.T) { assert.Equal(t, http.StatusOK, w1.Code) assert.Equal(t, w1.Header()["Content-Type"][0], "text/html; charset=utf-8") - assert.Equal(t, http.StatusInternalServerError, performRequest(http.MethodGet, "/doc.json", router).Code) - - doc := &mockedSwag{} - swag.Register(swag.Name, doc) + assert.Equal(t, http.StatusOK, performRequest(http.MethodGet, "/doc.json", router).Code) w2 := performRequest(http.MethodGet, "/doc.json", router) assert.Equal(t, http.StatusOK, w2.Code) @@ -75,14 +86,13 @@ func TestWrapCustomHandler(t *testing.T) { } func TestDisablingWrapHandler(t *testing.T) { + regDoc() + gin.SetMode(gin.TestMode) router := gin.New() disablingKey := "SWAGGER_DISABLE" - doc := &mockedSwag{} - swag.Register(swag.Name, doc) - router.GET("/simple/*any", DisablingWrapHandler(swaggerFiles.Handler, disablingKey)) assert.Equal(t, http.StatusOK, performRequest(http.MethodGet, "/simple/index.html", router).Code) @@ -119,6 +129,8 @@ func TestDisablingCustomWrapHandler(t *testing.T) { } func TestWithGzipMiddleware(t *testing.T) { + regDoc() + gin.SetMode(gin.TestMode) router := gin.New()