init: hgmj server initial commit

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-10-08 16:50:13 +08:00
co-authored by Claude Opus 4.7
commit 625e89c15d
1870 changed files with 254090 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
package reportser
import (
"fmt"
"net/http"
"net/http/httptest"
"testing"
)
func TestFetchSDKDomainConfig(t *testing.T) {
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodGet {
w.WriteHeader(http.StatusMethodNotAllowed)
return
}
_, _ = fmt.Fprint(w, `{"code":0,"msg":"success","data":"domain-config"}`)
}))
defer server.Close()
got, err := fetchSDKDomainConfig(server.URL, server.Client())
if err != nil {
t.Fatalf("fetchSDKDomainConfig error = %v", err)
}
if got != "domain-config" {
t.Fatalf("data = %q, want domain-config", got)
}
}
func TestFetchSDKDomainConfigRejectsFailedResponse(t *testing.T) {
for _, tc := range []struct {
name string
body string
}{
{name: "non-zero code", body: `{"code":1,"msg":"fail","data":"domain-config"}`},
{name: "empty data", body: `{"code":0,"msg":"success","data":""}`},
} {
t.Run(tc.name, func(t *testing.T) {
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
_, _ = fmt.Fprint(w, tc.body)
}))
defer server.Close()
if got, err := fetchSDKDomainConfig(server.URL, server.Client()); err == nil {
t.Fatalf("fetchSDKDomainConfig = %q, want error", got)
}
})
}
}