package apis import ( "clortho/lib/db" "fmt" "github.com/gin-gonic/gin" "github.com/stretchr/testify/assert" "net/http" "net/http/httptest" "os" "testing" ) func TestMain(m *testing.M) { // Set up test database file os.Setenv("CLORTHO_DB_FILE", "clortho_test.db") // Global setup fmt.Println("Setting up resources...") db.InitDb() defer db.ResetDb() exitCode := m.Run() // Run all tests // Global teardown fmt.Println("Cleaning up resources...") os.Exit(exitCode) } func TestPingRoute(t *testing.T) { r := gin.Default() SetupRouter(r, nil) w := httptest.NewRecorder() req, _ := http.NewRequest("GET", "/ping", nil) r.ServeHTTP(w, req) assert.Equal(t, 200, w.Code) assert.JSONEq(t, `{"message": "pong"}`, w.Body.String()) }