package api import ( "net/http" "net/http/httptest" "os" "testing" "npm/internal/config" "github.com/stretchr/testify/assert" ) var ( r = NewRouter() version = "3.0.0" commit = "abcdefgh" sentryDSN = "" ) // Tear up/down func TestMain(m *testing.M) { config.Init(&version, &commit, &sentryDSN) code := m.Run() os.Exit(code) } func TestGetHealthz(t *testing.T) { respRec := httptest.NewRecorder() req, _ := http.NewRequest("GET", "/api/", nil) r.ServeHTTP(respRec, req) assert.Equal(t, http.StatusOK, respRec.Code) assert.Contains(t, respRec.Body.String(), "healthy") } func TestNonExistent(t *testing.T) { respRec := httptest.NewRecorder() req, _ := http.NewRequest("GET", "/non-existent-endpoint", nil) r.ServeHTTP(respRec, req) assert.Equal(t, http.StatusNotFound, respRec.Code) assert.Equal(t, respRec.Body.String(), `{"result":null,"error":{"code":404,"message":"Not found"}}`, "404 Message should match") }