feat: add scoped workflow instance queries and SDK pagination
This commit is contained in:
21
internal/transport/httpserver/workflow_query_test.go
Normal file
21
internal/transport/httpserver/workflow_query_test.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package httpserver
|
||||
|
||||
import (
|
||||
"net/http/httptest"
|
||||
"net/url"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestWorkflowListQueryStrictFilters(t *testing.T) {
|
||||
for _, query := range []string{"limit=0", "limit=", "limit=x", "state=", "state=RUNNING&state=WAITING", "paused=0", "paused=True", "unknown=x", "business_key=", "created_from=tomorrow", "version=%zz", "state=WAITING;limit=2"} {
|
||||
r := httptest.NewRequest("GET", "/v1/workflows?"+query, nil)
|
||||
if _, err := workflowListQuery(r); err == nil {
|
||||
t.Fatal("accepted", query)
|
||||
}
|
||||
}
|
||||
q := url.Values{"business_key": {"关联 +/%\n "}, "paused": {"false"}, "created_from": {"2026-09-18T08:00:00.123456+08:00"}, "limit": {"2"}}
|
||||
in, err := workflowListQuery(httptest.NewRequest("GET", "/v1/workflows?"+q.Encode(), nil))
|
||||
if err != nil || in.BusinessKey != q.Get("business_key") || in.Paused == nil || *in.Paused || in.Limit != 2 || in.CreatedFrom.UTC().Hour() != 0 {
|
||||
t.Fatal(in, err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user