github.com/miguelgrubin/gin-boilerplate@v0.0.0-20231208120009-f8f00c6d4138/pkg/server_test.go (about)

     1  package pkg_test
     2  
     3  import (
     4  	"net/http"
     5  	"net/http/httptest"
     6  	"os"
     7  	"testing"
     8  
     9  	"github.com/gin-gonic/gin"
    10  	"github.com/miguelgrubin/gin-boilerplate/pkg"
    11  	"github.com/stretchr/testify/assert"
    12  )
    13  
    14  func createServerFixture(t *testing.T) *gin.Engine {
    15  	gin.SetMode(gin.TestMode)
    16  	os.Setenv("APP_ENV", "test")
    17  	router := pkg.SetupRouter()
    18  	return router
    19  }
    20  
    21  func TestHealthcheck(t *testing.T) {
    22  	router := createServerFixture(t)
    23  	w := httptest.NewRecorder()
    24  	req, _ := http.NewRequest("GET", "/health", nil)
    25  	router.ServeHTTP(w, req)
    26  
    27  	assert.Equal(t, 200, w.Code)
    28  	assert.Equal(t, "Health check!", w.Body.String())
    29  }