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 <[email protected]>
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) {