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  }