From d5a491ee51c978e9ef24e6e56fe7acf45d8a5346 Mon Sep 17 00:00:00 2001 From: Joe Zou <yixian.zou@gmail.com> Date: Mon, 3 Aug 2020 23:03:20 +0800 Subject: [PATCH] add case for this feature --- config/config_center_config.go | 2 +- config/config_center_config_test.go | 45 +++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/config/config_center_config.go b/config/config_center_config.go index a70415004..e42358201 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 ae653181e..3a08e0130 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) +} -- GitLab