fix: remove deprecated dependencies (#1837)

* fix: remove deprecated dependencies

* backup

* fix test error
This commit is contained in:
Kevin Wan
2022-04-27 21:34:54 +08:00
committed by GitHub
parent c3a49ece8d
commit f7a60cdc24
11 changed files with 154 additions and 53 deletions

View File

@@ -5,6 +5,7 @@ import (
"strconv"
"strings"
"github.com/zeromicro/go-zero/zrpc/resolver/internal/targets"
"google.golang.org/grpc/resolver"
)
@@ -25,14 +26,15 @@ type Service struct {
// ParseTarget parses the resolver.Target.
func ParseTarget(target resolver.Target) (Service, error) {
var service Service
service.Namespace = target.Authority
service.Namespace = targets.GetAuthority(target)
if len(service.Namespace) == 0 {
service.Namespace = defaultNamespace
}
segs := strings.SplitN(target.Endpoint, colon, 2)
endpoints := targets.GetEndpoints(target)
segs := strings.SplitN(endpoints, colon, 2)
if len(segs) < 2 {
return emptyService, fmt.Errorf("bad endpoint: %s", target.Endpoint)
return emptyService, fmt.Errorf("bad endpoint: %s", endpoints)
}
service.Name = segs[0]

View File

@@ -1,6 +1,7 @@
package kube
import (
"net/url"
"testing"
"github.com/stretchr/testify/assert"
@@ -10,17 +11,13 @@ import (
func TestParseTarget(t *testing.T) {
tests := []struct {
name string
input resolver.Target
input string
expect Service
hasErr bool
}{
{
name: "normal case",
input: resolver.Target{
Scheme: "k8s",
Authority: "ns1",
Endpoint: "my-svc:8080",
},
name: "normal case",
input: "k8s://ns1/my-svc:8080",
expect: Service{
Namespace: "ns1",
Name: "my-svc",
@@ -28,12 +25,8 @@ func TestParseTarget(t *testing.T) {
},
},
{
name: "normal case",
input: resolver.Target{
Scheme: "k8s",
Authority: "",
Endpoint: "my-svc:8080",
},
name: "normal case",
input: "k8s:///my-svc:8080",
expect: Service{
Namespace: defaultNamespace,
Name: "my-svc",
@@ -41,37 +34,27 @@ func TestParseTarget(t *testing.T) {
},
},
{
name: "no port",
input: resolver.Target{
Scheme: "k8s",
Authority: "ns1",
Endpoint: "my-svc:",
},
name: "no port",
input: "k8s://ns1/my-svc:",
hasErr: true,
},
{
name: "no port, no colon",
input: resolver.Target{
Scheme: "k8s",
Authority: "ns1",
Endpoint: "my-svc",
},
name: "no port, no colon",
input: "k8s://ns1/my-svc",
hasErr: true,
},
{
name: "bad port",
input: resolver.Target{
Scheme: "k8s",
Authority: "ns1",
Endpoint: "my-svc:800a",
},
name: "bad port",
input: "k8s://ns1/my-svc:800a",
hasErr: true,
},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
svc, err := ParseTarget(test.input)
uri, err := url.Parse(test.input)
assert.Nil(t, err)
svc, err := ParseTarget(resolver.Target{URL: *uri})
if test.hasErr {
assert.NotNil(t, err)
} else {