Skip to content

Commit 3d5090a

Browse files
authored
feat: GetInstances接口过滤条件为可选 (polarismesh#1081)
1 parent dad9aac commit 3d5090a

File tree

2 files changed

+31
-11
lines changed

2 files changed

+31
-11
lines changed

service/instance.go

-8
Original file line numberDiff line numberDiff line change
@@ -1169,14 +1169,6 @@ func preGetInstances(query map[string]string) (map[string]string, map[string]str
11691169
if len(query) == 0 {
11701170
return nil, nil, api.NewBatchQueryResponse(apimodel.Code_EmptyQueryParameter)
11711171
}
1172-
_, serviceIsAvail := query["service"]
1173-
_, namespaceIsAvail := query["namespace"]
1174-
_, hostIsAvail := query["host"]
1175-
_, idIsAvail := query["id"]
1176-
// service namespace host 三个必须最少传一个
1177-
if !(serviceIsAvail || namespaceIsAvail || hostIsAvail || idIsAvail) {
1178-
return nil, nil, api.NewBatchQueryResponse(apimodel.Code_InvalidQueryInsParameter)
1179-
}
11801172

11811173
var metaFilter map[string]string
11821174
metaKey, metaKeyAvail := query["keys"]

service/instance_test.go

+31-3
Original file line numberDiff line numberDiff line change
@@ -664,20 +664,48 @@ func TestListInstances(t *testing.T) {
664664

665665
_ = discoverSuit.DiscoverServer().Cache().TestUpdate()
666666
total := 50
667+
var responses []*apiservice.Instance
667668
for i := 0; i < total; i++ {
668669
_, instanceResp := discoverSuit.createCommonInstance(t, serviceResp, i+1)
669-
defer discoverSuit.cleanInstance(instanceResp.GetId().GetValue())
670+
responses = append(responses, instanceResp)
670671
}
672+
defer func() {
673+
for _, resp := range responses {
674+
discoverSuit.cleanInstance(resp.GetId().GetValue())
675+
}
676+
}()
671677

672678
query := map[string]string{"offset": "10", "limit": "20", "host": "127.0.0.1"}
673679
resp := discoverSuit.DiscoverServer().GetInstances(discoverSuit.DefaultCtx, query)
674680
if !respSuccess(resp) {
675681
t.Fatalf("error: %s", resp.GetInfo().GetValue())
676682
}
683+
assert.Equal(t, 20, len(resp.Instances))
684+
})
677685

678-
if len(resp.Instances) == 20 {
679-
t.Logf("pass")
686+
t.Run("list全部实例列表", func(t *testing.T) {
687+
_, serviceResp := discoverSuit.createCommonService(t, 116)
688+
defer discoverSuit.cleanServiceName(serviceResp.GetName().GetValue(), serviceResp.GetNamespace().GetValue())
689+
690+
time.Sleep(discoverSuit.UpdateCacheInterval())
691+
total := 100
692+
var responses []*apiservice.Instance
693+
for i := 0; i < total; i++ {
694+
_, instanceResp := discoverSuit.createCommonInstance(t, serviceResp, i+1)
695+
responses = append(responses, instanceResp)
696+
}
697+
defer func() {
698+
for _, resp := range responses {
699+
discoverSuit.cleanInstance(resp.GetId().GetValue())
700+
}
701+
}()
702+
703+
query := map[string]string{"offset": "0", "limit": "200"}
704+
resp := discoverSuit.DiscoverServer().GetInstances(discoverSuit.DefaultCtx, query)
705+
if !respSuccess(resp) {
706+
t.Fatalf("error: %s", resp.GetInfo().GetValue())
680707
}
708+
assert.Equal(t, total, len(resp.Instances))
681709
})
682710

683711
t.Run("list实例列表,可以进行正常字段过滤", func(t *testing.T) {

0 commit comments

Comments
 (0)