aboutsummaryrefslogtreecommitdiffstats
path: root/repository/config_test.go
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2020-09-27 00:54:14 +0200
committerMichael Muré <batolettre@gmail.com>2020-09-29 20:42:21 +0200
commit71b7eb14010be0c7799b4d5394798c89e379891b (patch)
treef82d4b7bc6be5165c093d4feb18f5ee642c2c3e6 /repository/config_test.go
parentc87e9abacfbdc4f221e2e328d4b229d6191f42e9 (diff)
downloadgit-bug-71b7eb14010be0c7799b4d5394798c89e379891b.tar.gz
repo: implement local/global/any config everywhere
Diffstat (limited to 'repository/config_test.go')
-rw-r--r--repository/config_test.go54
1 files changed, 54 insertions, 0 deletions
diff --git a/repository/config_test.go b/repository/config_test.go
new file mode 100644
index 00000000..2a763540
--- /dev/null
+++ b/repository/config_test.go
@@ -0,0 +1,54 @@
+package repository
+
+import (
+ "testing"
+ "time"
+
+ "github.com/stretchr/testify/require"
+)
+
+func TestMergedConfig(t *testing.T) {
+ local := NewMemConfig()
+ global := NewMemConfig()
+ merged := mergeConfig(local, global)
+
+ require.NoError(t, global.StoreBool("bool", true))
+ require.NoError(t, global.StoreString("string", "foo"))
+ require.NoError(t, global.StoreTimestamp("timestamp", time.Unix(1234, 0)))
+
+ val1, err := merged.ReadBool("bool")
+ require.NoError(t, err)
+ require.Equal(t, val1, true)
+
+ val2, err := merged.ReadString("string")
+ require.NoError(t, err)
+ require.Equal(t, val2, "foo")
+
+ val3, err := merged.ReadTimestamp("timestamp")
+ require.NoError(t, err)
+ require.Equal(t, val3, time.Unix(1234, 0))
+
+ require.NoError(t, local.StoreBool("bool", false))
+ require.NoError(t, local.StoreString("string", "bar"))
+ require.NoError(t, local.StoreTimestamp("timestamp", time.Unix(5678, 0)))
+
+ val1, err = merged.ReadBool("bool")
+ require.NoError(t, err)
+ require.Equal(t, val1, false)
+
+ val2, err = merged.ReadString("string")
+ require.NoError(t, err)
+ require.Equal(t, val2, "bar")
+
+ val3, err = merged.ReadTimestamp("timestamp")
+ require.NoError(t, err)
+ require.Equal(t, val3, time.Unix(5678, 0))
+
+ all, err := merged.ReadAll("")
+ require.NoError(t, err)
+ require.Equal(t, all, map[string]string{
+ "bool": "false",
+ "string": "bar",
+ "timestamp": "5678",
+ })
+}