init: hgmj server initial commit
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -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)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user