standardize naming

This commit is contained in:
tongjingran 2020-07-17 14:50:03 +08:00
parent 67e5906bd1
commit 627d7e14ee
3 changed files with 22 additions and 28 deletions

View File

@ -94,11 +94,6 @@ func TestClientAction(t *testing.T) {
service: Service{Name: "serviceErr", Address: profileErrMockSvr.URL},
res: "bad mode line: error",
},
{
service: Service{Name: "serviceErr", Address: profileErrMockSvr.URL},
param: ProfileParam{Force: true},
res: "no profiles",
},
{
service: Service{Name: "serviceNotExist", Address: "http://172.0.0.2:7777"},
res: "connection refused",

View File

@ -138,12 +138,13 @@ func profile(c *gin.Context) {
c.JSON(http.StatusExpectationFailed, gin.H{"error": "invalid param"})
return
}
svrList := removeDuplicateElement(c.QueryArray("service"))
addrList := removeDuplicateElement(c.QueryArray("address"))
svrsAll := DefaultStore.GetAll()
filterAddrList, err := filterAddrs(svrList, addrList, force, svrsAll)
serviceList := removeDuplicateElement(c.QueryArray("service"))
addressList := removeDuplicateElement(c.QueryArray("address"))
allInfos := DefaultStore.GetAll()
filterAddrList, err := filterAddrs(serviceList, addressList, force, allInfos)
if err != nil {
c.JSON(http.StatusExpectationFailed, gin.H{"error": err.Error()})
return
}
var mergedProfiles = make([][]*cover.Profile, 0)
@ -151,6 +152,7 @@ func profile(c *gin.Context) {
pp, err := NewWorker(addr).Profile(ProfileParam{})
if err != nil {
if force {
log.Warnf("get profile from [%s] failed, error: %s", addr, err.Error())
continue
}
c.JSON(http.StatusExpectationFailed, gin.H{"error": err.Error()})
@ -158,9 +160,6 @@ func profile(c *gin.Context) {
}
profile, err := convertProfile(pp)
if err != nil {
if force {
continue
}
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
@ -234,40 +233,41 @@ func contains(arr []string, str string) bool {
}
// filterAddrs filter address list by given service and address list
func filterAddrs(svrList, addrList []string, force bool, svrsAll map[string][]string) (addrs []string, err error) {
addrs = []string{}
addrAll := []string{}
for _, addr := range svrsAll {
addrAll = append(addrAll, addr...)
func filterAddrs(serviceList, addressList []string, force bool, allInfos map[string][]string) (filterAddrList []string, err error) {
addressAll := []string{}
for _, addr := range allInfos {
addressAll = append(addressAll, addr...)
}
if len(svrList) != 0 && len(addrList) != 0 {
if len(serviceList) != 0 && len(addressList) != 0 {
return nil, fmt.Errorf("use 'service' flag and 'address' flag at the same time may cause ambiguity, please use them separately")
}
// Add matched services to map
for _, name := range svrList {
if addr, ok := svrsAll[name]; ok {
addrs = append(addrs, addr...)
for _, name := range serviceList {
if addr, ok := allInfos[name]; ok {
filterAddrList = append(filterAddrList, addr...)
continue // jump to match the next service
}
if !force {
return nil, fmt.Errorf("service [%s] not found", name)
}
log.Warnf("service [%s] not found", name)
}
// Add matched addresses to map
for _, addr := range addrList {
if contains(addrAll, addr) {
addrs = append(addrs, addr)
for _, addr := range addressList {
if contains(addressAll, addr) {
filterAddrList = append(filterAddrList, addr)
continue
}
if !force {
return nil, fmt.Errorf("address [%s] not found", addr)
}
log.Warnf("address [%s] not found", addr)
}
if len(addrList) == 0 && len(svrList) == 0 {
addrs = addrAll
if len(addressList) == 0 && len(serviceList) == 0 {
filterAddrList = addressAll
}
// Return all servers when all param is nil
return addrs, nil
return filterAddrList, nil
}
// removeDuplicateElement remove duplicate element in slice

View File

@ -46,7 +46,6 @@ func TestFilterAddrs(t *testing.T) {
{
svrList: []string{"unknown"},
force: true,
addrRes: []string{},
},
{
addrList: []string{"http://127.0.0.1:7777", "http://127.0.0.2:7777"},