diff --git a/config/config_center_config.go b/config/config_center_config.go index a70415004c8ca194872db15c57b731dcce718fd1..e42358201247b0c657b28998775e99dc59982f96 100644 --- a/config/config_center_config.go +++ b/config/config_center_config.go @@ -89,7 +89,7 @@ func (c *ConfigCenterConfig) GetUrlMap() url.Values { type configCenter struct { } -// toURL will compatible with baseConfig.ConfigCenterConfig.Address before 1.6.0 +// toURL will compatible with baseConfig.ConfigCenterConfig.Address and baseConfig.ConfigCenterConfig.RemoteRef before 1.6.0 // After 1.6.0 will not compatible, only baseConfig.ConfigCenterConfig.RemoteRef func (b *configCenter) toURL(baseConfig BaseConfig) (common.URL, error) { if len(baseConfig.ConfigCenterConfig.Address) > 0 { diff --git a/config/config_center_config_test.go b/config/config_center_config_test.go index ae653181e99e6dc0f371948434c7b5b5fed18d3e..3a08e013028a5567a056dc1095d6ecf7763bf6e8 100644 --- a/config/config_center_config_test.go +++ b/config/config_center_config_test.go @@ -49,3 +49,48 @@ func TestStartConfigCenter(t *testing.T) { assert.True(t, b) assert.Equal(t, "ikurento.com", v) } + +func TestStartConfigCenterWithRemoteRef(t *testing.T) { + extension.SetConfigCenterFactory("mock", func() config_center.DynamicConfigurationFactory { + return &config_center.MockDynamicConfigurationFactory{} + }) + m := make(map[string]*RemoteConfig) + m["mock"] = &RemoteConfig{Address: "172.0.0.1"} + baseConfig = &BaseConfig{ + Remotes: m, + ConfigCenterConfig: &ConfigCenterConfig{ + Protocol: "mock", + Group: "dubbo", + RemoteRef: "mock", + ConfigFile: "mockDubbo.properties", + }} + + c := &configCenter{} + err := c.startConfigCenter(*baseConfig) + assert.NoError(t, err) + b, v := config.GetEnvInstance().Configuration().Back().Value.(*config.InmemoryConfiguration).GetProperty("dubbo.application.organization") + assert.True(t, b) + assert.Equal(t, "ikurento.com", v) + + baseConfig = nil +} + +func TestStartConfigCenterWithRemoteRefError(t *testing.T) { + extension.SetConfigCenterFactory("mock", func() config_center.DynamicConfigurationFactory { + return &config_center.MockDynamicConfigurationFactory{} + }) + m := make(map[string]*RemoteConfig) + m["mock"] = &RemoteConfig{Address: "172.0.0.1"} + baseConfig := &BaseConfig{ + Remotes: m, + ConfigCenterConfig: &ConfigCenterConfig{ + Protocol: "mock", + Group: "dubbo", + RemoteRef: "mock", + ConfigFile: "mockDubbo.properties", + }} + + c := &configCenter{} + err := c.startConfigCenter(*baseConfig) + assert.Error(t, err) +}