dubbo.apache.org/dubbo-go/v3@v3.1.1/config/remote_config_test.go (about) 1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package config 19 20 import ( 21 "testing" 22 "time" 23 ) 24 25 import ( 26 "github.com/stretchr/testify/assert" 27 ) 28 29 import ( 30 "dubbo.apache.org/dubbo-go/v3/common/constant" 31 ) 32 33 func TestRemoteConfig_GetParam(t *testing.T) { 34 rc := &RemoteConfig{ 35 Params: make(map[string]string, 1), 36 } 37 38 def := "default value" 39 key := "key" 40 value := rc.GetParam(key, def) 41 assert.Equal(t, def, value) 42 43 actualVal := "actual value" 44 rc.Params[key] = actualVal 45 46 value = rc.GetParam(key, def) 47 assert.Equal(t, actualVal, value) 48 } 49 50 func TestNewRemoteConfigBuilder(t *testing.T) { 51 config := NewRemoteConfigBuilder(). 52 SetProtocol("nacos"). 53 SetAddress("127.0.0.1:8848"). 54 SetTimeout("10s"). 55 SetUsername("nacos"). 56 SetPassword("nacos"). 57 SetParams(map[string]string{"timeout": "3s"}). 58 AddParam("timeout", "15s"). 59 Build() 60 61 values := config.getUrlMap() 62 assert.Equal(t, values.Get("timeout"), "15s") 63 64 url, err := config.ToURL() 65 assert.NoError(t, err) 66 assert.Equal(t, url.GetParam("timeout", "3s"), "15s") 67 68 err = config.Init() 69 assert.NoError(t, err) 70 71 timeout := config.GetTimeout() 72 assert.Equal(t, timeout, 10*time.Second) 73 assert.Equal(t, config.Prefix(), constant.RemotePrefix) 74 75 param := config.GetParam("timeout", "3s") 76 assert.Equal(t, param, "15s") 77 }