chore: 并入 iotlcm-admin-svr 历史到 admin-svr/(原提交 49818c6)
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
package fullsyncretry
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/gogf/gf/v2/errors/gcode"
|
||||
"github.com/gogf/gf/v2/errors/gerror"
|
||||
)
|
||||
|
||||
func TestListRunsAcceptsFiveKindsAndRejectsUnknownFilters(t *testing.T) {
|
||||
var filters []string
|
||||
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
filters = append(filters, r.URL.Query().Get("syncKind"))
|
||||
_, _ = w.Write([]byte(`{"items":null,"total":0}`))
|
||||
}))
|
||||
defer server.Close()
|
||||
client := Client{BaseURL: server.URL}
|
||||
kinds := []string{"", "traffic_usage", "sim_status", "imei", "traffic_usage_daily", "traffic_usage_monthly"}
|
||||
for i, kind := range kinds {
|
||||
result, err := client.ListRuns(context.Background(), kind, 100)
|
||||
if err != nil || result.Items == nil || len(filters) != i+1 || filters[i] != kind {
|
||||
t.Fatalf("kind=%q result=%+v filters=%v error=%v", kind, result, filters, err)
|
||||
}
|
||||
}
|
||||
for _, query := range []struct {
|
||||
kind string
|
||||
limit int
|
||||
}{{"unknown", 10}, {"IMEI", 10}, {"", -1}, {"imei", 101}} {
|
||||
if _, err := client.ListRuns(context.Background(), query.kind, query.limit); gerror.Code(err) != gcode.CodeInvalidParameter {
|
||||
t.Fatalf("invalid filter %+v: %v", query, err)
|
||||
}
|
||||
}
|
||||
if len(filters) != len(kinds) {
|
||||
t.Fatal("invalid filter reached Worker")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user