github.com/10XDev/rclone@v1.52.3-0.20200626220027-16af9ab76b2a/fs/config/configmap/configmap_test.go (about) 1 package configmap 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 var ( 10 _ Mapper = Simple(nil) 11 _ Getter = Simple(nil) 12 _ Setter = Simple(nil) 13 ) 14 15 func TestConfigMapGet(t *testing.T) { 16 m := New() 17 18 value, found := m.Get("config1") 19 assert.Equal(t, "", value) 20 assert.Equal(t, false, found) 21 22 value, found = m.Get("config2") 23 assert.Equal(t, "", value) 24 assert.Equal(t, false, found) 25 26 m1 := Simple{ 27 "config1": "one", 28 } 29 30 m.AddGetter(m1) 31 32 value, found = m.Get("config1") 33 assert.Equal(t, "one", value) 34 assert.Equal(t, true, found) 35 36 value, found = m.Get("config2") 37 assert.Equal(t, "", value) 38 assert.Equal(t, false, found) 39 40 m2 := Simple{ 41 "config1": "one2", 42 "config2": "two2", 43 } 44 45 m.AddGetter(m2) 46 47 value, found = m.Get("config1") 48 assert.Equal(t, "one", value) 49 assert.Equal(t, true, found) 50 51 value, found = m.Get("config2") 52 assert.Equal(t, "two2", value) 53 assert.Equal(t, true, found) 54 55 } 56 57 func TestConfigMapSet(t *testing.T) { 58 m := New() 59 60 m1 := Simple{ 61 "config1": "one", 62 } 63 m2 := Simple{ 64 "config1": "one2", 65 "config2": "two2", 66 } 67 68 m.AddSetter(m1).AddSetter(m2) 69 70 m.Set("config2", "potato") 71 72 assert.Equal(t, Simple{ 73 "config1": "one", 74 "config2": "potato", 75 }, m1) 76 assert.Equal(t, Simple{ 77 "config1": "one2", 78 "config2": "potato", 79 }, m2) 80 81 m.Set("config1", "beetroot") 82 83 assert.Equal(t, Simple{ 84 "config1": "beetroot", 85 "config2": "potato", 86 }, m1) 87 assert.Equal(t, Simple{ 88 "config1": "beetroot", 89 "config2": "potato", 90 }, m2) 91 }