package service import ( "net/http" "net/http/httptest" "strings" "testing" "github.com/gin-gonic/gin" ) func TestVersionCheckBindAllowsMissingVersion(t *testing.T) { ctx, _ := gin.CreateTestContext(httptest.NewRecorder()) ctx.Request, _ = http.NewRequest(http.MethodPost, "/api/v1/version/check", strings.NewReader(`{"platform":"wx","envVersion":"trial"}`)) ctx.Request.Header.Set("Content-Type", "application/json") var request VersionCheckService if err := ctx.ShouldBind(&request); err != nil { t.Fatalf("empty version should be accepted by the request binder: %v", err) } if request.Version != "" || request.Platform != "wx" || request.EnvVersion != "trial" { t.Fatalf("unexpected request values: %#v", request) } }