package handler import ( "encoding/json" "net/http" "net/http/httptest" "testing" "github.com/gin-gonic/gin" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func TestVersionHandler_GetVersion(t *testing.T) { gin.SetMode(gin.TestMode) h := NewVersionHandler() w := httptest.NewRecorder() c, _ := gin.CreateTestContext(w) c.Request = httptest.NewRequest(http.MethodGet, "/api/version", nil) h.GetVersion(c) assert.Equal(t, http.StatusOK, w.Code) var result map[string]string require.NoError(t, json.Unmarshal(w.Body.Bytes(), &result)) assert.Equal(t, "dev", result["version"]) assert.Equal(t, "unknown", result["commit"]) assert.Equal(t, "unknown", result["build_time"]) }