package main import ( "encoding/json" "fmt" "log" "net/http" "net/http/httptest" ) func main() { gitea := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { log.Printf("Gitea mock: %s %s", r.Method, r.URL.Path) switch { case r.URL.Path == "/api/v1/repos/test-owner/yoresee_doc/branches/main": json.NewEncoder(w).Encode(map[string]interface{}{ "name": "main", "commit": map[string]string{"id": "abc123def456"}, }) case r.URL.Path == "/api/v1/user/repos": json.NewEncoder(w).Encode(map[string]interface{}{"name": "new-repo"}) default: w.WriteHeader(404) fmt.Fprintf(w, `{"message": "not found"}`) } })) defer gitea.Close() fmt.Printf("Mock Gitea running at: %s\n", fmt.Sprintf(`export GIT_BASE_URL=%s`, gitea.URL)) }