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}