You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2021/12/10 18:35:42 UTC
[dubbo-go] branch 3.0 updated: support set nacos ContextPath (#1656)
This is an automated email from the ASF dual-hosted git repository.
alexstocks pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git
The following commit(s) were added to refs/heads/3.0 by this push:
new d411e11 support set nacos ContextPath (#1656)
d411e11 is described below
commit d411e1160840817307173ac810042bf514c0919e
Author: binbin.zhang <bb...@163.com>
AuthorDate: Sat Dec 11 02:35:31 2021 +0800
support set nacos ContextPath (#1656)
---
remoting/nacos/builder.go | 13 ++++++++--
remoting/nacos/builder_test.go | 58 +++++++++++++++++++++++++++---------------
2 files changed, 49 insertions(+), 22 deletions(-)
diff --git a/remoting/nacos/builder.go b/remoting/nacos/builder.go
index 6b846c0..204b986 100644
--- a/remoting/nacos/builder.go
+++ b/remoting/nacos/builder.go
@@ -69,8 +69,17 @@ func GetNacosConfig(url *common.URL) ([]nacosConstant.ServerConfig, nacosConstan
return []nacosConstant.ServerConfig{}, nacosConstant.ClientConfig{},
perrors.WithMessagef(err, "split [%s] ", addr)
}
- port, _ := strconv.Atoi(portStr)
- serverConfigs = append(serverConfigs, nacosConstant.ServerConfig{IpAddr: ip, Port: uint64(port)})
+ portContextPath := strings.Split(portStr, constant.PathSeparator)
+ port, err := strconv.Atoi(portContextPath[0])
+ if err != nil {
+ return []nacosConstant.ServerConfig{}, nacosConstant.ClientConfig{},
+ perrors.WithMessagef(err, "port [%s] ", portContextPath[0])
+ }
+ var contextPath string
+ if len(portContextPath) > 1 {
+ contextPath = constant.PathSeparator + strings.Join(portContextPath[1:], constant.PathSeparator)
+ }
+ serverConfigs = append(serverConfigs, nacosConstant.ServerConfig{IpAddr: ip, Port: uint64(port), ContextPath: contextPath})
}
timeout := url.GetParamDuration(constant.TimeoutKey, constant.DefaultRegTimeout)
diff --git a/remoting/nacos/builder_test.go b/remoting/nacos/builder_test.go
index a057e18..83a1006 100644
--- a/remoting/nacos/builder_test.go
+++ b/remoting/nacos/builder_test.go
@@ -34,26 +34,44 @@ import (
)
func TestNewNacosClient(t *testing.T) {
- rc := &config.RemoteConfig{}
- rc.Protocol = "nacos"
- rc.Username = "nacos"
- client, err := NewNacosClient(rc)
-
- // address is nil
- assert.Nil(t, client)
- assert.NotNil(t, err)
-
- rc.Address = "console.nacos.io:80:123"
- client, err = NewNacosClient(rc)
- // invalid address
- assert.Nil(t, client)
- assert.NotNil(t, err)
-
- rc.Address = "console.nacos.io:80"
- rc.Timeout = "10s"
- client, err = NewNacosClient(rc)
- assert.NotNil(t, client)
- assert.Nil(t, err)
+ t.Run("AddressIsNil", func(t *testing.T) {
+ rc := &config.RemoteConfig{}
+ rc.Protocol = "nacos"
+ rc.Username = "nacos"
+ client, err := NewNacosClient(rc)
+
+ // address is nil
+ assert.Nil(t, client)
+ assert.NotNil(t, err)
+ })
+
+ t.Run("InvalidAddress", func(t *testing.T) {
+ rc := &config.RemoteConfig{}
+ rc.Address = "console.nacos.io:80:123"
+ client, err := NewNacosClient(rc)
+ // invalid address
+ assert.Nil(t, client)
+ assert.NotNil(t, err)
+ })
+
+ t.Run("Normal", func(t *testing.T) {
+ rc := &config.RemoteConfig{}
+ rc.Address = "console.nacos.io:80"
+ rc.Protocol = "nacos"
+ rc.Timeout = "10s"
+ client, err := NewNacosClient(rc)
+ assert.NotNil(t, client)
+ assert.Nil(t, err)
+ })
+
+ t.Run("NormalHasContextPath", func(t *testing.T) {
+ rc := &config.RemoteConfig{}
+ rc.Address = "console.nacos.io:80/nacos"
+ rc.Protocol = "nacos"
+ client, err := NewNacosClient(rc)
+ assert.NotNil(t, client)
+ assert.Nil(t, err)
+ })
}
func TestGetNacosConfig(t *testing.T) {