config_testing.go

 1package repository
 2
 3import (
 4	"testing"
 5
 6	"github.com/stretchr/testify/assert"
 7)
 8
 9func testConfig(t *testing.T, config Config) {
10	err := config.StoreString("section.key", "value")
11	assert.NoError(t, err)
12
13	val, err := config.ReadString("section.key")
14	assert.NoError(t, err)
15	assert.Equal(t, "value", val)
16
17	err = config.StoreString("section.true", "true")
18	assert.NoError(t, err)
19
20	val2, err := config.ReadBool("section.true")
21	assert.NoError(t, err)
22	assert.Equal(t, true, val2)
23
24	configs, err := config.ReadAll("section")
25	assert.NoError(t, err)
26	assert.Equal(t, map[string]string{
27		"section.key":  "value",
28		"section.true": "true",
29	}, configs)
30
31	err = config.RemoveAll("section.true")
32	assert.NoError(t, err)
33
34	configs, err = config.ReadAll("section")
35	assert.NoError(t, err)
36	assert.Equal(t, map[string]string{
37		"section.key": "value",
38	}, configs)
39
40	_, err = config.ReadBool("section.true")
41	assert.Equal(t, ErrNoConfigEntry, err)
42
43	err = config.RemoveAll("section.nonexistingkey")
44	assert.Error(t, err)
45
46	err = config.RemoveAll("section.key")
47	assert.NoError(t, err)
48
49	_, err = config.ReadString("section.key")
50	assert.Equal(t, ErrNoConfigEntry, err)
51
52	err = config.RemoveAll("nonexistingsection")
53	assert.Error(t, err)
54
55	err = config.RemoveAll("section")
56	assert.Error(t, err)
57
58	_, err = config.ReadString("section.key")
59	assert.Error(t, err)
60
61	err = config.RemoveAll("section.key")
62	assert.Error(t, err)
63}