github.com/lucasscarioca/music-stash@v0.0.0-20230829021135-a8b8893b12a5/internal/routes/routes_test.go (about) 1 package routes 2 3 import ( 4 "net/http" 5 "net/http/httptest" 6 "os" 7 "strings" 8 "testing" 9 10 "github.com/labstack/echo/v4" 11 "github.com/lucasscarioca/music-stash/internal/routes/middlewares" 12 "github.com/stretchr/testify/assert" 13 ) 14 15 func init() { 16 if err := os.Chdir("../.."); err != nil { 17 panic(err) 18 } 19 } 20 21 func setupServerTest() *echo.Echo { 22 e := echo.New() 23 middlewares.Mount(e) 24 Mount(e) 25 return e 26 } 27 28 func TestIfServerIsRunning(t *testing.T) { 29 // Setup 30 e := setupServerTest() 31 req := httptest.NewRequest(http.MethodGet, "/ping", strings.NewReader("")) 32 rec := httptest.NewRecorder() 33 c := e.NewContext(req, rec) 34 // Assertions 35 if assert.NoError(t, pingHandler(c)) { 36 assert.Equal(t, http.StatusOK, rec.Code) 37 assert.Equal(t, "pong", rec.Body.String()) 38 } 39 }