Files
hjsq_server/app/service/reportser/sdk_config_test.go
2026-10-08 16:50:13 +08:00

49 lines
1.3 KiB
Go

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)
}
})
}
}